emqx lwm2m插件使用(一)

emqx lwm2m插件使用(一)

  • 安装emqx
  • emqx 使用
    • Dashboard
    • EMQX_LWM2M插件启用
    • EMQX_LWM2M 测试
      • wakaama客户端测试工具
      • Lwm2m 与 mqtt

安装emqx

emqx 官方文档:https://docs.emqx.io/broker/latest/cn/

部署到centos
安装:

curl https://repos.emqx.io/install_emqx.sh | bash

配置emqx端口号:18083
华为云平台:
在这里插入图片描述
本地centos:

开放18083端口

firewall-cmd --zone=public --add-port=18083/tcp --permanent   

关闭18083端口

firewall-cmd --zone=public --remove-port=18083/tcp --permanent  

配置立即生效

firewall-cmd --reload   

还需要开通mqtt1883端口号,emqx的接收到的数据均可以通过mqtt转发
启动emqx

$ emqx start
EMQ X v4.0.0 is started successfully!
$ sudo systemctl start emqx
EMQ X v4.0.0 is started successfully!
$ sudo service emqx start
EMQ X v4.0.0 is started successfully!

查看是否启动成功
EMQ X 正常启动:

$ emqx_ctl status
Node '[email protected]' is started
emqx 4.0.0 is running

EMQ X 未能正常启动:

$ emqx_ctl status
Node '[email protected]' not responding to pings。

到这里emqx已经安装完成

emqx 使用

Dashboard

用浏览器打开下面链接:
http://xx.xx.xx.xx:18083 “xx.xx.xx.xx为服务器ip”
user/pawd:admin/public
emqx lwm2m插件使用(一)_第1张图片
在插件里面可以看到emqx自带的一些插件,可以直接在界面内开启。
注:如果开启一些通讯插件需要服务器开通对应的端口号

EMQX_LWM2M插件启用

  1. 在Dashboard界面的插件里面启动emqx_lwm2m插件
    emqx lwm2m插件使用(一)_第2张图片2. 服务器开启Lwm2m:5683端口号:
    云服务器:
    在这里插入图片描述
    本地centos:
	firewall-cmd --zone=public --add-port=5683/udp --permanent   

插件源码:https://github.com/emqx/emqx-lwm2m
插件配置文件路径:etc/plugins/emqx_lwm2m.conf

EMQX_LWM2M 测试

wakaama客户端测试工具

下载地址:https://github.com/eclipse/wakaama

编译:
wakaama项目采用cmake作为项目构建工具,如何引用项目的CMakeLists.txt,可以参照在/example下的各个项目的CMakeLists.txt是如何编写的。需要注意的是,为了不破坏原有的项目结构,推荐采用外部构建的方式

# 在wakaama之外新建你自己的项目目录,假设为project
cd project
# 注意替换变量为wakaama项目的所在位置,以编译server为例
# 将会在project目录下生成中间文件
cmake ${wakaama_base_dir}/example/client
make
# 产生的二进制文件名,可以参看example/server/CMakeLists.txt的PROJECT指令的参数

运行:

./lwm2mclient -n ep1 -h 127.0.0.1 -p 5683 -4

-n 客户端名字
-h 主机ip
-p 端口号
-4 IPV4
正常运行:
emqx lwm2m插件使用(一)_第3张图片
在Dashboard界面可以看到客户端已经连接,如下图:
emqx lwm2m插件使用(一)_第4张图片
使用mqtt工具发送lwm2m命令
发送主题:lwm2m/{?EndpointName}/dnemqx lwm2m插件使用(一)_第5张图片
wakaama客户端接收到数据,如下图:
emqx lwm2m插件使用(一)_第6张图片
接收到discover命令,客户端会上报所有object id/resource id,lwm2m服务器封装成json转发给mqtt客户端

Lwm2m 与 mqtt

emqx_lwm2m插件会将收到的lwm2m协议数据包装成mqtt的json发送给mqtt client,同理mqttclient下发的json数据也会通过插件解析成lwm2m协议格式发送给lwm2m客户端。
主题说明:
lwm2m to mqtt :lwm2m/{?EndpointName}/up/resplwm2m/{?EndpointName}/up/notify
mqtt to lwm2m:lwm2m/{?EndpointName}/dn
详细信息参考官网说明:https://github.com/emqx/emqx-lwm2m

你可能感兴趣的:(emqx)