嵌入式技术论坛
直播中

哔哔哔-

8年用户 1268经验值
擅长:电源/新能源
私信 关注
[问答]

怎样去解决ESP8266通过AT接口实现modbus TCP slaver可行性的问题

帖子《可以使用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的可行性。

回帖(2)

王斌

2022-8-16 11:24:04
ESP32 本身可以使用固件开发的方式,这样直接实现基于WIFI的 Modbus,不需要再使用RT-Thread AT
举报

哔哔哔-

2022-8-16 11:24:19
前期方案已经定了,与esp32的接口只是一个串口,要么全部网络功能用自定义协议沟通,此时可以在esp32进行C开发;因为其它的用的是AT接口,所以才由此一问。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分