Paho MQTT 嵌入式c客戶端研究筆記
最近做物聯網裝置,需求長連線推送功能。當前物聯網有一個標準協議是MQTT,對應有很多開源服務端,如何快速接入這個服務呢。有兩種接入方案:
1.自己clone 程式碼修改維護。
2.找第三方服務,比如當前提供支援的有云巴,bat。bat目前都還處於公測中,at使用都需要申請裝置,b可以直接接入。對比了價格,b最便宜,一個月免費訊息1百萬條。
最後決定先嚐試使用百度雲的MQTT服務後臺,在百度雲裡術語叫做“”物接入“”。
百度雲MQTT客戶端相容PAHO,PAHO也是一個開源的MQTT協議專案。下面需要寫客戶端對接服務,百度雲提供瞭如下語言的支援:
https://cloud.baidu.com/doc/IOT/MQTTClientSDK.html
由於是物聯網裝置,我們選擇Embedded C/C++。點選進入github工程頁面:
https://github.com/eclipse/paho.mqtt.embedded-c
在Linux環境下:
git clone https://github.com/eclipse/paho.mqtt.embedded-c.git
cd 到工程根目錄
make
編譯成功,build目錄生成如下檔案:
**samples/pub0sub1
samples/qos0pub
libpaho-embed-mqtt3c.so
libpaho-embed-mqtt3c.so.1
libpaho-embed-mqtt3c.so.1.0**
將三個so檔案copy到/lib目錄下,然後執行qos0pub,會發送一條訊息。
再執行pub0sub1,會顯示收到qos0pub之前發的那條訊息。至此,paho mqtt 嵌入式linux平臺c的客戶端就跑起來了。
---------------------
作者:rocky-bull
來源:CSDN
原文:https://blog.csdn.net/rambomatrix/article/details/62892151
版權宣告:本文為博主原創文章,轉載請附上博文連結!