使用EMQX-CoAP插件接收硬件设备通过CoAP协议发送的数据
emqx提供了emqx-coap插件,可以用来接收CoAP协议的数据。
官方文档emqx-coap插件地址:https://github.com/emqx/emqx-coap
官方文档介绍:
emqx-coap是EMQ X Broker的CoAP网关。它将CoAP消息转换为MQTT消息,并使CoAP客户端和MQTT客户端之间的通信成为可能。
开启coap插件的方式有两种,一种是 直接在dashboard控制台打开。
另一种是在命令行加载该插件
./bin/emqx_ctl plugins load emqx_coap
coap默认端口是5683。
开启coap插件后,官方推荐使用libcoap作为客户端。
libcoap是一个优秀的coap库,它有一个简单的客户端工具。建议使用libcoap作为coap客户端。
github地址:https://github.com/obgm/libcoap
clone下来以后进行编译安装
git clone http://github.com/obgm/libcoap
cd libcoap
./autogen.sh
./configure --enable-documentation=no --enable-tests=no
make
如果在执行./autogen.sh时报错,提示缺少工具,请安装autoconf 和 libtool。
yum install autoconf -y
yum install libtool -y
编译成功后,会发现example文件夹下多了几个可执行文件。
进入example文件夹:
发布示例:
./coap-client -m put -e 1234 “coap://127.0.0.1/mqtt/topic1?c=client1&u=tom&p=secret”
此时凡是订阅topic1的MQTT或者CoAP客户端都能收到发布的1234这条消息。
订阅示例:
./coap-client -m get -s 10 “coap://127.0.0.1/mqtt/topic1?c=client1&u=tom&p=secret”
此时如果任何mqtt客户端或coap客户端向“topic1”发送消息,你都可以收到。
注意:官方文档明确说明emq-coap网关不接受POST和DELETE请求。
使用MQTT客户端向Topic1发送消息:
CoAP客户端发布消息:
- Android使用wifi通过UDP协议发送广播数据包给PC接收不到问题解决方法
- 嵌入式内核及驱动开发-09IIC子系统框架使用(I2C协议和时序,I2C驱动框架,I2C从设备驱动开发,MPU6050硬件连接,MPU6050数据读取,MPU6050从设备驱动编写)
- python中使用flask框架通过json接收和发送网页上的数据
- 使用UDP协议发送和接收数据
- 使用UDP协议发送和接收数据
- 使用UDP协议发送和接收数据
- Java_网络编程_使用UDP协议发送及接收数据
- 求助:关于MAC下的用UVC协议通过USB接口从外接设备接收数据问题
- 使用UDP协议发送和接收数据
- 基于UDP协议的网络编程(使用DatagramSocket发送接收数据)
- 通过消息跨进程发送与接收 TCopyDataStruct 数据 - 回复 "skymesh"
- 通过消息跨进程发送与接收 TCopyDataStruct 数据 - 回复 "skymesh"
- WIN32编程 -- 通过使用SetupDi 调用函数枚举硬件设备
- Java网络编程从入门到精通(13):使用Socket类接收和发送数据
- 17.4.2 使用DatagramSocket发送、接收数据 #知识库
- Python中使用socket发送HTTP请求数据接收不完整问题解决方法
- Socket —>AsyncSocket(ios socket第三方框架 AsyncSocket使用简介,连接,心跳,断线,数据发送与接收)
- 程序使用 HTTP 协议和服务器交互主要是进行数据的提交,通常数据的提交是通过 GET 和 POST 两种方式来完成
- 使用UDP非连线式发送接收数据(聊天室模式)
- C#通过API获取接收数据窗体控件句柄,并向该句柄发送文本信息