在树莓派上部署MQTT

MQTT代表MQ遥测传输。它是一种发布/订阅,极其简单和轻量级的消息传递协议,专为受限设备和低带宽,高延迟或不可靠的网络而设计。设计原则是最小化网络带宽和设备资源要求,同时还试图确保可靠性和一定程度的交付保证。这些原则也使该协议成为新兴的“机器到机器”(M2M)或“物联网”世界的连接设备,以及带宽和功率要求非常高的移动应用的理想选择。

MQTT实现对比(摘自Wikipedia)

名字 开发者 开发语言 类型 初次发布日期 最新发布版本 最新发布日期 许可证
Adafruit IO Adafruit Ruby on Rails, Node.js 客户端 ? 2.0.0 ? ?
EMQX Feng Lee Erlang 中间件 2016/4/13 3 2018/10/27 Apache许可证 2.0
M2Mqtt Eclipse基金会 C# 客户端 2017/5/20 4.3.0.0 2017/5/20 Eclipse公共许可证 1.0
Machine Head ClojureWerkz 团队 Clojure Client 2013/11/3 1.0.0 2017/3/5 知识共享署名 3.0 Unported 许可证
moquette Selva, Andrea Java 中间件 2015/7/8 0.1 2017/6/30 Apache许可证 2.0
Mosquitto Eclipse基金会 C语言, Python 中间件和客户端 2009/12/3 1.4.15 2018/2/27 Eclipse公共许可证 1.0, Eclipse发行许可证 1.0 (BSD)
Paho MQTT Eclipse基金会 C语言, C++, Java, Javascript, Python, Go 客户端 2014/5/2 1.3.0 2017/6/28 Eclipse公共许可证 1.0, Eclipse发行许可证 1.0 (BSD)
wolfMQTT wolfSSL C语言 客户端 2015/11/6 0.14 2017/11/22 GNU通用公共许可协议, version 2
MQTTRoute Bevywise Networks C语言, Python 中间件 2017/4/25 1 2017/12/19 专有许可证

安装Mosquitto

sudo apt install mosquitto mosquitto-clients
  • 测试Mosquitto(摘自博客)

启动两个终端,分别执行
mosquitto_sub -t topic1#订阅者,订阅主题topic1
mosquitto_pub -t topic1 -h localhost -m "hi"#发布者,关于topic1发布内容
可以观察到订阅者可以正常接收消息。否则应当检查树莓派其他相关设置。

你可能感兴趣的:(树莓派,MQTT)