# MQTT数据转发
- ☆使用场景:设备按指定Json数据格式向第三方的mqtt服务器发送与接收消息。
提前需要准备的软硬件:
软件:AnyAccess,emqx,mqttfx
硬件:UBox-4G
(1)配置
演示pc安装emqx(windows),没有设置用户名和密码,所以不启用登录验证
服务器ip为192.168.1.131为当前电脑ip
服务器端口号:若emqx没有修改端口号,则默认为1883
设置设备ID为test_client
周期推送,且推送周期为5s
图1-11配置描述:设备端订阅 /100019/C_WriteRTD主题,在消息体中配置关联VW0的值,则根据配置的VW0值写入设备VW0实时数据
图1-12配置描述:当设备端接收到实时数据消息时,会把写数据回发/100019/C_WriteRTDAck主题发送给MQTT服务器
(2)用windows dos终端打开emqx服务,如图1-13
(3)验证客户端是否连接
用网页端登录连接127.0.0.1:18083,用户名默认: admin,密码默认: public
在图1-14客户端栏,若看到刚才配置的设备ID,则连接MQTT服务器成功
在图1-15主题栏,看到刚才订阅的主题,则设备端自定义订阅的主题成功
(4)打开mqttfx并登录本地emqx服务器,并订阅/100019/C_WriteRTDAck主题,如下图
(5)用mqttfx发布主题消息,如下
(6)验证实时数据有没有写成功,如图1-18
在AnyAccess实时数据页面,可以看到VW0的值已成功修改为666
(7)在mqttfx验证设备端是否发送写实时数据回发主题
在mqttfx可以看到接收到设备端发送的/100019/C_WriteRTDAck回复主题消息,消息体也为之前配置的消息
“message” : success
“网络延迟” : 101