docker创建EMQX,在EMQX上开启lwm2m协议插件,并测试与lwm2m客户端进行通讯

1.docker创建EMQX

docker run -d --name emqx --restart=always --net host  emqx/emqx

2.访问EMQX后台管理界面

 http://ip地址:18083/

 docker创建EMQX,在EMQX上开启lwm2m协议插件,并测试与lwm2m客户端进行通讯_第1张图片

3.设置为页面语言为中文

docker创建EMQX,在EMQX上开启lwm2m协议插件,并测试与lwm2m客户端进行通讯_第2张图片

4.开启lwm2m插件

 docker创建EMQX,在EMQX上开启lwm2m协议插件,并测试与lwm2m客户端进行通讯_第3张图片

 emqx_lwm2m插件会将收到的lwm2m协议数据包装成mqtt的json发送给mqtt客户端,同理mqtt客户端下发的json数据也会通过插件解析成lwm2m协议格式发送给lwm2m客户端。
主题说明:
lwm2m to mqtt: lwm2m/{?EndpointName}/up/resp,lwm2m/{?EndpointName}/up/notify
mqtt to lwm2m: lwm2m/{?EndpointName}/dn

详见:GitHub - emqx/emqx-lwm2m: EMQ X LwM2M Gateway

5.下载MQTT测试工具MQTTX

下载地址为:https://github.com/eclipse/leshan/releaseshttps://github.com/eclipse/leshan/releases

6.下载leshan源代码(java语言编写的lwm2m客户端、引导、服务端程序)

       git仓库地址为:

https://github.com/eclipse/leshan.githttps://github.com/eclipse/leshan.git如果不是本机部署EMQX,则修改  src/main/java/org/eclipse/leshan/client/demo/cli/LeshanClientDemoCLI.java 类      docker创建EMQX,在EMQX上开启lwm2m协议插件,并测试与lwm2m客户端进行通讯_第4张图片

 7.启动src/main/java/org/eclipse/leshan/client/demo/LeshanClientDemo.java类。

        然后就能在EMQX的“客户端”界面看到连接的lwm2m客户端

docker创建EMQX,在EMQX上开启lwm2m协议插件,并测试与lwm2m客户端进行通讯_第5张图片

点击客户端名称进入查看客户端设备详情

docker创建EMQX,在EMQX上开启lwm2m协议插件,并测试与lwm2m客户端进行通讯_第6张图片8.使用MQTTX工具连接EMQX的mqtt borker并订阅lwm2m客户端注册和更新消息的主题。

连接mqtt borker。

docker创建EMQX,在EMQX上开启lwm2m协议插件,并测试与lwm2m客户端进行通讯_第7张图片

 订阅lwm2m客户端注册和更新消息的主题,在第7步中可以在EMQX管理界面上看到lwm2m的客户端id为“DESKTOP-0QL”,所以订阅的主题为:

lwm2m/DESKTOP-0QL/up/resp

lwm2m/DESKTOP-0QL/up/notify

docker创建EMQX,在EMQX上开启lwm2m协议插件,并测试与lwm2m客户端进行通讯_第8张图片

发送主题为:lwm2m/DESKTOP-0QL/dn

docker创建EMQX,在EMQX上开启lwm2m协议插件,并测试与lwm2m客户端进行通讯_第9张图片

9.测试

当重启lwm2m客户端时候就可以在MQTTX测试工具上看到lwm2m客户端的注册信息。

然后发送read或者write

read

{
  "reqID": "123",
  "msgType": "read",
  "data": {
    "path": "/1/0/1"
  }
}

write 

{
  "reqID": "123",
  "msgType": "write",
  "data": {
    "path": "/1/0/1",
    "type": "Integer",
    "value": 333
  }
}

就可以收到lwm2m客户端反馈的消息。

docker创建EMQX,在EMQX上开启lwm2m协议插件,并测试与lwm2m客户端进行通讯_第10张图片

其他write、boserve等等的格式详见:GitHub - emqx/emqx-lwm2m: EMQ X LwM2M Gateway

你可能感兴趣的:(docker,java,docker,容器,运维)