MQTT协议-物联网设备的订阅发布协议

做 esp8266 的 wifi 板卡通信时,一直按照惯例使用http与服务器进行通信,后来想如果设备量太大的话,服务器连接数好像承载不了,如果要是有成千上万的设备需要做消息推送,光来回消息和保持心跳就足够服务器处理了,那对应大的智能设备管理服务器是处理能力是个挑战,而且还是一个无任何用处的挑战。

物联网设备低成本不只是体现在设备价格,也体现在能本地计算的不在服务端计算,能本地处理的不走服务器中转,能减少中控服务器消耗就能直接减少服务成本,最好是芯片在本地能执行大部分任务,服务端通讯只在必要时进行消息下发,日常保活就可以了。

后来发现针对物联网设备24小时持续在线的消息发布和订阅,已经有相关协议来支持了,那就是mqtt协议,而 Arduino IDE 有了相关应用案例,自己找了一个公共的MQTT服务器的”消息代理”(Broker)就可以进行测试了。

免费公共MQTT服务器(Broker)

http://broker.mqtt-dashboard.com/

MQTT connection settings

Host: broker.hivemq.com

TCP Port: 1883

Websocket Port: 8000

测试MQTT客户端的浏览器插件:MQTTBox

https://www.hivemq.com/mqtt-toolbox/

http://workswithweb.com/html/mqttbox/mqtt_client_settings.html

0

MQTT协议入门:

简述

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的”轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。

MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。

0

查看详细信息:

https://blog.csdn.net/qq_28877125/article/details/78325003

MQTT 入门介绍

来自 <https://www.runoob.com/w3cnote/mqtt-intro.html>

MQTT协议,终于有人讲清楚了

来自 <https://network.51cto.com/article/670429.html>

MQTT 协议 3.1.1: https://www.runoob.com/manual/mqtt/protocol/MQTT-3.1.1-CN.html

MQTT 协议 3.1.1 PDF: https://www.runoob.com/manual/mqtt/protocol/MQTT-3.1.1-CN.pdf