说明
云端的电脑拥有了公网IP
这节在云端电脑上安装一个负责数据转发的软件
这样所有的设备连接这个软件,然后按照软件的协议发送数据,
数据便会转发给另一个设备.
开放端口
<ignore_js_op>
安装MQTT软件
1.把以下文件上传到云端电脑
<ignore_js_op>
上传到opt目录
<ignore_js_op>
<ignore_js_op>
<ignore_js_op>
2.解压
<ignore_js_op>
<ignore_js_op>
3. 启动命令行
<ignore_js_op>
4.输入 cd .. 返回上一级目录
<ignore_js_op>
5.输入 ls 查看下当前在哪一级
<ignore_js_op>
6. cd opt 进入opt目录
ls 查看目录
<ignore_js_op>
7.以控制台方式启动MQTT
第一次没有启动起来,启动了两次
cd emqttd && ./bin/emqttd consolecd ..cd emqttd && ./bin/emqttd console
<ignore_js_op>
测试通信
这是我制作的一个上位机MQTT调试助手,提供了源码.
①:
输入自己服务器的IP地址
端口号填写 1883
ClientID 如果不填写内部自动生成
用户名可以不填写,因为还没设置MQTT的用户名
密码同上
② 点击连接
③ 点击订阅
④ 发送数据
以上软件设置的是自发自收
因为发布的主题是 Topic 订阅的主题也是 Topic
实际上是数据携带着Topic发给了MQTT服务器,
因为软件订阅的主题是 Topic
所以服务器把数据转发给了软件
修改MQTT用户名和密码
1.退出控制台
键盘按两次 Ctrl + C
<ignore_js_op>
2.编辑emq.conf
<ignore_js_op>
修改一下文件里面的 mqtt.allow_anonymous = false
<ignore_js_op>
3.编辑 emq_auth_username.conf
<ignore_js_op>
修改用户名和密码(可以设置多套)
auth.user.1.username = yang
auth.user.1.password = 11223344
<ignore_js_op>
4.控制台启动 MQTT
cd emqttd && ./bin/emqttd console
<ignore_js_op>
5.浏览器输入: http://服务器IP地址:18083
默认用户名 admin 密码: public
<ignore_js_op>
6.启用用户鉴权
<ignore_js_op>
测试
用户名密码填写自己设置的密码
<ignore_js_op>
把MQTT安装到电脑
1.退出控制台
键盘按两次 Ctrl + C
<ignore_js_op>
./bin/emqttd start
<ignore_js_op>
其它:停止MQTT emqttd stop