基于Esp32的485<—>WiFi(TCP/MQTT) Bridge

本来没想做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,皆可修改。

接收和发送:

  1. 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,解决了燃眉之急。

一定要用ESP32?

485跟 232 不是一个好像不通用吧?? 不知道你那485设备是什么设备,两种逻辑电平不一样的东西

一定要用ESP32?

没看明白啥意思,楼主是不是把485设备的设备转WIFI?,那为什么还要个232模块?