MQTT 最初是用于石油管道的传感器与卫星之间数据传输。他们当时正在开发一个利用卫星通讯监控 输油管道的项目,为了实现这个项目要求,他们需要开发一种用于嵌入式设备的通讯协议,这种通讯协议必须满足以下条件:
⚫ 易于实现,服务器必须要实现成千上万个客户端的接入
⚫ 数据传输的服务质量可控,根据数据的重要性和特性,设置不同等级的服务质量
⚫ 占用带宽小,单次数据量小,但不能出错
⚫ 必须能够适应高延迟、掉线、断网等网络通信不可靠的风险
⚫ 设备连接状态可知,云端与设备端保持长连接
通过以上几个条件可知:
⚫ MQTT 服务器可以连接大量的远程传感器和控制设备,与远程客户端保持长连接,具有一定的实 时性。
⚫ 云端向设备端发送消息,设备端可以在最短的时间内接收到并作出回应。
⚫ MQTT 更适合需要实时控制的场合,尤其适合执行器。
⚫ 云端与客户端需要保持长连接,要能够获取到设备的连接状态,就需要时不时地发送心跳包,这就不会省电,所以,MQTT 并不适合低功耗场合。
可以看出,MQTT 从诞生之初就是专为低带宽、高延迟或不可靠的网络而设计的。虽然历经几十年的更新和变化,以上这些特点仍然是 MQTT 协议的核心特点。但是与最初不同的是,MQTT 协议已经从嵌入式系统应用拓展到开放的物联网(IoT)领域。
全部0条评论
快来发表一下你的评论吧 !