ESP32 TCP通信堆叠问题记录

最近用ESP32开发板做了个卷帘门的钥匙遥控控制器,在手机的微信小程序中可以远程实现卷帘门的开、关、暂停等动作。

根据IOT平台的设备上下线信息记录,设备总是会有重复登录的情况。

通信机制描述

1. 设备上电初始化之后,会自动连接WIFI,等WIFI连接完成后,会自动连接IOT平台。

2. 当设备跟IOT平台建立TCP连接后,会发送登录指令,实现设备登录。

3. 然后就是正常的心跳数据,2S一条,向IOT平台发送数据。

4. ESP32设备会轮询检测收到的TCP数据并进行处理。

5. 部分时候,会因为收不到服务器的应答数据,导致心跳检测超时,会重新尝试登录IOT平台,然后连续发送多次登录指令,还是收不到服务器数据,但是忽然一个是时间点,批量收到了服务器的应答(实测看到过这个问题)

设备连续登录IOT平台上线的截图如下所示

TCP数据处理记录的标志,当lastTcpHandleTime在心跳线程超时后,会自动重新向IOT平台发送注册指令

检测已经登录,但是连续10S没有接收到服务器数据,会尝试重新发送登录指令。

接收IOT平台的数据

=============================

但是,因为昨天增加了FOTA升级机制,原来的分区是1个程序分区+1个文件分区,后来因为要做FOTA升级机制,直接改成了2个程序分区,对ESP32格式化之后,重新烧录,然后今早来公司查看上线记录,发现稳定的一笔,从昨晚的19点多到今天上午11点多,TCP一直就没断线过,很神奇很神奇。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

willhuo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值