完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我用的是ESP-12F模块,AT固件版本是1.3.0.0,SDK版本是2.0.0.
我用AT+CIPSTART指令连接到服务器后,一段时间不发消息,就会和服务器断开。 断开后不论是服务器还是模块这边都没有任何响应,所以也不知道具体是多久断开。 所以尝试用AT+CIPSTART指令设置Keepalive功能来保持服务器连接,结果发现我设置成60秒,到了60秒就返回一个CLOSE。 一开始我以为是60秒内就已经和服务器断开了导致这个问题,所以我设置成10秒,结果到了10秒也返回CLOSE。 这个是我设置不正确,还是AT固件的BUG,还是本来设计意图就是这样? 我发的指令格式是:AT+CIPSTART="TCP","192.168.0.123",8000,60 |
|
相关推荐
1个回答
|
|
首先,我们需要了解AT+CIPSTART指令的基本用法。AT+CIPSTART指令用于启动一个TCP连接。其格式如下:
``` AT+CIPSTART= ``` 其中,` 关于Keepalive功能,ESP8266的AT固件中有一个AT+PING指令,用于发送ICMP回显请求,以保持TCP连接的活跃状态。但是,这个指令并不是直接与AT+CIPSTART指令关联的。Keepalive功能通常由服务器端或客户端的TCP栈实现。 现在我们来分析你的问题。你提到在设置Keepalive为60秒或10秒时,都会在指定时间后返回CLOSE。这可能是由以下几个原因导致的: 1. 服务器端的Keepalive设置:请检查服务器端的Keepalive设置,确保服务器端在指定时间内没有关闭连接。 2. 网络环境问题:网络不稳定可能导致连接中断。请确保网络环境稳定。 3. ESP8266模块的固件问题:虽然不太可能是固件BUG,但可以尝试升级到最新版本的固件,看看问题是否得到解决。 4. AT指令设置问题:请确保你发送的AT指令格式正确,没有遗漏或多余的参数。 综上所述,这个问题可能是由服务器端的Keepalive设置、网络环境问题或AT指令设置问题导致的。建议你首先检查服务器端的Keepalive设置,然后确保网络环境稳定。如果问题仍然存在,可以尝试升级固件或检查AT指令的格式。 |
|
|
|
只有小组成员才能发言,加入小组>>
172个成员聚集在这个小组
加入小组432 浏览 1 评论
1300 浏览 1 评论
599浏览 6评论
498浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
481浏览 5评论
480浏览 4评论
464浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-13 06:54 , Processed in 1.017301 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号