使用MQTT+4G透传DTU实现远程宽口调试
文章目录一、前言1.1 目标1.2原理二、调试环境搭建2.1、本地环境搭建设置2.1.1 串口虚拟2.1.2 串口转发2.2远程透传设备设置2.2.1透传设备设置三、使用一、前言1.1 目标本文介绍一种基于 MQTT 通道的串口远程调试方案。核心目标是在同一通信链路中利用一台 DTU/透传设备作为远程串口配置和调试 485 总线上的其他设备。简要使用场景工业设备远程维护技术人员无需到现场即可远程调试偏远地区的 485 设备。多设备批量配置对楼宇、农业物联网中的大量 485 传感器进行统一参数设置。跨地域技术支持设备厂商远程接入客户现场的 485 网络进行云端调试。教学实验环境学生用电脑模拟工业通信学习 485 总线和 MQTT 协议。数据透传至云端将 485 设备数据实时发送到云平台进行分析。1.2原理以下是整个完整的链路示意电脑虚拟串口 --- MQTT通过软件转发 --- DTU透传设备 ---透传到485设备首先在本地电脑使用串口虚拟软件搭建两个串口并且将两个串口桥接因为串口转发软件和调试软件需要各占用一个串口理论上一个串口开分享模式也是可以的在将串口转发软件设置好参数。到这里就实现了串口数据转到MQTT当然如果使用的是其他的协议同理。接着配置好远程透传设备的MQTT参数或者其他的网络参数即实现了远程MQTT转到485链路当中。二、调试环境搭建2.1、本地环境搭建设置2.1.1 串口虚拟正常安装目录中的vspd.exe文件vspd是个串口虚拟软件正常安装在之后打开Launch Virtual Serial Port Driver界面如下如上所说使用vspd的目的是为了虚拟串口在这里选择Merge混合原理就是将混合的串口信息转发到其他串口例如我桥接的COM1的口就会将COM1的口转发到其他的所有串口。先新建两个串口合并如图虚拟串口的工作到这里就完成了。可在设备管理器当中看到我们虚拟的串口这里4个是因为之前虚拟2个。2.1.2 串口转发虚拟完成串口之后我们要将其中一个串口的数据转发解压文件夹分别打开文件当中的MQTT.exe和Serial.exe进行配置对于MQTT.exe是将串口转发到服务端填写好串口的信息即可Serial.exe是服务端负责将MQTT.exe发送的数据转发到MQTT因此由于这里使用一台电脑所以服务端和客户端一起使用。最后按图示配置好的状态对于该部分可以使用其他方案不局限此软件只要可实现串口转发都可例如mqtt_serial_bridge等工具也可以。2.2远程透传设备设置2.2.1透传设备设置建议关闭透传设备的其它上报/订阅主题这样可以防止干扰其他订阅主题这里只需要注意将本地的上报主题一定要设置为透传设备的订阅主题同理本地的订阅主题一定是透传设备的上报主题不然无法形成回路。如果本地和透传设备的订阅主题一致就会导致报文的回路无法使用。配置完成即可。三、使用打开终端设备的配置软件选择虚拟的另外一个串口即可正常使用。附件通过网盘分享的文件远程串口软件 链接: https://pan.baidu.com/s/1khdtAxrg59B2lGejXMkZHQ?pwdhope 提取码: hope