我是靠谱客的博主 心灵美紫菜,最近开发中收集的这篇文章主要介绍CoAP 服务器 EMQ插件实现 安信可 EC-01 NBiot 模组通信,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

CoAP是一种基于UDP的物联网协议,相较mqtt更加简单。

CoAP服务器可以通过EMQ中的CoAP 接入网关插件将其信息转换为mqtt信息,方便存储以及其他节点接收,插件使用方法在EMQ官方文档中有详细介绍以及例程。配置全部默认即可。

CoAP 协议网关https://www.emqx.io/docs/zh/v4.4/modules/coap_protocol.html#coap-%E5%8D%8F%E8%AE%AE%E7%BD%91%E5%85%B3

插件运行成功后,可以按照EMQ手册中给的例程,使用libcoap进行测试,可以看到,信息发送后,订阅相关主题已经能够成功接收到信息。注意,在这里需要将IP地址修改为自己服务器对应ip。

/usr/bin/coap-client -m put -e "hello EMQ X world, i am coap, in ubuntu"  "coap://127.0.0.1/mqtt/coap_to_mqtt?c=123"

 接着,我使用了安信可的EC-01模块来尝试发送信息到EMQ平台,首先按照手册,上电测试。

AT //判断模组是否上电开机成功
AT+CFUN=1 //关闭飞行模式
AT+CEREG? //判断 PS 域附着状态,第二个参数为 1 或 5 表示附着正常

接着需要创建CoAP客户端,以及配置CoAP协议信息。

其中在抓包数据中可以看到,路径信息"/mqtt/coap_to_mqtt"以及clintID以及连接账户密码等配置是以CoAP Options形式发送的,因此需要额外配置。

 配置代码如下:

AT+COAPCREATE=5683    //创建CoAP客户端,指定端口号
AT+COAPHEAD=1    //添加CoAP头,随机生成消息ID和令牌值

AT+COAPOPTION=3,11,"mqtt",11,"coap_to_mqtt",15,"c=123"    //添加CoAP选项 
//在示例url中“/mqtt/topic1“需要以Uri-Path添加,ClientID,用户名,密码需要以Uri-Query添加,在这里只添加了ClientID

接下来就可以通过EC-01来发送信息给服务器了:

AT+COAPSEND=0,3,"URL",5683,28,"hello EMQ X world, i am coap"

注意,在消息发送完成后,再次发送消息前,需要再次定义CoAP头选项!否则会显示发送成功但服务器端接收不到消息。

最后

以上就是心灵美紫菜为你收集整理的CoAP 服务器 EMQ插件实现 安信可 EC-01 NBiot 模组通信的全部内容,希望文章能够帮你解决CoAP 服务器 EMQ插件实现 安信可 EC-01 NBiot 模组通信所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部