emqttd 服务器搭建及测试方法
文章目录
软件下载
http://emqtt.io/downloads/
mqtt服务器启动
把下载的压缩包解压到d:盘,
cmd(不需要管理员)打开命令行窗口,然后进入 bin目录 执行 emqttd console 控制台模式启动:
cd D:/emqttd/bin/
emqttd console
emqttd start
在web上登录如下网址:
http://127.0.0.1:18083/
账户:admin/public
在如上的web页面可以查看控制台的页面
使用mosquitto测试服务器
下载mosquitto及安装
在如下网址下载二进制安装文件:
https://mosquitto.org/download/
- 如下是要下载的文件,双击安装在系统中
mosquitto-1.6.8-install-windows-x64.exe
测试emqttd服务器
-
运行mosquitto进行订阅
cmd cd C:\Program Files\mosquitto C:\Program Files\mosquitto>mosquitto_sub -h 127.0.0.1 -p 1883 -t qq //订阅主题为qq的消息
-
运行mosquitto进行发布
cmd cd C:\Program Files\mosquitto C:\Program Files\mosquitto>mosquitto_pub -h 127.0.0.1 -p 1883 -t qq -m aaaa //发主题为qq的消息aaaa
配置让外网能访问内网的emqttd的服务器
花生壳设置
- 下载花生壳
https://hsk.oray.com/download/
- 设置花生壳
上图:点击加按钮
按上图进行添加一个应用
用mosquitto测试服务器是否配置成功?
- 开一个cmd订阅
C:\Program Files\mosquitto>mosquitto_sub -h quzhifeng123.imwork.net -p 53787 -t qq
订阅主题为qq的消息
- 再开一个cmd发布
C:\Program Files\mosquitto>mosquitto_pub -h quzhifeng123.imwork.net -p 53787 -t qq -m dddd
发布dddd 给刚刚的订阅端,对端可收到证明测试成功。
测试设备(NBioT模块)
- 环境:一边是设备,另一边用mosquitto;其中一边订阅另一边发布。
设备订阅 mosquitto端发布
-
设备上执行at命令订阅:
AT+QMTOPEN=0,"quzhifeng123.imwork.net",53787 AT+QMTCONN=0,"1234567890" AT+QMTSUB=0,1,"Hello",1
-
mosquitto一边执行发布
mosquitto_pub -h quzhifeng123.imwork.net -p 53787 -t Hello -m ddd90
发送了主题为hello的消息,在设备上应该可以收到ddd90的消息。
mosquitto端订阅,设备端发布
- mosquitto端
mosquitto_sub -h quzhifeng123.imwork.net -p 53787 -t qq
- 设备端
AT+QMTOPEN=0,"quzhifeng123.imwork.net",53787
AT+QMTCONN=0,"1234567890"
AT+QMTPUB=0,1,2,0,"qq"
测试的结果并不成功,不知道是什么原因。
XX的mqtt服务器
地址:senseitmqtt.senseitgroup.com
端口:1883
账户:user:1808DC111118, pwd:**********
一级topic:senseit
二级topic:senseit/2AA9999
登录命令:
{"sender":"mach","machId":"2AA9999","action":"login","body":{"state":"1","IMEI":"1808DC111118"}}
这个是心跳命令,发这个服务器会有回应的:
{"sender":"mach","machId":"2AA9999","action":"heart","version":1.1,"body":{"state":"1","doorState":"00000000000000000000000000000000000000"}}
这个是服务器的回应:
{"sender":"server","machId":"2AA9999","action":"heart","version":1.1,"body":{"sendTime":1581763502468}}
mosquitto来测试感创的mqtt服务器
- 订阅topic主题的消息
mosquitto_sub -L mqtt://1808DC111118:**********@senseitmqtt.senseitgroup.com:1883/senseit
- 发布topic主题的消息
mosquitto_pub -L mqtt://1808DC111118:**********@senseitmqtt.senseitgroup.com:1883/senseit -m abcdefg
测试成功,对端可以收到。
用移远设备的AT命令测试
- 设备端订阅 mosquitto端发布(测试成功)
设备端订阅
AT+QMTOPEN=0,"senseitmqtt.senseitgroup.com",1883
AT+QMTCONN=0,"123456789","1808DC111118","**********"
AT+QMTSUB=0,1,"senseit",1
mosquitto端发布
mosquitto_pub -L mqtt://1808DC111118:**********@senseitmqtt.senseitgroup.com:1883/senseit -m abcdef3
- mosquitto端订阅设备端发布(测试成功)
订阅
mosquitto_sub -L mqtt://1808DC111118:**********@senseitmqtt.senseitgroup.com:1883/senseit/2AA9999
发布
AT+QMTOPEN=0,"senseitmqtt.senseitgroup.com",1883
AT+QMTCONN=0,"123456789","1808DC111118","**********"
AT+QMTPUB=0,1,1,0,"senseit/2AA9999",1
发现的问题就是服务器一会就会断开不知道是啥原因引起的?进一步向技术支持求证,把板子发给技术支持。