MT7621加 OPENWRT 移植MQTT(paho.mqtt.c) 進行數據的收發


1. 下載MQTT的代碼paho.mqtt.c,https://github.com/eclipse/paho.mqtt.c,咱是從gitHUB上下載的,也可以直接在ubuntu上面,用git clone https://github.com/eclipse/paho.mqtt.c.git 下載

 

2. 下載完成后,看下代碼結構

 

3. 編譯問題,這套代碼需要用到SSL,當然不用也是可以的,就是需要修改根目錄下的Makefile,比較麻煩,反正我是修改了Makefile,可以不用SSL的。CC等於交叉編譯工具鏈的目錄,在根目錄下執行

make CC=/home/qhq/openert_mt7621/toolchain_mipsel_24kc_gcc_8.3/bin/mipsel-openwrt-linux-gcc

就可以開始編譯了,中途可能會提示錯誤,STAGING_DIR沒定義,自己去export一下

export STAGING_DIR=/home/qhq/openert_mt7621/toolchain_mipsel_24kc_gcc_8.3/bin:$STAGING_DIR

4. 其中編譯的時候出現問題

error: expected declaration specifiers or '...' before numeric constant
 void free(void *);

需要修改根目錄下的Makefile文件,去掉-D_GNU_SOURCE

 

基本就可以編譯過去了。其他問題可能是SSL的問題了,由於我修改Makefile去掉SSL,所以跳過SSL的問題。

5. 編譯完成后,成功的話會生成built文件,里面的.so就是庫文件

 

當時比較好奇,.so 和 .so.1 ,.so.1.3什么關系,解釋如下,說白了,其中一個是庫,另外兩個是快捷方式(軟鏈接),都指向這個庫,可能有些系統喜歡.so。有些喜歡。so.1,口味不同。反正我都是3個都拷貝到我的MT7621的  /usr/lib ,以防萬一

 

接下來把我的應用代碼,也拷貝到MT7621里面,執行一下

 

 

平台上收到咱的數據

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM