ublox_China

文章数:410 被阅读:508512

账号入驻

科普 | 什么是MQTT,有何价值?

最新更新时间:2022-03-01 19:22
    阅读数:

通信是物联网(IoT)应用中不可或缺的一部分,而针对不同的应用场景,通信需求也不尽相同,从中也能捕捉到这些场景对网络环境的特殊要求。


如今,蜂窝网络、无线连接技术(比如Wi-Fi和蓝牙)、有线以太网,以及卫星等通信技术广泛应用于各类IoT设备中,但通信协议则是所有IoT技术栈的关键构成,唯有通过特定的通信协议,IoT设备才能进行数据传输与交换。


为了满足当下IoT应用的多样化需求,市面上开放了包括CoAP、XMPP和DDS在内的多种协议,可供各个应用场景按需选择。其中,消息队列遥测传输(MQTT)及其衍生协议MQTT-SN正广泛应用在日益普遍的低功耗广域(LPWA)网络中。



本文将为大家分享一款轻量级协议——MQTT,为您详细阐述MQTT应用在各类IoT设备上的优势。


精彩抢先看

1、MQTT协议

2、MQTT功能概述

3、MQTT-SN

4、MQTT核心概念

5、结论


1、MQTT 协议


作为一种轻量级协议,MQTT拥有简单紧凑的架构和较小的代码占用空间,适用于低成本、低功耗的IoT微控制设备。MQTT可在TCP/IP协议上兼容运行,专攻延迟较高、质量不佳的网络环境。该协议适用于具有以下通信需求的应用:


  • 使用极小带宽

  • 无线网络通信

  • 低功耗

  • 必要时保证高可靠性

  • 对处理和内存资源的需求很低


MQTT在IoT多种应用中都备受青睐,如智能表计、资产追踪工具和工业设备的互联传感器。凭借对有限带宽的高效利用,因此MQTT非常适用于网络成本高、功耗大的应用场景,例如远程传感器阵列就需要在现场自主运行数年且期间无需维修。


MQTT是多个客户端通过一个中央服务器传递信息的多对多协议,能高效地将信息分发给一个或多个订阅者,加之其代码占用空间小,便使得MQTT成为移动应用通信的理想之选。


2、MQTT 功能概述


MQTT基于发布和订阅模型,而非“客户端-服务器”模型,它具有两个功能实体——MQTT服务器和MQTT客户端。IoT网络上的任何“事物”,无论是硬件设备还是软件程序,都可以视为MQTT的客户端。


所有的客户端并非直接向彼此发布或订阅消息,而是向MQTT服务器所管理的“主题”来发布或订阅消息。“主题”可理解为电子邮件的收件箱;客户端向主题发布消息,订阅该主题的其他客户端都将收到该消息。


MQTT服务器负责接收所有已发布的消息,并需要确保将其传输到所有订阅的客户端。消息根据多个商定的QoS级别进行发布(见下文)。服务器还将对网络上的所有IoT设备进行验证,进而管理连接、会话和订阅。


△图1:什么是 MQTT

(来源:MQTT Org)


3、MQTT-SN


MQTT-SN是MQTT的优化版本,专为需要提高数据传输效率和功耗效率的大规模无线传感器网络而设计。


MQTT-SN主要通过缩短主题ID的长度来提升数据传输效率。这些经过缩短处理的ID会编程到客户端和服务器中,从而减少信息传递数量。


MQTT-SN中的“链路保持机制”允许设备进入睡眠模式,并在被唤醒时才可检索任何排队消息。


4、MQTT 核心概念


除了服务器和客户端实体,MQTT和MQTT-SN运行还涉及到如下核心概念:


MQTT 主题(MQTT Topics)


主题是MQTT实现对带宽高效利用的基础,它具有多级结构,如图2所示。MQTT客户端只会订阅其所关注的主题,并且可以使用通配符条目来访问多个主题。


△图2:MQTT 主题(来源:u-blox)


由于设备仅接收已订阅的主题消息,MQTT主题通过IoT网络将更加高效地组织数据流,从而实现大规模应用。


连接(Connections)


MQTT客户端必须与服务器建立连接才能发布或订阅消息。客户端在发送连接请求时会提供其客户ID、用户名和密码,随后服务器会确认该项请求。而连接请求也可使用如下参数加以限定:


  • MQTT会话(Clean Session) - 请求连接并删除订阅队列中已存储的任何消息。


  • 链路保持(Keep Alive) - 当服务器或客户端未发送消息时,链路保持功能将优先确保设备连接的最长时间,从而为处于睡眠模式下的其他电池供电设备提供支持。在此期间,客户端接收到的任何消息都会由服务器存储,直到指定时间结束。


  • 睡眠(仅限MQTT-SN) - 在设备告知服务器即将进入睡眠模式时,服务器会在设备告知的时间段内将设备订阅的所有消息排入队列。此模式与“链路保持”模式的主要区别在于,服务器会无视QoS级别,将所有消息进行存储,而在“链路保持”模式中则仅存储QoS 1和QoS 2消息。在睡眠模式时,客户端还能在不需要唤醒的情况下刷新其消息队列。


订阅


客户端可请求订阅一个或多个主题,该请求支持两种不同的通配符设置,如图3a和3b所示。


单级(+)通配符用于替换一个主题级别,因此“sensors/+/out”将订阅以下主题:


sensors/soil/out(传感器/土壤/输出)


sensors/water/out(传感器/水/输出)


sensors/light/out(传感器/光/输出)


△图3a:单级通配符

