0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用MQTT在任何地方访问任何物联网事物

星星科技指导员 来源:嵌入式计算设计 作者:David Brook 2022-09-17 17:50 次阅读

无论物联网是如何配置的,都会有许多支持微控制器的设备分布在连接到基于云的数据中心的大面积区域。为实现这一目标,工程师需要一种小型、简单、稳健且安全的连接协议。

迎接这一挑战的主要候选人是 MQTT,或消息队列遥测传输。MQTT 是一个简单的协议,它允许嵌入式设备在云中发布/接收消息。与 HTTP 等协议相比,它的数据包开销最小,因此非常高效,适合低功耗环境。

MQTT 发布/订阅系统由许多客户端组成,这些客户端连接到充当代理的服务器。客户端既是 MQTT 数据的生产者,也是消费者。图 1 展示了一个简单的 MQTT 发布/订阅事务。MQTT 消息传递协议是围绕几个基本原则构建的:

消息代理充当多个订阅者之间的中介。它是一个服务器和一个集中的系统,通过它传递客户端数据。

发布和订阅元素永远不需要连接。

订阅者订阅一个或多个主题。

一条发布的消息可以发送给有兴趣接收有关某个主题的信息的许多订阅者。

订阅者可以接收来自多个发布者的消息。

订阅者可以随时取消订阅主题。

pYYBAGMVxpaAb0cQAABy-RVi9ZA644.png

【图1 | 一个简单的发布和订阅操作]

客户端使用应用程序定义的“主题”向代理发布自由格式的数据。代理将数据传输到订阅该主题的所有客户端。使用通配符,单个订阅可能会导致接收来自多个客户端的数据。类似地,来自单个发布操作的数据可能会转发给许多客户端。

用户手机上的应用程序请求汽车锁定主题“Message_Car001”的车门。

经纪人收到请求。

Car001 通过订阅接收消息。

汽车锁门并发送确认信息。

应用程序收到确认。

消息负载包含锁定门的指令。可以通过相同的发布/订阅系统发送一系列其他指令。

【图2 | 这是如何使用 MQTT 监视和控制汽车锁定系统。]

MQTT 提供了三个服务质量 (QoS) 级别,代表了通信开销和消息到达保证之间的权衡。0 级是“即发即弃”,不保证会收到消息。级别 1 将保证消息将至少到达一次,但可能不止一次。级别 2 将确保消息只收到一次。选择支持所有三个级别的 MQTT 实现将使开发人员能够灵活地针对他们的数据需求进行优化。

MQTT 不保证安全连接,但与传输层安全性 (TLS) 一起使用时可以形成安全的通信机制。TLS 处理安全连接:服务器和客户端使用密钥交换相互验证,并协商一个双方都可以接受的数据交换加密套件。MQTT 3.1 版允许在数据包中使用用户名和密码,以允许客户端向代理进行身份验证。

安全策略中一个经常被忽视的弱点是 MQTT 消息传递软件本身的质量。最近发生的一连串备受瞩目的安全漏洞不是因为算法被黑,而是因为源代码质量差。诸如 Heartbleed 之类的事件表明,质量差的代码可以提供漏洞,黑客可以利用这些漏洞获取访问权限。由于这些原因,选择一个使用并能够证明质量软件开发过程证据的供应商是有利的。HCC Embedded 实施了 MQTT 协议,该协议在其受信任的符合 MISRA 的 TCP/IP 堆栈上运行,并提供生命周期证据来验证其质量声明。

MQTT 代表一种小型、通用的通信协议,当与 TLS 等安全机制一起使用时,可以为无数小型设备提供高效、可靠和安全的连接。但是,并非所有 MQTT 实现都是相同的。应用程序必须建立在高质量、可靠的软件平台上,以确保安全性和可靠性。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2904

    文章

    44296

    浏览量

    371402
  • 服务器
    +关注

    关注

    12

    文章

    9028

    浏览量

    85199
