帖子《可以使用wifi模块ESP8266来完成modbus TCP通信吗》中大家都说esp32不能以server出现,稍微能理解其原因,但不知道这是否是绝对的,猜想
通过自定义AT指令接口不知道这样的可行性:
方法一 :
1 针对esp32的源码工程添加ModbusTCP工程,4种寄存器的起始地址和数量通过AT指令参数实现。
2 设计对应的自定义AT接口,包括配置的IP地址端口,超时时间,4种寄存器定义接口等
3 然后编译出固件下载到esp32中。
4 单片机通过串口AT接口定时的发更新寄存器内容。
5 mb_client读请求时直接按内容回复;如果是写内容时在通过AT接口给单片机。
6对于远端寄存器写内容可以阻塞回复,也可以异步方式通过回读确定上次写效果是否实现。
方法二:
在esp32上实现modbusTCP slave转modbus RTU master的功能,但这样效率肯定不高。延迟厉害。所以重点谈论方法1的可行性。
更多回帖