MQTT是什么,为什么在物联网架构中需要它?
如果您涉足物联网领域,您可能听说过MQ遥测传输(MQTT)协议。除了作为物联网和工业物联网体系结构的底层通信协议之外,MQTT还与微软Azure、AWS和IBM Watson等云平台一起用于智能家居自动化系统。Facebook还使用MQTT作为其Messenger和Instagram平台的通信协议。有人物联网的很多产品例如4G模块WH-G405tf和LoRa集中器以及自组网的LoRa DTU都支持MQTT协议。
工业物联网可以宽泛地定义为与工业和制造系统交互的传感器和其他设备系统,所有这些都是为了增强业务操作。制造业、采矿业、石油天然气和农业综合企业等行业都部署了大量传感器。这些传感器反过来将关键的遥测数据通过有人物联网的设备发送到云端,来分析数据的趋势或异常,让使用者能够更好地理解和改进它们的操作。
在使用低功率广域网(LPWAN)解决方案的环境中,传感器数据通过无线电传输发送,由数个中央基站接收。这些数据被发送到分析和可视化工具,也就是有人云上,或者本地服务器。这就是MQTT的用武之地。MQTT驻留在TCP/IP网络堆栈的顶部,是一种轻量级的发布/订阅消息传递协议,专为低带宽、高延迟、不可靠的网络设计。MQTT的特性使其成为向分析平台和云解决方案发送大量传感器消息的最佳选择。
MQTT的历史
MQTT是1999年由工程师Andy Stanford-Clark和Arlen Nipper发明的,作为一种允许油气行业管道与监控和数据采集(SCADA)系统通信的方法。当时,这些系统使用完全不同的专有协议,因此无法相互通信。添加MQTT功能有助于克服内部通信问题。除了互操作性之外,协议的最初目标是轻量级、带宽效率高、数据不可知、易于实现,同时提供服务质量数据交付。
发送和接收
与客户机直接与端点通信的传统客户机-服务器模型不同,MQTT客户机分为两组:发送方(在MQTT中称为发布方)和接收数据的使用者(MQTT订阅方)。出版商和订阅者对彼此一无所知,事实上,他们从来没有直接接触过对方。第三个组件(MQTT代理)充当“交通警察”,将来自发布者的消息定向到充当订阅者的任何端点。
物联网架构中的MQTT
消息通过代理从发布者传递到使用主题的一个或多个接收者。主题是分层的UTF-8字符串。主题中的每个级别由正斜线分隔。来自发布者的每条消息都必须包含一个主题。要接收发布的消息,使用消息的实体必须接收相同的主题。代理仅将其接收到的消息发送给接收了相同主题的客户端。
MQTT和LPWAN
在使用LPWAN解决方案(如BehrTech的MIOTY)的环境中,基站扮演MQTT发布者的角色。当基站接收到来自传感器的消息时,基站代表传感器将消息发布到MQTT代理。然后代理通过TCP/IP将消息发送到订阅了主题的设备。
MQTT在BehrTech基站上得到本地支持。发布数据的MQTT代理和映射很容易配置。我们的开箱即用Azure集成也在其基础上使用了MQTT。我们使用MQTT的另一种方式是通过Node-RED编程工具。Node-RED扮演订阅者的角色,接收传入的传感器数据,对其进行处理并将其发送到可视化仪表板。随着发布的来自基站的消息的继续,节点红色仪表板将动态更新。
展望未来,随着各组织继续转向LPWAN解决方案以利用其诸多优势,MQTT在物联网体系结构中的受欢迎程度也将提高。
更多技术类文章或行业资讯访问有人物联网官方商城新闻中心http://shop.usr.cn/news/。