MQTT 介紹
MQTT代表消息隊列遙測傳輸,是一種網絡消息協議,通常用于物聯網設備之間的消息傳輸。
為了讓我們的Raspberry Pi支持MQTT協議,我們將使用一個名為Mosquitto的服務器軟件。
Mosquitto 是一個消息代理,它實現了多個版本的 MQTT 協議,包括最新的 5.0 版本。
MQTT協議的工作原理是讓客戶機充當發布者和訂閱者。發布者將消息發送給充當中介的代理。
訂閱者連接到MQTT代理并閱讀特定主題下廣播的消息。
您可以使用MQTT讓多個傳感器將它們的數據發送到您的Raspberry Pi的MQTT代理,然后客戶端設備可以接收數據。
如果你想了解更多關于MQTT協議的信息,以及為什么它非常適合樹莓Pi等物聯網設備,請務必查看MQTT官方網站。
在樹莓派上安裝 Mosquitto
1,首先 ,需要最新的系統,輸入以下命令:
sudo apt update sudo apt upgrade
2,運行Mosquitto和Mosquitto客戶端的安裝命令,這樣方便在樹莓派上 進行連接測試:
sudo apt install mosquitto mosquitto-clients
在安裝過程中,包的管理器會自動配置 Mosquitto 服務器在開機時啟動。
安裝完成,此時,您將在您的設備上啟動并運行 Mosquitto MQTT 代理。
3,您可以使用以下命令驗證它是否已安裝并正在運行。
sudo systemctl status mosquitto
此命令將返回“mosquitto”服務的狀態。
如果服務已正常啟動,您應該會看到文本active (running)。
測試MQTT
我們的下一步將是測試該服務是否正常工作,并且現在在我們的 Raspberry Pi 上充當 MQTT 代理。
為此,我們將使用本指南前面安裝的 Mosquitto 客戶端。
對于本節,您將需要打開兩個終端會話到您的 Raspberry Pi(本地或通過 SSH)。
1.我們的首要任務是啟動訂閱者。
訂閱者將監聽我們在 Raspberry Pi 上運行的 MQTT 代理。
我們可以使用我們之前為訂閱者安裝的 Mosquitto 客戶端來執行此操作。
在下面的示例中,我們連接到一個localhost連接并等待來自代理的關于“mqtt/pimylifeup”主題的消息。
mosquitto_sub -h localhost -t "mqtt/pimylifeup"
使用“-h”參數,您可以指定要連接的主機名。在我們的例子中,我們使用安裝在 Raspberry Pi 上的本地 MQTT 代理。
接下來,我們使用“-t”參數告訴 Mosquitto 訂閱者我們應該從 MQTT 代理收聽什么主題。
對于我們的示例,我們正在收聽一個名為“mqtt/pimylifeup”的主題。
2.現在我們已經加載了一個客戶端并正在監聽消息,
讓我們嘗試向它發布一個消息。
我們需要使用之前安裝在 Raspberry Pi 上的 MQTT 發布者客戶端向主題發布消息。
運行以下命令將消息“Hello World”發布到我們localhost服務器的“mqtt/pimylifeup”主題下。
mosquitto_pub -h localhost -t "mqtt/pimylifeup" -m "hello lingshunlab.com"
其中兩個參數與前面的命令相同,“-h”指定要連接的服務器,“-t”指定要發布到的主題。
我們在這里使用的另一個參數是“-m”參數。此參數允許您指定要發送到 Raspberry Pi MQTT 代理的消息。
3.回到您啟動 Mosquitto 發布器的終端會話,
您現在應該會看到 您的消息出現。
因此,如果您按照我們的示例進行操作,您應該會在命令行中看到以下文本。
hello lingshunlab.com
測試,mqtt服務器成功。
如果您將mqtt與UFW 等防火墻一起使用,請確保打開端口1883。
設置遠程訪問(無身份驗證)
要啟用遠程訪問以便我們可以與其他物聯網設備進行通信,我們需要編輯/創建一個配置文件。
1)Mosquitto Broker 啟用遠程訪問(無身份驗證)
運行以下命令打開mosquitto.conf文件文件。
sudo nano /etc/mosquitto/mosquitto.conf
2 )使用箭頭鍵移動到文件末尾并粘貼以下兩行:
listener 1883 allow_anonymous true
最后如下圖:
保存,推出。
3)重啟mosquitto
為了使配置生效,需要重啟mosquitto
sudo systemctl restart mosquitto
或者,直接重啟樹莓派
sudo reboot
這樣就遠程主機就可以通過ip地址遠程訪問mqtt服務器了。
審核編輯:劉清
-
傳感器
+關注
關注
2550文章
51035瀏覽量
753071 -
SSH
+關注
關注
0文章
188瀏覽量
16335 -
Raspberry Pi
+關注
關注
2文章
558瀏覽量
22196 -
樹莓派
+關注
關注
116文章
1706瀏覽量
105607 -
MQTT
+關注
關注
5文章
650瀏覽量
22487
原文標題:Raspberry Pi 樹莓派上安裝 Mosquitto部署MQTT服務器
文章出處:【微信號:凌順實驗室,微信公眾號:凌順實驗室】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論