Gen_X 发表于 2025-1-17 20:54

ESP-NOW WIFI 收发不稳定问题

<p>硬件:ESP32-C3 Super mini</p>

<p>协议:ESP-NOW WIFI MAC P2P</p>

<p>根据某网例程,发送端为STA,作为遥控器;</p>

<p>接收端为AP,作为就地控制器。</p>

<p>采用peer MAC 相互访问,为了简化,采用STA仅发送,开环控制。总发送字节数不超过32字节。</p>

<p>测试采用大家一贯的做法,&ldquo;抄&rdquo;用115200的&ldquo;空中&rdquo;波特率,做了很多测试(各种&ldquo;补丁&rdquo;),结果一直不稳定,发送端掉线。重启工作正常。</p>

<p>后来无意中想到&ldquo;空中&rdquo;波特率是否有一定影响,因为有时可以发送一千各数据才掉线,也有一段时间几乎不超过30组数据。</p>

<p>修改成19200还是不行,但一点好转,后来就直接修改成9600,以外发生了:一次测试2k组数以上不掉线,甚至收发单方掉电再送电都可以自动重连。</p>

<p>问题终于有了结论,因为WIFI环境不好,2.4G很多&ldquo;信道&rdquo;都不干净了,干扰严重,一直与更换信道也不能解决问题。</p>

<p>希望能给用到此类&ldquo;通讯&rdquo;技术的新手一个忠告。</p>

<p>以前用433时有这个问题,没想到2.4G时代也有&ldquo;速度&rdquo;瓶颈问题。</p>

tagetage 发表于 2025-1-17 21:20

<p>感觉2.4G信道干扰这个问题有可能存在,但能100%确定是这个问题吗??</p>

Gen_X 发表于 2025-1-18 10:14

本帖最后由 Gen_X 于 2025-1-18 16:36 编辑

<p>我每天做这个程的序验证测试,做了2周,做了各种假设,都没能改善,直到修改了这个,</p>

<p>其中还做过一次修改大了,稳定性更离谱,最多24-60次发送就中断了。</p>

<p>而且这种情况下发送端重启偶尔不能再次连接。</p>

<p>需要多次复位才能成功,但修改成9600后,随时断电、重启都能立即重新建立连接。</p>

<p>------------------------------------------------------------------------------------------------------------------</p>

<p>庆幸的是,只要发送端定时发送,这个通讯协议的接收端即使有卡涩,受到干扰导致延迟等发生,</p>

<p>数据都能完全复现,不会丢失数据,感觉ESP-NOW这个协议本身还是很可靠的。</p>

hjl2832 发表于 2025-1-18 17:56

<p>LORA模块的空中速率,厂家一般推荐都不大于2.4K呢,所以空中速率越低,数据传输当然越稳定。</p>

Vincent2012 发表于 2025-1-20 07:48

Gen_X 发表于 2025-1-18 10:14
我每天做这个程的序验证测试,做了2周,做了各种假设,都没能改善,直到修改了这个,

其中还做过一次修 ...

<p>我使用micropython都可以正常使用,似乎没有遇到这种问题</p>

Gen_X 发表于 2025-1-20 09:15

Vincent2012 发表于 2025-1-20 07:48
我使用micropython都可以正常使用,似乎没有遇到这种问题

<p>请问你实用的是ESP-NOW WIFI传输吗?</p>

wangerxian 发表于 2025-1-20 11:16

<p>掉线是WIFI断连还是peer MAC的断连?</p>

Gen_X 发表于 2025-1-20 15:06

本帖最后由 Gen_X 于 2025-1-20 15:57 编辑

<p>看现象是:peer MAC的断连,并且重新RESET偶尔也不能回复,需要2次RESET。说明在peer MAC重建。</p>

<p>但事实上分析是因为WIFI 阻塞,导致通讯中断,超时后自动注销了peer MAC。</p>

<p>&mdash;&mdash;我是这么感觉的。</p>

<p>因为无法检测,我也想知道&ldquo;真正&rdquo;的原因。</p>

<p>接收端是AP模式,所以一直很稳定。</p>

<p>但修改到9600后无论怎么折腾,都不会出问题,断电或RESET后瞬间就能重连。</p>

<p>也没有115200时偶尔阻塞、停顿导致数据累计瞬间回传,像拉肚子。</p>
页: [1]
查看完整版本: ESP-NOW WIFI 收发不稳定问题