MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用作各种传感器以及智能家居产品的数据通信协议。
MQTT是建立在TCP协议之上的用于计算能力有限,带宽低,且不可靠的网络的远程传感器和控制设备通讯而设计的协议,协议头部只有两个字节,实现了数据传输和协议交换的最少化,并且减少网络流量。非常适用于嵌入式设备。
目前各大云服务平台也都推出了自己的基于MQTT的 IOT网关,国外类似 Microsoft Azure IOT Hub,亚马逊IOT服务等,国内的阿里云物联网套件,百度等公司也纷纷推出了基于MQTT的自己的IOT套件(很多云服务还会支持其它不同的协议,但都会包含MQTT的支持)。
自行搭建MQTT服务端,需注意,服务端和我们传统的TCP服务器稍有差别,MQTT代理服务器(Broker)只是一个数据中转站,本身并不处理数据,目前网上有各种开源Broker可使用,可根据自己的需求进行选择。
在集成与数据处理中我们主要关注几个概念,MQTT是一种发布(pub)/订阅(sub)协议,通过代理接入(MQTT Broker),代理更像我们传统的服务器,在与设备的应用中,设备与服务器都是传统意义上的客户端。需要通过代理来发送(发布)或者获取(订阅)数据。
集成过程中,我们主要关注Topic(主题)以及 Payload(消息内容),主题表示了一个数据通道,设备会将数据发布到某个主题中,服务端需订阅该主题,当设备数据发布后。订阅者会收到相应的通知。并获得消息内容。消息内容包含了实际的要传输的数据。
本文摘自智车芯官网:http://www.thinkobd.cn/
原文地址:https://www.cnblogs.com/fangxinyu/p/9304647.html