文档首页 > > 用户指南> IoT接入管理> 使用libcoap接入IoT平台

使用libcoap接入IoT平台

分享
更新时间: 2019/11/28 GMT+08:00

本节以libcoap为例,介绍使用第三方软件以CoAP协议接入IoT平台,实现采集物联网设备数据。libcoap是CoAP协议的C语言实现,libcoap提供server和client功能,它是调试CoAP的有力工具,下文将说明如何在Linux(推荐CentOS)上安装libcoap,并实现与IoT平台的对接。

获取libcoap

方法一:

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

git clone http://github.com/obgm/libcoap

方法二:

访问http://github.com/obgm/libcoap,下载压缩包,并上传到linux(推荐CentOS)虚拟机。

图1 下载安装包

安装和编译libcoap

执行如下命令安装并编译libcoap:

cd libcoap 
./autogen.sh 
./configure --enable-documentation=no --enable-tests=no --enable-dtls=no 
make

libcoap对接IoT平台方法

  1. 进入examples目录。
  2. 执行如下命令订阅消息

    ./coap-client -m get -s {subscribetime} "coap://{Endpoint}/mqtt/{topicname}?c={clientid}&u={username}&p={password}"

    • {subscribetime}:订阅时长。
    • {Endpoint}:连接域名。请设置为购买IoT接入实例中已创建的IoT实例的Endpoint。
    • {topicname}:输入订阅发布的Topic。
    • {clientid}:设备id。
    • {username}:设备请求接入IoT实例所使用的用户名。
    • {password}:设备请求接入IoT实例所使用的密码。用户名和密码请保持与购买IoT接入实例中,创建的实例用户名、密码一致。

  3. 执行如下命令发布消息:

    ./coap-client -m put -e {message} "coap://{Endpoint}/mqtt/{topicname}?c={clientid}&u={username}&p={password}"

    • {message} :表示订阅的消息内容。
    • {clientid}:设备id。
    • {Endpoint},{topicname},{username}{password},设置与2中的保持一致。

验证对接结果

订阅示例:

./coap-client -m get -s 60 "coap://192.168.100.5:5684/mqtt/test?c=client2&u=test&p=password@1234"

发布示例:

./coap-client -m put -e coap_test "coap://192.168.100.5:5684/mqtt/test?c=client1&u=test&p=password@1234"

示例中,以发布一条主题为"test",内容为“coap_test”的消息为例。发布端设备id为client1,订阅端设备id为client2。此消息发布后,任何mqtt客户端或者CoAP客户端,若订阅了此主题,则均可立即收到对应的消息内容。

验证方法一:

支持CoAP协议的订阅端client2,订阅了test主题的消息内容,则如图2所示,可接收到消息内容。

图2 回显订阅信息

验证方法二(强烈推荐):

支持MQTT协议的订阅端,订阅了test主题的消息内容,则图3所示 ,可接收到消息内容。

图3 订阅成功示例

验证方法三:

进入IoT实例的设备管理页面,可分别查看到订阅设备和发布设备的设备id。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区