libcoap安装和使用

libcoap是CoAP协议的C语言实现,libcoap提供server和client功能,它是调试CoAP的有力工具。本文将说明如何在Linux平台上安装libcoap,并通过几个简单的例子说明libcoap的使用方法。

  • 【测试环境】——Linux/CentOS

1.获得libcoap

通过git clone指令从github仓库中获得最新版本。

git clone https://github.com/authmillenon/libcoap.git

注意事项:

  • 1)本站提供一个已经下载的libcoap项目(2015年6月6日)。
  • 2)在sourceforge上也有一个libcoap的项目。那个版本已经比较陈旧,不适合本文的操作流程。

2. 编译和安装libcoap

由于libcoap的源代码包中只有configure.in文件,所以比一般的linux源代码方式安装多了一步autoconf,使用autoconf可生成configure文件。

  • 1)生成configure文件
autoconf
  • 2)生成makefile文件
./configure
  • 3)编译
make
  • 4)安装
sudo make install

安装完成之后,便会新建/usr/local/include/libcoap目录,并把coap.h config.h debug.h pdu.h等头文件复制到该目录中。另外,编译生成的libcoap.a该静态链接库被复制到了/usr/local/lib中。

同时,在编译完成之后,在example目录中会增加两个重要文件—coap-client和coap-server。

3. libcoap使用

进入example文件夹,在该文件夹中还有两个可执行文件,coap-client和coap-server。coap-client提供非常丰富的客户端测试指令,而coap-server提供一个较为简单的服务器端功能。

服务器端测试

在开始服务器端测试之前,必须知晓服务器端的IP地址,例如测试服务器的IP地址为114.215.156.21。

  • 1)运行coap-server
./coap-server -A 114.215.156.21
  • 2)在firefox中运行使用GET方法访问该服务器。该步骤需要保证firefox已经安装copper插件。

在浏览器地址栏中输入:

coap://114.215.156.21

点击工具栏中的GET按钮,那么coap-server便会返回以下内容:

Firefox Copper插件

客户端测试

  • 1)运行coap-server
./coap-server -A 114.215.156.21

如果有多个网络地址,coap-server可以会报错。此时应该使用-A选项,指明绑定地址。

  • 2)运行coap-client
coap-client -m get -o result.txt coap://114.215.156.21
  • [-m] 表示coap访问方法,默认为get方法,此处设置为get方法。除了get方法之外还包括put、post和delete。
  • [-o]表示访问获得的内容保存到result.txt文件中

如果访问成功,那么控制台输出:

v:1 t:0 tkl:0 c:1 id:45104 
  • [v]表示coap的版本编号,此时的coap的版本编号为1。
  • [t]表示报文类型为CON,
  • [tkl]表示token区域的长度,此时的token区域的长度为0。
  • [c]表示访问方法(该处还需要分析)
  • [id]表示message id

result.txt文件内容为:

This is a test server made with libcoap (see http://libcoap.sf.net)
Copyright (C) 2010--2013 Olaf Bergmann <bergmann@tzi.org>

小结

libcoap安装过程需要注意——libcoap并没有直接提供configure文件,需要使用autoconf工具生成configure文件,生成configure文件之后的安装方法和其他源代码形式的安装方法完全相同。

libcoap中的coap-client是一个非常使用的工具,可通过控制台设置不同的参数,该工具可与firefox copper插件配合使用。

推荐网站及扩展阅读

QR Code
QR Code iot:coap_libcoap_application (generated for current page)