轉載 https://www.hachina.io/docs/3930.html
Mosquitto是最常用的開源MQTT實現。
【安裝】
在樹莓派上,可以用如下命令安裝Mosquitto:
sudo apt-get install mosquitto
安裝Mosquitto MQTT服務,並且加入到系統的自啓動中。sudo apt-get install mosquitto-clients
安裝命令行的發佈和訂閱程序(mosquitto_pub和mosquitto_sub,並不是必須的,可以用於測試與調試)
安裝完成後,可以通過以下命令管理mosquitto的MQTT服務的運行:
sudo systemctl status mosquitto.service
查看服務狀態sudo systemctl restart mosquitto.service
重啓服務sudo systemctl stop mosquitto.service
停止服務sudo systemctl start mosquitto.service
啓動服務sudo systemctl enable mosquitto.service
將服務加入到自啓動中sudo systemctl disable mosquitto.service
將服務從自啓動中去除sudo journalctl -f -u mosquitto.service
查看服務實時輸出的信息
Mosquitto在其它系統中的安裝,可以參見:https://mosquitto.org/download/
【基礎配置】
Mosquitto服務的配置文件爲/etc/mosquitto/mosquitto.conf
,但一般情況下,我們不會去修改這個文件,而是將需要配置的內容新建文件保存在/etc/mosquitto/conf.d/
目錄下。
在缺省情況下,Mosquitto服務是允許匿名用戶發佈和訂閱信息的,我們需要將其改成用戶通過用戶名和密碼,以保證安全。
- 創建文件
/etc/mosquitto/passwd
,並增加用戶hachina,設置密碼sudo mosquitto_passwd -c /etc/mosquitto/passwd hachina
注:如果沒有-c參數,代表不新建文件,而是在原文件中增加新的用戶,或修改原來用戶的密碼。 - 新建文件
/etc/mosquitto/conf.d/allow.conf
,內容爲:1
2
allow_anonymous false
password_file /etc/mosquitto/passwd
Mosquitto服務的更進一步的配置,可以參考:https://mosquitto.org/man/mosquitto-conf-5.html
【測試運行】
在命令窗口中,輸入:mosquitto_sub -h localhost -t hello/world -u hachina -P hachina
解釋:連接本機的MQTT服務,訂閱主題hello/world
下的消息。通訊過程的用戶名爲hachina,密碼爲hachina
打開另一個命令窗口,輸入:mosquitto_pub -h localhost -t hello/world -m "HELLO" -u hachina -P hachina
解釋:連接本機的MQTT服務,在主題hello/world
下發布信息“HELLO”。
這時候,在mosquitto_sub運行的窗口,可以看到訂閱程序接收到的消息: