ESP32作为STA,和TCP client情况下,并开启tcp自动重连功能,进入透传模式下,在数据正在传输过程中关闭电脑中的TCP server。然后再重新打开TCP server服务,这个时候tcp 服务器就无法收到透传数据,但是ESP32 却能够收到TCP 服务器发的数据。这种情况好像进入了透传中的临时模式,即esp32能接受tcp数据,但是数据却无法发出。
有什么办法可以解决重连之后数据能够正常互相收发吗?
透传模式下正在传输过程中断开tcp服务,再次连接上数据无法传输,进入临时模式
Moderator: ESP_XCGuang
Re: 透传模式下正在传输过程中断开tcp服务,再次连接上数据无法传输,进入临时模式
TCP 连接建立完成后,通信是双向的,ESP32 能接收到 PC 端的数据,也就能发送数据到 PC。
建议您抓包看下,ESP32 是否发送了数据,同时也可以在 menuconfig 里打开 debug log 和 LwIP 层日志,从日志口看下具体的交互过程。
建议您抓包看下,ESP32 是否发送了数据,同时也可以在 menuconfig 里打开 debug log 和 LwIP 层日志,从日志口看下具体的交互过程。
Re: 透传模式下正在传输过程中断开tcp服务,再次连接上数据无法传输,进入临时模式
透传接收模式
在 普通传输模式 和 透传模式 之间的一个临时模式。
在透传接收模式,AT 不能发送数据到传输对端;但 AT 可以收到来自传输对端的数据,通过 AT 命令口无修改地返回给 MCU。更多介绍请参考 Transmission Mode Shift Diagram。
会不会是由于某种原因进入了这种状态?
重复步骤,1. 使能透传模式(SAVETRANSLINK) 2. 使用tcpudpdbg作为服务端打开服务,客户端自动会链接。 3. 使得模块连续传输数据到服务端,可以看到数据接收到。 4. 把tcpudpdbg这个软件直接关闭 5. 重新打开这个软件并启动服务端服务 6. 看到客户端能接入,但是无法看到数据接收到。但是如果发命令给客户端,客户端打印信息可以看收到信息命令。
如果没复现,稍微多尝试两三次就可以看到这个问题。
在 普通传输模式 和 透传模式 之间的一个临时模式。
在透传接收模式,AT 不能发送数据到传输对端;但 AT 可以收到来自传输对端的数据,通过 AT 命令口无修改地返回给 MCU。更多介绍请参考 Transmission Mode Shift Diagram。
会不会是由于某种原因进入了这种状态?
重复步骤,1. 使能透传模式(SAVETRANSLINK) 2. 使用tcpudpdbg作为服务端打开服务,客户端自动会链接。 3. 使得模块连续传输数据到服务端,可以看到数据接收到。 4. 把tcpudpdbg这个软件直接关闭 5. 重新打开这个软件并启动服务端服务 6. 看到客户端能接入,但是无法看到数据接收到。但是如果发命令给客户端,客户端打印信息可以看收到信息命令。
如果没复现,稍微多尝试两三次就可以看到这个问题。
Re: 透传模式下正在传输过程中断开tcp服务,再次连接上数据无法传输,进入临时模式
最新更新一下,在512000的波特率情况下会出现这种情况。在115200目前看起来不好重新这个问题。莫非是波特率太高导致数据量太大,无线无法传输出去了。。
Re: 透传模式下正在传输过程中断开tcp服务,再次连接上数据无法传输,进入临时模式
512000 波特率不算很高,确保 ESP 设备和 MCU 之间的 UART 接线尽可能的短。开启 UART 流控测试。
数据不会无缘无故丢失,要么丢在如上的 UART,要么丢在网络上,可以抓包看下具体的交互过程。
数据不会无缘无故丢失,要么丢在如上的 UART,要么丢在网络上,可以抓包看下具体的交互过程。
Who is online
Users browsing this forum: No registered users and 9 guests