多级(#)通配符用于替换多个主题级别,因此这个通配符可以订阅以下主题:


sensors/soil/out(传感器/土壤/输出)


sensors/soil/in(传感器/土壤/输入)


sensors/temperature/out(传感器/温度/输出)


△图3b:多级通配符


消息服务质量QoS


MQTTMQTT-SN两者规定了消息服务质量(QoS)模式,让发布者能够自行定义消息质量。我们针对这些模式进行汇总(见表1),并分享了如何根据特定应用的限制条件来采用不同的模式。



QoS 在发布与订阅中的区别


在MQTT发布与订阅操作中,QoS代表了不同的含义,发布时的QoS表示消息发送到服务端时使用的QoS,订阅时的QoS则表示服务端向自己转发消息时可以使用的最大QoS。


当客户端A的发布QoS大于客户端B的订阅QoS时,服务端向客户端B转发消息时使用的QoS为客户端B的订阅QoS。


当客户端A的发布QoS小于客户端B的订阅QoS时,服务端向客户端B转发消息时使用的QoS为客户端A的发QoS。


5、结论


现如今,MQTT已广泛应用于包括汽车、能源、制造业及电信等多个关键领域,尤其适用于更窄带宽的网络环境和更低功耗IoT设备。为简化IoT的开发流程,技术人员还可根据自身需求,选择包括服务器端与客户端在内的MQTT测试工具。


要记住“通信不仅仅是建立连接”。以u-blox物联网通信即服务产品组合为例(见图4),u-blox MQTT Anywhere、MQTT Here和 MQTT Now三款产品基于可扩展的高性能MQTT服务器与数据流管理器,彼此相辅相成且互为补充,能有效帮助您缩短产品开发周期,简化物联网设备与企业间的数据通信


△图4:u-blox物联网通信即服务产品组合


了解更多产品参数资料、产品操作视频、

网络研讨会、技术白皮书及行业大咖分享

欢迎注册u-blox开放平台
一键注册、在线预览

想你所想,取你所用


/关于u-blox公司/


瑞士u-blox公司(SIX:UBXN)是为汽车、工业和消费品市场提供定位和无线通信技术与服务的领先供应商。其解决方案能准确进行人员、车辆和机器的定位,并通过蜂窝网络和短距离网络实现无线通信。凭借广泛及多样化的芯片、模块和日益扩大的产品支持数据服务生态系统,u-blox公司在帮助其客户针对物联网快速而成本高效地开发创新解决方案方面具有得天独厚的优势。u-blox公司总部设在瑞士塔尔维尔,目前在欧洲、亚洲和美国都设有办事处。www.u-blox.com


往期精选

一文秒懂 | 实时定位系统(RTLS)究竟是什么黑科技

u-blox携手Douglas Lighting开发楼宇自动化蓝牙Mesh平台

开年双喜 | u-blox推出两款支持全球漫游的LTE Cat 1模块



点击阅读原文,进入u-blox官网

—— / END / ——



(广告)
#关键字:u-blox,MQTT,物联网,IoT

推荐帖子

lpc1114样片进展
首先LPC1114这个板是不好分开的,我的工具就一把削笔刀,所以只是把PCB线画断。昨晚把外围电路电源和芯片的电源分开居然可以找到还可以仿真下载也没出错就是不运行下载的程序,怀疑是复位电路电阻大了,弄了下没效果眼看2点了明早上班呢!呵呵就睡了今天回去再看看没有PCB用万用板焊这芯片可是伤神呀,第一次感觉我的眼睛原来摘掉眼镜更清楚lpc1114样片进展之前我怀疑把LINK和1114最小系统分开了,会不会不能正常工作,所以到现在我还没有动手哈!!!!!!能的我没掰成两半
mlyxlpk007 NXP MCU
PWM频率与占空比的关系
1秒内,0.5秒开,0.5秒灭,占空比是50%对吧?那么,1毫秒内,0.5毫秒开,0.5毫秒灭,占空比也是50%,对吧?如果是1秒呢,频率就是1HZ,如果是1毫秒,频率就是1KHZ,显然,同样是50%占空比,如果频率是1HZ,那电机肯定是跳着走的,灯光肯定闪得可以跳舞,不具有调速和调光的意义。PWM频率与占空比的关系
fish001 微控制器 MCU
“简简单单DSP”—SPI的学习及使用
转一个helloDSP上面的文档,我看了一下这个写的简单明了,符合咱们简简单单的风格,上传“简简单单DSP”—SPI的学习及使用好资料。多谢楼主的无私提供THX为了这个资料特意注册一个帐号谢谢分享好东西,谢谢共享!多谢分享谢谢分享呵呵,好谢谢楼主分享!谢谢分享分享无极限。学习一下嘿嘿学习一下
superwangyang 微控制器 MCU
申请MSP430开发板团购资格
这是我以前写的一些小程序,整理了一下,很多都没有很好的注释,不过应该很简单的,有需要的可以看看!申请MSP430开发板团购资格
liwendovo 微控制器 MCU
轮胎增强材料状态分析以及空洞共鸣预测新技术问世
瞄准轮胎基础技术“MultiScaleSimulation”,横滨橡胶日前开发成功了轮胎增强材料的状态分析技术和轮胎空洞共鸣音预测技术。动态分析的对象为增强材料中所含碳黑和硅石(SILICA)在车辆行驶中的状态。可以用显微镜观察一个点那样来解析轮胎增强材料的状态,可以分析出增强材料的比例以及构造对轮胎的特征产生的影响。这样,就可以高精度地控制动态阻抗和湿滑性能等性能特征相反的轮胎性能。该技术是与日本东北大学共同运用非线性均质化分析法开发出来的。由于开发出了可大幅缩短计算时间
frozenviolet 汽车电子

最新有关ublox_China的文章

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: TI培训

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved