mosquitto編譯配置
介紹mqtt
MQTT:開源、可靠、輕巧、簡單,MQTT的傳輸格式非常精小,最小的資料包隻有2個比特,且無應用消息頭。
MQTT可以保證消息的可 靠性,它包括三種不同的服務品質(最多隻傳一次、最少被傳一次、一次且隻傳一次),如果用戶端意外掉線,可以使用“遺願”釋出一條消息,同時支援持久訂 閱。MQTT在物聯網以及移動應用中的優勢有:
- 可靠傳輸。MQTT可以保證消息可靠安全的傳輸,并可以與企業應用簡易內建。
- 消息推送。支援消息實時通知、豐富的推送内容、靈活的Pub-Sub以及消息存儲和過濾。
- 低帶寬、低耗能、低成本。占用移動應用程式帶寬小,并且帶寬使用率高,耗電量較少。
是以MQTT被廣泛應用于物聯網。
MQTT的基本組成部分:
- 釋出者
- 訂閱者
- 代理伺服器

介紹mosquitto
一款實作了消息推送協定 MQTT v3.1 的開源消息代理軟體,提供輕量級的,支援可釋出/可訂閱的的消息推送模式,使裝置對裝置之間的短消息通信變得簡單,比如現在應用廣泛的低功耗傳感器,手機、嵌入式計算機、微型控制器等移動裝置。一個典型的應用案例就是 Andy Stanford-ClarkMosquitto(MQTT協定創始人之一)在家中實作的遠端監控和自動化。
mosquitto對mqtt協定進行了封裝
安裝配置測試mosquitto
安裝
安裝:
# 下載下傳源代碼包
wget http://mosquitto.org/files/source/mosquitto-1.4.9.tar.gz
# 解壓
tar zxfv mosquitto-1.4.9.tar.gz
# 進入目錄
cd mosquitto-1.4.5
# 編譯
make
# 安裝
sudo make install
測試
啟動mosquitto代理伺服器
# mosquitto -v
另開終端啟動sub訂閱端訂閱 topic01 主題
# mosquitto -t topic01
另開終端啟動pub釋出端釋出消息
# mosquitto -t topic01 -m value01
可以看到實時釋出,實時擷取
報錯記錄
Error: Address already in use
這裡是已經開啟了代理伺服器,重複開啟會報錯
可以通過
ps aux | grep mosquitto檢視是否有相關程序