本来没想做485转无线,奈何突发奇想打算上个485触控开关,没有提前留线只好尝试无线了…
首先要有:
一只485设备;
一块Esp32模块;
一个485转TTL模块。
接线和设置:
1.485设备的A、B端分别跟TTL模块的A、B端对接;
2.TTL模块的GND接ESP的GND,VCC接Esp32的vin或者3.3V(一般这个模块是3.3-5V通用);
3.TTL模块的TX接config.h定义的RXPIN,TTL模块的RX接config.h定义的TXPIN;(敲黑板!!!)
4.config.h里填上自己的wifi SSID和密码,MQTT服务端的ip、用户和密码;
5.可自行修改程序的发布、订阅Topic,默认分别是Esp32/result、Esp32/cmd;qos默认是1,retain默认false;
6.RXPIN和TXPIN默认是ESP32的GPIO21和GPIO1,TCP端口默认是8880,皆可修改。
接收和发送:
- TCP: 连接esp32_ip:8880实现收、发485设备的报文;
2.MQTT:订阅Esp32/result用于接收485报文;485报文指令通过Esp32/cmd发布,就可以远程控制设备。
最后刷机:
用Arduino刷就好,程序在github上https://github.com/Lumy88/ESP32-Serial-Bridge,或直接下载附件
ESP32-Serial-Bridge.zip (140 KB)
特别感谢原作者AlphaLima,解决了燃眉之急。