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"