乐鑫技术交流
直播中

王芳

7年用户 1433经验值
私信 关注
[问答]

在不执行任何操作的情况下,应该发送多少个802.11 NULL数据包呢?

我刚刚加入这些论坛,因为我正在为我所有的 esp8266 的连接问题而苦苦挣扎。我正在使用 arduino esp8266 核心固件,但我认为问题与 esp8266 SDK 有关。在 github issues 论坛中有一些开放的帖子,有些人遇到了这个连接问题:esp8266 失去连接,主要是由于没有回复 ARP 请求。
我一直在监控我的 WiFi 网络,连接了两个 WiFi 路由器和 10 个 esp8266 设备,它们丢失了 http、mqtt、ping ......连接不时随机进行,实际上不会以随机方式响应 ARP 请求。
While debugging the WiFi traffic with Wireshark, I have noticed that the ESP8266 are generating a HUGE amount of 802.11 null packets (no data). All devices send these packets from time to time to the WiFi AP, as a "keep alive" for the network, but my esp8266s are sending up to 20 packets per second, continously. I think that this is wrong, or at least, useless, and could be related to this connectivity problem. Other devices on my network (some tablets, mobile phones, two PCs ...) only send one null packet every many seconds. Incidentally, I have an ESP32 which send one null packet every 210 seconds, exactly.
无论我在模块中放入哪个 arduino 软件或 SDK 版本,这些空数据包的生成都会在重新启动后几秒钟开始,并且它发生在 WiFi 路由器和我拥有的所有 (10) esp8266 模块上。
这种行为是预期的行为吗?这么多空数据包有什么意义?

           

回帖(1)

李娜

2024-7-10 17:52:13
在不执行任何操作的情况下,发送802.11 NULL数据包的数量取决于您的网络设置和设备。然而,通常情况下,这些数据包的发送频率应该很低。在您的情况下,您遇到了ESP8266设备连接问题,这可能是由于多种原因导致的。

首先,让我们了解一下802.11 NULL数据包。这些数据包用于在无线网络中维护连接,即使没有数据传输。它们有助于保持网络连接的活跃状态,以便在需要时能够快速恢复数据传输。

关于您的问题,以下是一些建议和可能的解决方案:

1. **固件更新**:确保您的ESP8266设备使用的是最新版本的Arduino ESP8266核心固件。这可以帮助解决已知的问题和提高设备性能。

2. **网络配置**:检查您的WiFi路由器设置,确保它们与ESP8266设备兼容。例如,尝试更改无线信道、信道宽度或无线模式,以减少干扰和提高连接稳定性。

3. **设备间隔**:如果您的网络中有多个ESP8266设备,它们可能会互相干扰。尝试将设备分散在不同的信道上,以减少干扰。

4. **电源管理**:ESP8266设备在低功耗模式下可能会失去连接。检查您的设备是否启用了低功耗模式,并考虑禁用它以保持连接稳定。

5. **软件优化**:优化您的代码,以减少不必要的网络请求和数据传输。这可以帮助减少连接问题。

6. **网络监控**:继续使用Wireshark等工具监控您的网络流量,以便更好地了解问题所在。这可以帮助您确定问题是否与特定的设备或网络设置有关。

7. **社区支持**:您已经在GitHub issues论坛上找到了一些相关的帖子。继续关注这些讨论,并与其他用户分享您的经验。这可以帮助您找到可能的解决方案。

8. **硬件问题**:如果问题仍然存在,可能是ESP8266设备的硬件问题。考虑更换设备或联系制造商寻求支持。

总之,解决ESP8266连接问题可能需要对网络设置、固件版本、代码优化和硬件进行检查和调整。希望这些建议能帮助您解决问题。
举报

更多回帖

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