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 实现都是相同的。应用程序必须建立在高质量、可靠的软件平台上,以确保安全性和可靠性。

审核编辑:郭婷

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

    关注

    2950

    文章

    48110

    浏览量

    418169
  • 服务器
    +关注

    关注

    14

    文章

    10345

    浏览量

    91739
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    请问在哪里可以找到 VisionFive 2 上的 VPU?

    /building_starfive_debian_image, VPU驱动程序是要建造的。但是,它不应该带有相应的物理硬件吗? 在这个VisionFive 2 规范,没有任何地方提到VPU,但只有一个JH7110 处理器 + 想象力GPU. 谁能在黑板上突出显示,在哪里VPU单元?
    发表于 02-11 08:17

    PS、AutoCAD、Maya 的远程工作方案,在家也能拉满办公性能

    远程与混合办公模式让我们几乎能在任何地方工作,这让许多企业效率提升、成本优化,员工满意度也更高。但凡事有例外,对于需要使用高性能工具的工作,比如CAD制图、3D建模、视频剪辑等,传统远程办公
    的头像 发表于 02-02 17:03 1344次阅读
    PS、AutoCAD、Maya 的远程工作方案,在家也能拉满办公性能

    北向MQTT工业物联网网关是什么

    北向MQTT工业网关是工业物联网中连接底层设备与上层云平台的核心设备,其核心功能是通过MQTT协议实现设备数据的高效、可靠上传,并支持云端对设备的远程监控与管理。 以下从定义、功能、应用场
    的头像 发表于 12-02 11:13 655次阅读

    反向代理新玩法?ZeroNews黑科技解读。

    ,我们要聊点不一样的。一种颠覆传统的“反向代理”新范式—— ZeroNews 。它让你能从世界任何地方,安全地访问你 本地电脑 上运行的任何服务,而无需拥有公网IP。这,就是我们要解读的“黑科技”。 传统反向代理 vs  Zer
    的头像 发表于 11-05 14:51 575次阅读

    wiznet+w5500程序卡死怎么解决?

    , &arg)函数无效,于是想到手动关闭端口,在link status becomes link down处添加closesocket后程序卡死,进一步调试发现在任何地方调用
    发表于 09-10 06:48

    联网MQTT网关是什么

    联网MQTT网关是一种采用MQTT联网协议的智能设备或软件组件,其核心功能是连接不同通信协议的物联网设备与消息代理服务器,实现设备间的数
    的头像 发表于 08-29 15:24 1225次阅读

    NVIDIA通过全新 Omniverse库、Cosmos物理AI模型及AI计算基础设施,为机器人领域开启新篇章

    和 NVIDIA DGX Cloud 让开发者能够在任何地方运行需求严苛的仿真 · 物理 AI 领先者 Amazon Devices Services 正在使用它们来支持新的制造解决方案。   Cosmos 推动机器人世界生成进步 Cosmos WFM 下载量超过 200 万次,可
    的头像 发表于 08-12 11:29 1979次阅读
    NVIDIA通过全新 Omniverse库、Cosmos物理AI模型及AI计算基础设施,为机器人领域开启新篇章

    MQTT联网数据解析的难点有哪些?

    MQTT联网数据解析的难点主要源于物联网场景中设备的多样性、数据的复杂性以及系统的高要求,具体可归纳为以下几个方面。
    的头像 发表于 08-05 18:13 1024次阅读

    超小型Neuton机器学习模型, 在任何系统级芯片(SoC)上解锁边缘人工智能应用.

    个高度优化、快速而准确的ML 模型,你所需要的只是一个数据集。Neuton 模型可以在任何Nordic SoC 上运行、Neuton 模型可以在任何Nordic SoC(如我们的旗舰产品
    发表于 07-31 11:38

    远程访问内网MySQL数据库?这个方案更简单

    各位开发者朋友们,是否还在为无法随时随地访问内网MySQL数据库而烦恼?今天分享一个超实用的方法,通过容器部署 MySQL 结合 ZeroNews 内网穿透,让你在任何地方都能安全访问和管理数据库
    的头像 发表于 07-04 18:06 994次阅读
    远程<b class='flag-5'>访问</b>内网MySQL数据库?这个方案更简单

    CYW920820M2EVB-01开发套件可以与蓝牙的免提配置文件一起使用吗?

    我有英飞凌 CYW920820M2EVB-01 开发套件,我想将它与蓝牙的免提配置文件一起使用。 是否可以。 该套件是否支持该配置文件? 我无法在任何地方找到该套件支持的配置文件。 如果是,那么我可以得到一些关于如何执行此操作的提示吗?
    发表于 06-30 06:15

    Arm携手微软共筑云计算和PC未来

    计算平台并从中受益。无论是在 Microsoft Azure 的云端还是在 Windows on Arm PC 的边缘侧,开发者可以在任何地方加速其应用和工作负载。
    的头像 发表于 05-28 14:08 1046次阅读

    MQTT为何成为物联网协议

    MQTT(Message Queuing Telemetry Transport)即消息队列遥测传输协议,已成为物联网领域广泛应用的协议,这主要得益于其在资源占用、通信效率、可靠性、扩展性等多方面
    的头像 发表于 05-20 09:54 952次阅读

    在任何平台上使用PetaLinux的先决条件

    本篇文章介绍了在任何平台上使用 PetaLinux 的先决条件。PetaLinux 是一种嵌入式 Linux 软件开发套件 (SDK),主要用于基于 FPGA 的系统级芯片 (SoC) 设计或 FPGA 设计。
    的头像 发表于 04-24 10:40 1721次阅读
    <b class='flag-5'>在任何</b>平台上使用PetaLinux的先决条件

    GPS时间服务器提供高精度的授时-唯尚

    该产品提供的高精度的网络同步时钟直接来自于GPS系统中各个卫星的原子钟(也可以根据用户的要求选择其他卫星授时系统作为时间的基准源)。产品内部集成了一个高品质的12通道GPS授时,可以在任何地方为网络提供高精度的授时及同步服务。
    的头像 发表于 04-23 14:05 808次阅读
    GPS时间服务器提供高精度的授时-唯尚