产线200台设备死活连不上MQTT,卡了三天了

其他 · 杜文博 · 12 浏览
真扛不住了,来坛子里求个思路。我们刚量产的一款带Wi-Fi的智能插座,主控用的ESP32-C3,模组是乐鑫官方那款,固件基于ESP-IDF 5.1。产线老化测试环节,200台里有个三四十台死活连不上MQTT broker,现象是Wi-Fi关联成功、DHCP也拿到IP了,但MQTT CONNECT发出去要么超时无响应,要么偶发返回-0x80(MQTT_CONNECTION_REFUSED),重试几次偶尔又能连上,特别玄学。 已经排查过的:换了两个不同品牌的路由器(华为+TP-Link),AP频段2.4G固定11信道,broker用EMQX本地部署没做认证,抓包看TCP三次握手正常,就是CONNECT报文出去后等不到CONNACK。电源也怀疑过,用示波器看了3.3V纹波还好,100mV以内。 现在卡在产线出不了货,老板天天催,我这边产品规划排期全乱了。有没有兄弟遇到过类似ESP32-C3批量MQTT连接不稳定的情况?是固件参数、射频校准还是broker并发的问题?给指个方向也行,先谢过了。

回答(1)

先别急着怀疑模组,我遇到过类似的。现象是TCP通但MQTT CONNECT超时或偶发-0x80,八成是Wi-Fi链路或供电在捣鬼。建议: 1. 测电源纹波:用示波器看3.3V在Wi-Fi发射瞬间(TX burst)的跌落,产线批量问题很可能是LDO或电容批次差异,跌落超200mV就会导致模组异常。 2. 看RSSI和重传:在固件里打印关联后的RSSI和wifi统计,200台里挑几台好连的对比,如果坏的那批RSSI偏低或重传率高,是天线/匹配问题。 3. 查MQTT keepalive和TCP重传:抓包看CONNECT后有没有RST或重传,顺便把broker的max_connections和日志翻出来。 先看波形再下结论,别凭感觉换件。
于洁 · 2026-11-07