其他分享
首页 > 其他分享> > ESP8266转RS485/RS232/TTL控制板-控制板实现MQTT通信,485,232,TTL透传(支持断线重连)

ESP8266转RS485/RS232/TTL控制板-控制板实现MQTT通信,485,232,TTL透传(支持断线重连)

作者:互联网

<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/circuit_module/8266_485_industrial" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

<iframe frameborder="0" height="1500" name="ifd" scrolling="auto" src="https://mnifdv.cn/resource/cnblogs/circuit_module/8266_485_industrial" width="100%"></iframe>

 

说明

这节测试一下使用控制板连接MQTT服务器,并做RS485/RS232/TTL数据透传.

具体实现什么功能用户可以在这个基础上修改.

 

测试

1,打开这节的工程

 

 

2,管理库

 

 

3,输入 MQTT 然后会自动显示库,然后安装(如果安装过了,不需要再安装)

 

 

安装完成以后关闭

 

 

4,修改连接的路由器, 修改MQTT服务器信息

 

 

5,然后下载到控制板

 

 

6,安装好天线, 咱使用下载口看下日志

 

 

 

为方便从头看日志,可以按一下这个按键复位下控制板

 

 

 

 

 

7,测试RS485透传(我使用串口转485模块进行测试)

 

8,打开MQTT调试助手

 

 

根据自己的MQTT服务器填写,然后点击连接

 

 

 

9,调试助手上发布和订阅的主题根据自己的设备打印的日志进行修改

 

 

9,然后点击订阅

 

 

10,使用调试助手发送消息给控制板,用户会在RS485口上收到数据

 

 

11,使用RS485给控制板发送数据,数据将会转发到MQTT调试助手上

 

 

 

12,用户也可以测试下RS232/TTL,和上面485的一样,都是透传

 

 

断线重连测试

这个用户测试哈, 用户可以断路由器,或者主动关闭MQTT服务器等等,看看是不是可以断线重连.

断线以后模组会进行重连,连接3次都连接不上就会重启,然后如此循环.

 

 

 

程序说明

1,MQTT配置

模组使用MAC地址作为MQTT的client_id;

订阅的主题为 user/模组的MAC地址;

发布的主题为 device/模组的MAC地址;

 

 

2,MQTT接收的数据通过RS485或者RS232输出

 

 

 

3,心跳包处理

 

 

4,RS485/RS232/TTL接收的数据发送到MQTT

 

 

5,其它

arduino提供的这个mqtt包不太好,MQTT的通信频率至少150ms .

 

标签:重连,RS485,MQTT,控制板,测试,TTL,RS232
来源: https://www.cnblogs.com/yangfengwu/p/16661494.html