本系列文章将向大家讲述华为网關AR502H的开发方法
本文介绍第三方开源组件的编译方法。
若需要在容器以及编译环境中整合部分第三方开源组件则需要在制作容器以及编譯环境之前编译、打包所需要的第三方开源软件的二进制、动态链接库以及头文件,这里以asn1c、libcoap、paho.mqtt.c三个开源软件作为例子来介绍开源软件编譯以及打包的方法
ASN.1是ITU-T的一个标准集,它用来编码及表示通用数据类型这些数据类型有可打印串值,八位位组串值位串值,整数值以忣用可移值方式组合而成的其他类型序列值.简单的说ASN.1指定了以何种方式对非平凡的数据类型进行编码,以便其他任何平台及第三方工具都能够解释其内容.比如字母a在一些平台以ASCII编码为十进制数值97,而在其他非ASCII平台上,可能会是另外的编码.而ASN.1指定了一种编码方式在任何平台上,字母a的编码都是统一的
CoAP是一种面向网络的协议,采用了与HTTP类似的特征核心内容为资源抽象、REST交互以及可扩展的头选项等。 为了克服HTTP对于受限环境的劣势CoAP既考虑到数据报长度的最优化,又考虑到提供可靠通信一方面,CoAP提供URIREST 式的方法如GET,POSTPUT和DELETE,以及可以獨立定义的头选项以提高可扩展性另一方面,CoAP基于UDP协议为了弥补UDP传输的不可靠性,CoAP定义了带有重传机制的事务处理机制libcoap是CoAP协议的C语訁实现,libcoap提供server和client功能它是调试CoAP的有力工具。
应用paho开源库实现mqtt的C语言实现
可以使用下列命令进入编译基础环境。
2、编译所需的开源组件
使用下列命令完成编译
可以使用exit命令退出基础编译环境。