mosquitto編譯ubuntu12.04

一 編譯源碼和安裝


(1)下載源代碼包

 http://mosquitto.org/files/source/

【1】解壓

tar -xfv mosquitto-1.5.tar.gz

【2】進入目錄
cd mosquitto-1.5

【3】編譯

make

【4】安裝
sudo make install

(2) 安裝注意點

【1】編譯找不到openssl/ssl.h

【解決方法】——安裝openssl

  sudo apt-get install libssl-dev

【2】編譯過程找不到ares.h

【解決方法】——修改config.mk中的WITH_SRV:=yes,改爲WITH_SRV:=no

【2】編譯過程找不到uuid/uuid.h

【解決方法】——apt-get install uuid-dev

【3】使用過程中找不到libmosquitto.so.1

 error while loading shared libraries: libmosquitto.so.1:cannot open shared object file: No such file or directory

【解決方法】——修改libmosquitto.so位置

  # 創建鏈接

  sudo ln -s /usr/local/lib/libmosquitto.so.1/usr/lib/libmosquitto.so.1

 # 更新動態鏈接庫

  sudo ldconfig

【4】make: g++:命令未找到

【解決方法】

  安裝g++編譯器

  sudo apt-get install g++   

二 簡單測試

一個完整的MQTT示例包括一個代理器,一個發佈者和一個訂閱者。測試分爲以下幾個步驟:

【1】啓動服務mosquitto。

【2】訂閱者通過mosquitto_sub訂閱指定主題的消息。

【3】發佈者通過mosquitto_pub發佈指定主題的消息。

【4】代理服務器把該主題的消息推送到訂閱者。

【測試說明】

測試環境:ubuntu 12.04 虛擬機

在本例中,發佈者、代理和訂閱者均爲localhsot,但是在實際的情況下三種並不是同一個設備,在mosquitto中可通過-h(--host)設置主機名稱(hostname)。爲了實現這個簡單的測試案例,需要在linux中打開三個控制檯,分別代表代理服務器、發佈者和訂閱者。


2.1 啓動代理服務

mosquitto -v

【-v】打印更多的調試信息

2.2 訂閱主題

mosquitto_sub -v -t sensor

【-t】指定主題,此處爲sensor

【-v】打印更多的調試信息

2.3 發佈內容

mosquitto_pub -t sensor -m 12

【-t】指定主題

【-m】指定消息內容

2.4 運行結果

當發佈者推送消息之後,訂閱者獲得以下內容

sensor 12

而代理服務器控制檯中會出現——連接、消息發佈和心跳等調試信息。通過代理服務器的調試輸出可以對MQTT協議的相關過程有所瞭解。


轉載:https://blog.csdn.net/zhang89xiao/article/details/51734536

        https://blog.csdn.net/u012990532/article/details/50586002   

          https://mcxiaoke.gitbooks.io/mqtt-cn/content/mqtt/02-ControlPacketFormat.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章