错误现象:
W (54) phy_init: failed to load RF calibration data (0x1107), falling back to full calibration Brownout detector was triggere
原因:电流不足。
对策:
禁用掉这个选项,将不再检测电平。
make menuconfig->component config->ESP32-specific->Hardware brownout detect & reset
或者也可在再这个选项的下面选择一个更合适的保护电平。
rst:0x8 (TG1WDT_SYS_RESET),boot:0x3f (SPI_FAST_FLASH_BOOT)
wifi 掉线了,需要重新连接wifi
TRANS_TCP: tcp_poll_read select error 113, errno = Software caused connection abort, fd = 54 MQTT_CLIENT: Poll read error: 119, aborting connection TRANS_TCP: DNS lookup failed err=202 res=0x0 MQTT_CLIENT: Error transport connect MQTT: MQTT_EVENT_ERROR.
Wifi的节电模式打开了(ESP32 idf的默认模式有可能时节电模式)
I (532989) wifi:state: run -> init (6c0) I (532999) wifi:pm stop, total sleep time: 491610374 us / 531899959 us I (532999) wifi:new:<3,0>, old:<3,0>, ap:<255,255>, sta:<3,0>, prof:1 W (532999) wifi:Haven't to connect to a suitable AP now! W (533009) wifi:Haven't to connect to a suitable AP now!
在esp_wifi_start()函数之后,添加下面的代码
esp_wifi_set_ps(WIFI_PS_NONE);
MQTT_CLIENT: mqtt_message_receive: transport_read() error: errno=128 E (47345) wifi:sta is connecting, return error MQTT: MQTT_EVENT_ERROR. MQTT_CLIENT: mqtt_process_receive: mqtt_message_receive() returned -1
USB供电不稳,使用外接充电头供电即可
问题的出现和上电时GPIO状态有关,大概率是上电以后某个GPIO的电压。
程序里面不要使用 GPIO 12、15