物联网为什么普遍采用MQTT?
MQTT(消息队列遥测传输协议)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅模式的"轻量级"通讯协议。
MQTT是基于TCP长连接,首先是先跟MQTT服务器建立TCP连接,然后发送登录请求,要保持长连接,定时发心跳包跟服务保持连接。这使其非常适合硬件性能低下的远程设备以及网络状况糟糕的情况下传输数据。
MQTT特点
1.使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合。
2.二进制形式编码,小型化传输,协议开销较小,极大降低网络开销。
3.三种消息发布服务质量:至多一次、至少一次、只有一次。
4.采用心跳机制,通过间断性的发送报文,来维持客户端和服务端的心跳长连接,以减少电量的消耗,提升系统资源利用率。
发布/订阅模型为客户提供了彼此独立的存在,增强了整个系统的可靠性。当一个客户端出现故障时,整个系统可以继续正常工作。
另外,MQTT协议的响应时间,吞吐量(MQTT比HTTP快93倍),更低的电池和带宽使用率非常适合物联网场景。在间歇性连接的情况下,它也是完美的。HTTP是优秀且可扩展的。但是物联网场景下,MQTT更适合。
云平台应用
ZLG物联网云平台,ZWS云平台就采用MQTT协议,设备与服务器之间通过发布/订阅通讯。比如:
设备上报数据给服务器(数据上行)
| 名称 | 说明 |
|---|---|
| 功能 | 设备采集的数据。上报的数据内容必须符合云平台中定义的数据类型。 |
| 发布方 | 设备 |
| 订阅方 | 服务器或其他客户端 |
| 消息内容 | 数据及时间戳 |
服务器发送消息给设备(数据下行)
| 名称 | 说明 |
|---|---|
| 功能 | 服务器给指定设备发送命令 |
| 发布方 | 服务器或其他客户端 |
| 订阅方 | 设备 |
| 消息内容 | 命令及命令参数 |
| 回应消息 | 判断设备命令消息,若需设备回应,则返回命令结果,反之,无需回应 。 |
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
