第7章 CoAP软件实现
7.1 本章主要内容
本章将介绍多种CoAP的软件实现框架。随着CoAP标准的完善和开源社区的不断努力,市面上出现了多种CoAP的软件实现框架,这些软件实现框架既可以运行在Windows或Linux平台等非受限制平台,也可以运行在诸如Arduino或低功耗无线传感网终端等受限制设备中。除了运行平台的多样性之外,用户还可以使用不同的编程语言实现CoAP的各种功能,这些编程语言包括Java、C、Python和Node.js等。面对不同的平台与不同的使用场景,各种开源实现框架并不一定包括CoAP的所有功能,各种开源实现框架往往只是CoAP众多标准的一些子集,在实际开发的过程中需要根据团队的技术偏好和具体需求灵活选择。CoAP实现框架的功能概述和实现特性见表7-1。
表7-1 CoAP软件实现
本章节相关示例代码均位于GitHub代码仓库中,用户可以使用git clone指令复制示例代码仓库,代码仓库的地址如下:
https://github.com/xukai871105/the_beginning_of_coap
其中:
1)californium入门示例相关文件位于simple_demo/cf_demo目录中。
2)aiocoap入门示例相关文件位于simple_demo/aiocoap_demo目录中。
3)node-coap入门示例相关文件位于simple_demo/nodecoap_demo目录中。
7.2 libcoap
与Linux平台大多数以lib开头的工具一样,libcoap是一款简单实用但功能完整的开发工具。libcoap不但提供了一个实用的coap-client命令行工具,也提供了一个用于测试目的的coap-server命令行工具。
libcoap提供一个动态链接库libcoap.so文件,用户可以使用libcoap提供的API实现各种形式的coap-server或coap-client。libcoap还是一款非常高效的命令行调试工具,libcoap提供的coap-client工具相当于HTTP领域中的cURL工具,该工具可以实现各种各样的CoAP请求。更多信息可前往libcoap的官方网址和github代码仓库获得。
·libcoap官方网址:https://libcoap.net/
·libcoap代码仓库:https://github.com/obgm/libcoap
libcoap是一个多功能的工具,虽然使用其他的脚本语言例如Python和Node.js也可以编写出功能相同的CoAP请求,但libcoap工具的使用更加方便灵活。
7.2.1 libcoap安装
libcoap的安装过程大致可分为安装依赖项、获取源代码、编译与安装这4个步骤。可通过多种方式获取libcoap的源代码,若在Linux主机中已经安装Git工具,可通过“git clone”方式获得libcoap最新代码;若尚未安装git工具,也可直接下载libcoap官方提供的稳定版源代码。
下面将详细说明如何在树莓派3代中通过源代码的方式安装libcoap,其他Linux主机中安装libcoap的步骤与树莓派3代中安装libcoap的步骤几乎相同。
1.安装依赖项
通过源代码方式安装libcoap时需要提前安装automake、libtool和doxygen等依赖工具,在树莓派3代中可通过apt-get工具安装以上依赖工具。
# 安装依赖工具之前, 请先使用apt-get update指令更新软件源
sudo apt-get update
# 必选依赖项 automake autoconf