AR502H-CN開發筆記13:編譯第3方開源組件

本系列文章將向大家講述華爲網關AR502H的開發方法。

本文介紹第三方開源組件的編譯方法。


若需要在容器以及編譯環境中整合部分第三方開源組件,則需要在製作容器以及編譯環境之前編譯、打包所需要的第三方開源軟件的二進制、動態鏈接庫以及頭文件,這裏以asn1c、libcoap、paho.mqtt.c三個開源軟件作爲例子來介紹開源軟件編譯以及打包的方法。

一、開源組件介紹

1、asn1c

ASN.1是ITU-T的一個標準集,它用來編碼及表示通用數據類型,這些數據類型有可打印串值,八位位組串值,位串值,整數值以及用可移值方式組合而成的其他類型序列值.簡單的說,ASN.1指定了以何種方式對非平凡的數據類型進行編碼,以便其他任何平臺及第三方工具都能夠解釋其內容.比如,字母a在一些平臺以ASCII編碼爲十進制數值97,而在其他非ASCII平臺上,可能會是另外的編碼.而ASN.1指定了一種編碼方式,在任何平臺上,字母a的編碼都是統一的。

2、libcoap

 CoAP是一種面向網絡的協議,採用了與HTTP類似的特徵,核心內容爲資源抽象、REST交互以及可擴展的頭選項等。 爲了克服HTTP對於受限環境的劣勢,CoAP既考慮到數據報長度的最優化,又考慮到提供可靠通信。一方面,CoAP提供URI,REST 式的方法如GET,POST,PUT和DELETE,以及可以獨立定義的頭選項以提高可擴展性。另一方面,CoAP基於UDP協議,爲了彌補UDP傳輸的不可靠性,CoAP定義了帶有重傳機制的事務處理機制。libcoap是CoAP協議的C語言實現,libcoap提供server和client功能,它是調試CoAP的有力工具。

3、paho.mqtt.c

應用paho開源庫實現mqtt的C語言實現。

二、步驟

1、進入編譯基礎環境

可以使用下列命令進入編譯基礎環境。

sudo docker run -v /home//snmplink:/data -it --rm huawei-ec-iot/sdk:base /bin/bash

2、編譯所需的開源組件

使用下列命令完成編譯。

./build_opensrc.sh armel

./build_opensrc.sh arm64

3、查看編譯結果

開源軟件編譯後,可在/data/eciot-ova/custom_deb目錄下查看生成的deb包。

4、退出基礎編譯環境

可以使用exit命令退出基礎編譯環境。

 

 

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