《樹莓派 IoT 學習2 shell搭建mqtt環境》中,腳本的編寫是針對Ubuntu的,後來把腳本修改放在centos6.4中,並不能行的通。問題如下:
1.mosquitto_internal.h:40:20: 錯誤:ares.h:沒有那個文件或目錄
2.read_handle_server.c:31:25: 錯誤:uuid/uuid.h:沒有那個文件或目錄
解決辦法是在config.mk中把WITH_SRV:=yes 和WITH_UUID:=yes屏蔽掉,因爲這個是與平臺有點關係,原內容是這樣的:
# Build with SRV lookup support.
WITH_SRV:=yes
# Build using libuuid for clientid generation (Linux only - please report if
# supported on your platform).
WITH_UUID:=yes
WITH_SRV:=yes
# Build using libuuid for clientid generation (Linux only - please report if
# supported on your platform).
WITH_UUID:=yes
<-----------------------------------------------------------------------------分割線---------------------------------------------------------------------------------------------------->
進入學習正題,mosquito中需要設置的東西還沒有細看,比如加密,監聽等等。基於初步的應用倒是很容易。環境及配置是這樣的:
1.樹莓派中,運行mosquito_pub和mosquito_sub負責數據的上傳,接收
2.惠普ubuntu系統,運行mosquito代理
3.虛擬機centos6.4,運行mosquito_pub和mosquito_sub負責數據的上傳,接收
3個系統裏都裝了mosquitto軟件,然後就可以用圖片中的指令簡單測試了,關於指令說明,用 mosquito_pub --help等查看吧,當然,項目中是要碼代碼的。
這張是樹莓派發布,centos端接收的情況:
這張圖是,樹莓派及centos端都訂閱同一個主題,實現消息雙向通訊: