1、MQTT 協議
-
MQTT協議:實現MQTT協議需要客戶端和服務器端通訊完成。
-
三種身份: 發布者(Publish)、代理(Broker)(服務器)、訂閱者(Subscribe)。
-
消息的發布者和訂閱者都是客戶端,消息代理是服務器,消息發布者可以同時是訂閱者。
-
MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸)
-
定義:是一種輕量級、基于發布 / 訂閱(Publish/Subscribe)模式的物聯網(IoT)通信協議,由 IBM 在 1999 年設計,專為低帶寬、不穩定網絡環境中的設備間通信而優化,目前已成為物聯網領域的主流協議之一(由 OASIS 標準組織維護)。
-
與HTTP協議的區別:
1. 通信模式:- MQTT采用發布/訂閱模式,通過主題(Topic)實現消息的廣播和定向分發,支持多對多通信,發布者和訂閱者無需直接交互。
- HTTP基于請求/響應模型,客戶端主動發起請求,服務器返回響應,屬于一對一通信,適用于靜態資源獲取或API調用。
-
協議特性:
2. 安裝MQTT服務器
這里選擇mosquitto,原因是我們個人使用的話項目較小,暫時不用到大型的MQTT服務器——EMQX。
-
mosquitto,Eclipse Mosquitto使用 C 語言實現的 MQTT 服務器。
-
EMQX,使用 Erlang 語言開發的 MQTT 服務器,內置強大的規則引擎,支持許多其他 IoT 協議比如 MQTT-SN、 CoAP、LwM2M 等。
-
Mosca,使用 Node.JS 開發的 MQTT 服務器,簡單易用。
-
VerneMQ,使用 Erlang 開發的 MQTT 服務器。
2.1 下載mosquitto
mosquitto官網,下載,并完成安裝,;
我的安裝路徑如下:
D:\DownLoad\APP\mosquitto\repo
2.2 修改mosquitto.conf文件
使用記事本打開該文件;
修改偵聽端口為1883:
關閉匿名:
存儲用戶名和密碼的文件:pwfile.example
指定用戶名和密碼存儲位置:
輸入Win+R,輸入services.msc, 進入服務:
管理員模式打開CMD窗口:
創建用戶:
添加后,重啟服務:
3、測試
在MQTT服務器路徑處輸入 cmd,依次打開命令窗口:
4、注意
如果在該過程中,發現無法執行 以mosquitto_passwd.exe 開頭的命令,則需要到系統變量,path中添加:服務器的安裝路徑D:\DownLoad\APP\mosquitto\repo。
參考來源于:原文
完結!!!