收藏 人收藏

    评论

    相关推荐

    云存储和云计算有哪些差异?

    托管它们的远程计算机(称为服务器)上。 这些服务器旨在远程连接,这意味着我们可以从任何地方在任何设备上访问您的文件,只要我们可以访问联网
    的头像 发表于 11-11 11:40 160次阅读

    电子设备的激增给制造商带来哪些挑战

    当今的消费者生活在一个数字化的世界里,他们在街上行走时会查看体育比赛的比分,或跟随个人播放列表中的音乐翩翩起舞。因此,智能手机已经使我们习惯于在任何地方都能享受到用户友好的个性化环境。而这种环境也越来越多地包括我们驾驶的汽车。
    的头像 发表于 11-07 11:33 249次阅读

    便携解码耳放 - 让你随时随地享受顶级音质

    便携解码耳放将高保真音质和便携性完美结合,让你在任何地方都能享受到顶级的音乐体验。
    的头像 发表于 07-24 17:55 1418次阅读
    便携解码耳放 - 让你随时随地享受顶级音质

    MQTT联网平台是什么

    MQTT联网平台是一种软件平台,它基于MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)协议,为物联网(IoT)设备提供连接、管理和
    的头像 发表于 07-18 14:22 526次阅读

    如何停止引导加载程序输出消息?

    我想知道是否有任何方法可以停止引导加载程序输出消息,或者至少能够将它们定向到 UART1 而不是 UART0? 另外,引导加载程序的源代码是否在任何地方都可用?我找不到它们,但我可能找错了地方
    发表于 07-15 06:33

    如何在i2c中将hello world发送到LCD屏幕?

    有谁知道如何在 i2c 中告诉这个以将 hello world 发送到 LCD 屏幕?当我查找我的 4BIT 引脚时,我可以很好地做到这一点,但是当使用 i2c 时,我似乎在任何地方都找不到协议的任何细节,每个人都只想谈论天哪的 ardunio,这对杰克有帮助。 谢谢!!
    发表于 07-11 06:10

    云存储服务器有哪些类型

    云存储服务器是由第三方服务提供商提供的,它们通过互联网向公众提供存储服务。公有云存储服务器的主要特点如下: 1.1 可访问性:公有云存储服务器可以通过互联网访问,用户可以
    的头像 发表于 07-02 09:17 582次阅读

    工业组态云平台是什么

    的主要特点包括: 1. 远程监控与管理:用户可以通过互联网在任何地方对工厂的设备进行实时监控和管理。 2. 数据存储与分析:大量的设备运行数据可以存储在云端,并利用大数据技术进行深度分析,以提高生产效率和设备的可靠性。
    的头像 发表于 07-01 14:07 276次阅读

    求分享esp8266和esp32的汇编指令集?

    想做操作系统移植,可是没有在网上任何地方找到汇编指令集和寄存器说明,能否出一个?或者告诉我在那里找
    发表于 06-05 06:20

    CapSENSE在CSX模式下同时跟踪的触点数量是否有限制?

    我没有在任何地方看到这样的数字。 CapSENSE 最新一代(GEN 5)在 CSX 模式下同时跟踪的触点数量是否有限制? 据我所知,CapSENSE Tuner 应用程序仅限三个。
    发表于 05-29 06:18

    Google Gemma优化后可在NVIDIA GPU上运行

    2024 年 2 月 21 日,NVIDIA 携手 Google 在所有 NVIDIA AI 平台上发布面向 Gemma 的优化功能,Gemma 是 Google 最先进的新型轻量级 2B 和 7B 开放语言模型,可在任何地方运行,从而降低成本并加快特定领域用户案例的创新工作。
    的头像 发表于 02-25 11:01 441次阅读

    MQTT联网平台是什么?MQTT联网平台的功能有哪些

    ,易于实现,因此广泛应用于受限的环境,如机器与机器的通信(M2M)以及物联网环境(IoT)。 MQTT联网平台通过提供一种标准化的协议和平台,实现了消息的可靠传输、设备连接管理、数据存储和分析等功能,方便开发人员构建、连接和管
    的头像 发表于 01-24 09:23 1102次阅读

    如何选择NVIDIA GPU和虚拟化软件的组合方案呢?

    NVIDIA vGPU 解决方案能够将 NVIDIA GPU 的强大功能带入虚拟桌面、应用程序和工作站,加速图形和计算,使在家办公或在任何地方工作的创意和技术专业人员能够访问虚拟化工作空间。
    的头像 发表于 01-12 09:26 1017次阅读
    如何选择NVIDIA GPU和虚拟化软件的组合方案呢?

    通过Solopace.Gem 无需公网IP远程访问智能家庭(HomeAssistant)

    Solopace.Gem可以便捷地让你再任何地方访问家中的Home Assistant,这为个人用户提供了更便利的控制家庭自动化设备的方式。以下是一份教程,展示如何通过Solopace.Gem访问
    的头像 发表于 12-18 14:29 688次阅读
    通过Solopace.Gem 无需公网IP远程<b class='flag-5'>访问</b>智能家庭(HomeAssistant)

    更强!Alpha-CLIP:让CLIP关注你想要的任何地方

    然而CLIP必须以整张图片作为输入并进行特征提取,无法关注到指定的任意区域。然而,自然的2D图片中往往包含不同的物体,part和thing。如果能由用户或检测模型指定需要关注的区域,在图像编码的过程就确定需要关注的对象,将会提升CLIP模型的可控制性和区域检测能力。
    的头像 发表于 12-10 10:28 970次阅读
    更强!Alpha-CLIP:让CLIP关注你想要的<b class='flag-5'>任何地方</b>!