Mosqitto是Eclipse推出的开源的MQTT broker,支持MQTT3.1和3.1.1协议,是个轻量级的服务器。其官网地址为:https://mosquitto.org/
MQ 遥测传输 (MQTT) V3.1 协议规范:
http://www.ibm.com/developerworks/cn/webservices/ws-mqtt/index.html
1 安装
1.1 安装mosquitto服务器端
我这边是直接在一个Ubuntu 16.04上面来完成安装。
安装过程如下:
sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
sudo apt-get update
sudo apt-get install mosquitto
如果在安装过程中有遇到apt-add-repository命令没有找到,可以参考如下方式:https://www.jianshu.com/p/986efb4025e8
其实在安装好mosquitto之后,就会在系统中启动一个service服务。可以通过如下命令来查看状态:
systemctl status mosquitto
然后开启关闭服务命令:
systemctl start mosquitto
systemctl stop mosquitto
1.2 安装mosquitto客户端
可以直接使用命令来安装:
sudo apt-get install mosquitto-clients
安装好了mosquitto client之后,提供了两个工具:mosquitto_pub,mosquitto_sub
2 测试
2.1 本地测试
我这边构建一个简单的测试架构,网络架构如下:
TerminalA:发布者
TerminalB,C:订阅者
Broker:mosquitto server,192.168.1.53。
订阅消息命令:
mosqutto_pub -h 192.168.1.153 -t "mqtt" -v
参数说明:
- -h: server地址
- -t:订阅的主题
- -v:打印更多的调试信息
- 更多的参数说明可以使用: mosquitto_pub --help。
发布消息命令:
mosqutto_pub -h 192.168.1.153 -t "mqtt" -m "welcome to MQTT"
参数说明:
- -h: server地址
- -t:发布的主题
- -m:主题的内容
- 更多的参数说明可以使用: mosquitto_pub --help
测试结果如下:
2.2 公网测试
mosquitto提供了一个公网的测试服务器:test.mosquitto.org。使用订阅和发布消息,比如我这边做的实验如下:
订阅:
mosqutto_pub -h test.mosquitto.org -t "jinglecai_mqtt" -v
订阅所有的主题:
mosqutto_pub -h test.mosquitto.org -t "#" -v
发布:
mosquitto_pub -h test.mosquitto.org -t "jinglecai_mqtt" -m "welcome to MQTT"