ESP32 Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ Wi-Fi: ΠΏΠΎΠ»Π½Ρ‹ΠΉ Ρ€Π°Π·Π±ΠΎΡ€ ошибок

Битуация, ΠΊΠΎΠ³Π΄Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ESP32 отказываСтся ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒΡΡ с бСспроводной ΡΠ΅Ρ‚ΡŒΡŽ, являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· самых распространСнных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ IoT-устройств. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ часто ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с бСсконСчным Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ошибкой WIFI_REASON_AUTH_EXPIRE Π² Π»ΠΎΠ³Π°Ρ…, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅Π΄ΠΎΡƒΠΌΠ΅Π½ΠΈΠ΅, особСнно Ссли ΠΊΠΎΠ΄ Ρ€Π°Π½Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π» ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΡ‡ΠΈΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСсколько: ΠΎΡ‚ банальной ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΈ Π² ΠΏΠ°Ρ€ΠΎΠ»Π΅ Π΄ΠΎ слоТностСй с ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ»Π°Ρ‚Ρ‹ ΠΈΠ»ΠΈ нСсовмСстимости стандартов бСзопасности Ρ€ΠΎΡƒΡ‚Π΅Ρ€Π°.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π±ΠΎΠ»Π΅Π΅ простых ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, Ρ‡ΠΈΠΏ ESP32 ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΌΠΎΡ‰Π½Ρ‹ΠΌ процСссором ΠΈ Wi-Fi ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΎΠΊ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠΈΠΊΠΎΠ²ΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. ИмСнно поэтому Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ часто становится ΠΏΠ΅Ρ€Π²ΠΎΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ сбоСв, ΠΌΠ°ΡΠΊΠΈΡ€ΡƒΡΡΡŒ ΠΏΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ошибки. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Arduino IDE ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ старыС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ настройки компиляции, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ нСвозмоТности ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΡŽ Π² соврСмСнных сСтях WPA3 ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ WPA2-PSK.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ всС этапы диагностики, начиная ΠΎΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ физичСского ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈ заканчивая Ρ‚ΠΎΠ½ΠΊΠΎΠΉ настройкой ΠΊΠΎΠ΄Π°. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ события ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ΅Π½ статичСский IP-адрСс ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ частота процСссора влияСт Π½Π° ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ соСдинСния. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ рассмотрим спСцифичСскиС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, связанныС с Π΄Π»ΠΈΠ½ΠΎΠΉ ΠΈΠΌΠ΅Π½ SSID ΠΈ скрытыми символами Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ΠΌ ΠΈ физичСским ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ

ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Π½Π° Ρ‡Ρ‚ΠΎ стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ссли ваш ESP32 Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ Wi-Fi, β€” это качСство источника питания. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ Ρ€Π°Π΄ΠΈΠΎΠΊΠ°Π½Π°Π»Ρƒ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅Π·ΠΊΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Ρ‚ΡŒ Π΄ΠΎ 500 мА ΠΈ Π²Ρ‹ΡˆΠ΅. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ USB-ΠΏΠΎΡ€Ρ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈΠ»ΠΈ Π΄Π΅ΡˆΠ΅Π²Ρ‹ΠΉ кабСль Π΄Π»ΠΈΠ½ΠΎΠΉ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Ρ‚Ρ€Π°, напряТСниС Π½Π° ΠΏΠ»Π°Ρ‚Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΡΠ°ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½ΠΈΠΆΠ΅ критичСского уровня 3.0 Π’, вызывая ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Ρ‡ΠΈΠΏΠ° ΠΈΠ»ΠΈ сбой модуля Wi-Fi. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ качСствСнный USB-кабСль с толстыми ΠΆΠΈΠ»Π°ΠΌΠΈ ΠΈ внСшний Π±Π»ΠΎΠΊ питания с Ρ‚ΠΎΠΊΠΎΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 1 А.

Π’Π°ΠΊΠΆΠ΅ критичСски Π²Π°ΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ влияниС ΠΏΠΎΠΌΠ΅Ρ…. ESP32 чувствитСлСн ΠΊ Π½Π°Π²ΠΎΠ΄ΠΊΠ°ΠΌ, особСнно Ссли рядом находятся ΠΌΠΎΡ‰Π½Ρ‹Π΅ источники элСктромагнитного излучСния ΠΈΠ»ΠΈ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°, ΠΈΠ΄ΡƒΡ‰ΠΈΠ΅ ΠΊ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°ΠΌ. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ всС ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹Π΅ устройства (OLED дисплСи, Ρ€Π΅Π»Π΅, ΠΌΠΎΡ‚ΠΎΡ€Ρ‹) ΠΈ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π³ΠΎΠ»ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρƒ, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΡƒΡŽ ΠΊ ПК, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ влияниС внСшнСй элСктроники Π½Π° Ρ€Π°Π΄ΠΈΠΎΠΌΠΎΠ΄ΡƒΠ»ΡŒ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: НСкоторыС китайскиС clones ΠΏΠ»Π°Ρ‚Ρ‹ ESP32 (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° Π±Π°Π·Π΅ Ρ‡ΠΈΠΏΠΎΠ² CP2102) Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ установки Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ². Если устройство Π½Π΅ опрСдСляСтся Π² диспСтчСрС устройств ΠΈΠ»ΠΈ COM-ΠΏΠΎΡ€Ρ‚ исчСзаСт сразу послС ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ USB-UART моста, Π° Π½Π΅ Π² самом Wi-Fi.

Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ питания ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ кондСнсатор Π΅ΠΌΠΊΠΎΡΡ‚ΡŒΡŽ 10-22 ΠΌΠΊΠ€ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΈΠ½Π°ΠΌΠΈ 3.3V ΠΈ GND нСпосрСдствСнно Π½Π° ΠΏΠ»Π°Ρ‚Π΅. Π­Ρ‚ΠΎ сгладит ΠΏΡƒΠ»ΡŒΡΠ°Ρ†ΠΈΠΈ напряТСния Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠΈΠΊΠΎΠ²ΠΎΠ³ΠΎ потрСблСния. Если послС этой манипуляции количСство ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹Ρ… ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ возрастСт, Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΊΡ€Ρ‹Π»Π°ΡΡŒ Π² нСдостаточной Смкости источника Ρ‚ΠΎΠΊΠ° ΠΈΠ»ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ.

πŸ“Š Как Π²Ρ‹ ΠΏΠΈΡ‚Π°Π΅Ρ‚Π΅ свой ESP32?
Π§Π΅Ρ€Π΅Π· USB ПК
Π§Π΅Ρ€Π΅Π· PowerBank
Π§Π΅Ρ€Π΅Π· внСшний Π±Π»ΠΎΠΊ 5V
Π§Π΅Ρ€Π΅Π· Li-Ion аккумулятор

Ошибки Π² скСтчС ΠΈ настройках Arduino IDE

НаиболСС частой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ошибкой являСтся использованиС ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΈΠ³Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ состояния процСсса. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ WiFi.begin(ssid, password) являСтся Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… рСализациях, Π½ΠΎ Ρ‡Π°Ρ‰Π΅ всСго ΠΎΠ½ просто ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅Ρ‚ процСсс. Если сразу послС этой строки Π² Ρ†ΠΈΠΊΠ»Π΅ loop Π½Π΅ стоит ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° статуса соСдинСния с Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ, ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΅Ρ‰Π΅ Π΄ΠΎ установлСния Π»ΠΈΠ½ΠΊΠ°, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Ρƒ.

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ†ΠΈΠΊΠ» оТидания ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ статуса. Код Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ: ΠΏΠΎΠΊΠ° WiFi.status() Π½Π΅ Ρ€Π°Π²Π΅Π½ WL_CONNECTED, ΠΌΡ‹ ΠΆΠ΄Π΅ΠΌ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Ρ‚ΠΎΡ‡ΠΊΡƒ Π² ΠΏΠΎΡ€Ρ‚. Π’Π°ΠΊΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ delay(500) Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° оТидания, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ врСмя Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² handshake.


WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {

delay(500);

Serial.print(".");

}

Serial.println("");

Serial.println("WiFi connected");

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π²Π°ΠΆΠ½Ρ‹ΠΉ аспСкт β€” Π²Ρ‹Π±ΠΎΡ€ ΠΏΠ»Π°Ρ‚Ρ‹ ΠΈ вСрсии ядра Π² мСню Arduino IDE. Для ESP32 Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ядро Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠ»Π°Ρ‚, ввСдя URL рСпозитория. Π‘Ρ‚Π°Ρ€Ρ‹Π΅ вСрсии ядра ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½ΠΎΠ²Ρ‹ΠΌΠΈ Ρ€ΠΎΡƒΡ‚Π΅Ρ€Π°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΌΠΈ стандарт 802.11ax (Wi-Fi 6) ΠΈΠ»ΠΈ ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π² диспСтчСрС ΠΏΠ»Π°Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ваша модСль (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, DOIT ESP32 DEVKIT V1), Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Π½ΡƒΡŽ Ρ€Π°Π·Π²ΠΎΠ΄ΠΊΡƒ ΠΏΠΈΠ½ΠΎΠ² ΠΈ настройки Flash-памяти.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° скСтча

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с частотой 5 Π“Π“Ρ† ΠΈ ΠΊΠ°Π½Π°Π»ΠΎΠΌ Ρ€ΠΎΡƒΡ‚Π΅Ρ€Π°

ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ESP32 (ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ поколСния) ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ частот 2.4 Π“Π“Ρ†. Если ваш Ρ€ΠΎΡƒΡ‚Π΅Ρ€ транслируСт ΡΠ΅Ρ‚ΡŒ с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ (SSID) сразу Π² Π΄Π²ΡƒΡ… Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°Ρ… (функция Smart Connect), ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π·Π°ΠΊΠΎΠ½Π½Π΅ΠΊΡ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Ρ‚ΠΎΡ‡ΠΊΠ΅ доступа 5 Π“Π“Ρ†, физичСски Π½Π΅ умСя Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° этой частотС. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ бСсконСчныС ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΎΡˆΠΈΠ±ΠΊΡƒ WIFI_REASON_NO_AP_FOUND.

РСшСниСм являСтся Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ сСтСй Π½Π° Ρ€ΠΎΡƒΡ‚Π΅Ρ€Π΅: создайтС Π³ΠΎΡΡ‚Π΅Π²ΡƒΡŽ ΡΠ΅Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ SSID Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° 2.4 Π“Π“Ρ†. НазовитС Π΅Π³ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "Home_2.4G" ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ ESP32 ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊ Π½Π΅ΠΌΡƒ. Π’Π°ΠΊΠΆΠ΅ стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠΌΠ΅Ρ€ ΠΊΠ°Π½Π°Π»Π°: ESP32 Π»ΡƒΡ‡ΡˆΠ΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π° ΠΊΠ°Π½Π°Π»Π°Ρ… с 1 ΠΏΠΎ 11. Если Ρ€ΠΎΡƒΡ‚Π΅Ρ€ автоматичСски Π²Ρ‹Π±Ρ€Π°Π» 12 ΠΈΠ»ΠΈ 13 ΠΊΠ°Π½Π°Π» (Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π² Π•Π²Ρ€ΠΎΠΏΠ΅, Π½ΠΎ Π½Π΅ Π² БША), ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ просто Π½Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΡΠ΅Ρ‚ΡŒ.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ВозмоТная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°
Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ частот 2.4 Π“Π“Ρ† (802.11 b/g/n) ESP32 Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚ 5 Π“Π“Ρ† сСти
Канал Wi-Fi 1, 6 ΠΈΠ»ΠΈ 11 ΠΠ΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ сигнал Π½Π° краях Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°
Π¨ΠΈΡ€ΠΈΠ½Π° ΠΊΠ°Π½Π°Π»Π° 20 ΠœΠ“Ρ† ΠŸΠΎΠΌΠ΅Ρ…ΠΈ ΠΏΡ€ΠΈ ΡˆΠΈΡ€ΠΈΠ½Π΅ 40 ΠœΠ“Ρ†
Π Π΅ΠΆΠΈΠΌ бСзопасности WPA2-PSK (AES) ΠΠ΅ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с WEP ΠΈΠ»ΠΈ WPA3
ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΡˆΠΈΡ€ΠΈΠ½Π° ΠΊΠ°Π½Π°Π»Π° 40 ΠœΠ“Ρ† Ρ…ΡƒΠΆΠ΅?

ИспользованиС ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΊΠ°Π½Π°Π»Π° 40 ΠœΠ“Ρ† Π² ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠΌ эфирС ΠΌΠ½ΠΎΠ³ΠΎΠΊΠ²Π°Ρ€Ρ‚ΠΈΡ€Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° часто ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ коллизиям. ESP32, обладая ΠΎΠ΄Π½ΠΎΠΉ Π°Π½Ρ‚Π΅Π½Π½ΠΎΠΉ, Ρ…ΡƒΠΆΠ΅ справляСтся с ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠ΅ΠΉ Π½Π° ΡˆΠΈΡ€ΠΎΠΊΠΈΡ… ΠΊΠ°Π½Π°Π»Π°Ρ…, Ρ‡Π΅ΠΌ Π½Π° ΡƒΠ·ΠΊΠΈΡ… 20 ΠœΠ“Ρ†, Π³Π΄Π΅ сигнал Ρ‡ΠΈΡ‰Π΅ ΠΈ дальнобойнСС.

БтатичСский IP ΠΏΡ€ΠΎΡ‚ΠΈΠ² DHCP: настройка сСти

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» DHCP, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ автоматичСски Π½Π°Π·Π½Π°Ρ‡Π°Π΅Ρ‚ IP-адрСса устройствам, ΠΈΠ½ΠΎΠ³Π΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ Π² сСтях с большим количСством ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ Π½Π° спСцифичСских Ρ€ΠΎΡƒΡ‚Π΅Ρ€Π°Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Keenetic ΠΈΠ»ΠΈ Mikrotik со слоТными настройками). Если ESP32 Π΄ΠΎΠ»Π³ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ адрСс, ΠΎΠ½ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΡƒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ€ΡƒΡ‡Π½ΠΎΠ΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ статичСского IP-адрСса.

Для использования статичСского IP Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ IPAddress ΠΈ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ config() ΠΏΠ΅Ρ€Π΅Π΄ запуском begin(). Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ устройство сразу ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Π½ΡƒΠΆΠ½Ρ‹ΠΉ адрСс, минуя Π΄ΠΎΠ»Π³ΠΈΠΉ запрос ΠΊ сСрвСру DHCP. Π’Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ IP-адрСс находился Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ подсСти, Ρ‡Ρ‚ΠΎ ΠΈ Ρ€ΠΎΡƒΡ‚Π΅Ρ€, ΠΈ Π½Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ²Π°Π» с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ устройствами.


IPAddress local_IP(192, 168, 1, 150);

IPAddress gateway(192, 168, 1, 1);

IPAddress subnet(255, 255, 255, 0);

IPAddress primaryDNS(8, 8, 8, 8);

if (!WiFi.config(local_IP, gateway, subnet, primaryDNS)) {

Serial.println("STA Failed to configure");

}

ИспользованиС статичСского адрСса Ρ‚Π°ΠΊΠΆΠ΅ ускоряСт старт устройства, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΡ‚ΠΏΠ°Π΄Π°Π΅Ρ‚ этап negotiation с Ρ€ΠΎΡƒΡ‚Π΅Ρ€ΠΎΠΌ. Π­Ρ‚ΠΎ особСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для устройств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ быстро ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ послС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΎΡ‚Π΅Ρ‡ΠΊΠΈ ΠΈΠ»ΠΈ ΠΎΡ…Ρ€Π°Π½Π½Ρ‹Ρ… систСм. Однако ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ смСнС Ρ€ΠΎΡƒΡ‚Π΅Ρ€Π° настройки придСтся ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ WiFi.h

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° WiFi.h для ESP32 ΠΈΠΌΠ΅Π΅Ρ‚ свои особСнности ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Arduino WiFi. НапримСр, ΠΎΠ½Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ€Π΅ΠΆΠΈΠΌ WIFI_MODE_STA (ΠΊΠ»ΠΈΠ΅Π½Ρ‚), Π½ΠΎ Ссли Π²Ρ‹ Ρ€Π°Π½Π΅Π΅ использовали Ρ€Π΅ΠΆΠΈΠΌ Ρ‚ΠΎΡ‡ΠΊΠΈ доступа (AP), Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ явно ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ. Π‘Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ настройки Wi-Fi ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ WiFi.disconnect(true), Π³Π΄Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ true ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ очистку Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ NVS (Non-Volatile Storage) памяти, Π³Π΄Π΅ хранятся Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ ΠΏΡ€ΠΎΡˆΠ»Ρ‹Ρ… сСтях.

Частой ошибкой являСтся ΠΈΠ³Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ событий. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ систСму событий, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ смСну IP, ΠΏΠΎΡ‚Π΅Ρ€ΡŽ соСдинСния ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ мощности сигнала. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° событий позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅ систСмы с автоматичСским ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ (auto-reconnect), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ€ΡƒΡ‡Π½ΠΎΠΉ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· WiFi.setAutoReconnect(true).

Π’Π°ΠΊΠΆΠ΅ стоит ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ с Π΄Π»ΠΈΠ½Π½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ SSID. Π‘Ρ‚Π°Ρ€Ρ‹Π΅ вСрсии ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΎΠΊ ESP32 ΠΈΠΌΠ΅Π»ΠΈ Π±Π°Π³, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΈΠΌΠ΅Π½Π° сСтСй Π΄Π»ΠΈΠ½Π½Π΅Π΅ 32 символов ΠΎΠ±Ρ€Π΅Π·Π°Π»ΠΈΡΡŒ ΠΈΠ»ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡƒΡ„Π΅Ρ€Π°. Π₯отя Π² Π½ΠΎΠ²Ρ‹Ρ… ядрах это исправлСно, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π΄Π»ΠΈΠ½Ρƒ ΠΈΠΌΠ΅Π½ΠΈ вашСй сСти. Если имя слишком Π΄Π»ΠΈΠ½Π½ΠΎΠ΅, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² настройках Ρ€ΠΎΡƒΡ‚Π΅Ρ€Π°.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ использовании Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ WiFi.disconnect(true) ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ всС сохранСнныС сСти. Если вашС устройство Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ нСсколько сСтСй, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ с ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠΉΡ‚Π΅ Π»ΠΎΠ³ΠΈΠΊΡƒ сохранСния ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ Π² EEPROM.

Диагностика Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ΄Ρ‹ ошибок ΠΈ Π»ΠΎΠ³ΠΈ

Для Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠΉ диагностики Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ Π² Serial Monitor. ESP32 Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ ошибок ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Ρ‹Π²Π΅ соСдинСния. НапримСр, ΠΊΠΎΠ΄ 2 (WIFI_REASON_AUTH_EXPIRE) часто ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΈΠ»ΠΈ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ. Код 201 (WIFI_REASON_CONNECTION_FAIL) ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ€ΠΎΡƒΡ‚Π΅Ρ€ просто ΠΎΡ‚ΠΊΠ»ΠΎΠ½ΠΈΠ» ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ·-Π·Π° Π»ΠΈΠΌΠΈΡ‚Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ MAC-Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ.

Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ядра, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π² Π½Π°Ρ‡Π°Π»ΠΎ скСтча строку esp_log_level_set("*", ESP_LOG_DEBUG);. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ сообщСния ΠΎΡ‚ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Wi-Fi, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ этапы сканирования, Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ получСния IP. Π­Ρ‚ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ часто содСрТат Ρ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ ΠΎΡ‚ΠΊΠ°Π·Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π΅ Π²ΠΈΠ΄Π½ΠΎ Π² стандартном Π²Ρ‹Π²ΠΎΠ΄Π΅.

Если Π² Π»ΠΎΠ³Π°Ρ… Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ сообщСниС "Brownout detector was triggered", это ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ с ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ΠΌ, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅. НикакиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ костыли здСсь Π½Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ β€” Π½ΡƒΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ кабСль, Π±Π»ΠΎΠΊ питания ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° GPIO ΠΏΠΈΠ½Ρ‹.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ESP32 ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ, Π½ΠΎ сразу ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ?

Π§Π°Ρ‰Π΅ всСго это происходит ΠΈΠ·-Π·Π° watchdog timer (WDT). Если Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ стоит слишком большая Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΈΠ»ΠΈ тяТСлыС вычислСния Π±Π΅Π· сброса Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°, систСма ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ. Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ IP-адрСсов Π² сСти.

Как ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ настройки Wi-Fi Π½Π° ESP32?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ WiFi.disconnect(true) Π² setup. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ true Π²Π°ΠΆΠ΅Π½ β€” ΠΎΠ½ стираСт Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· энСргонСзависимой памяти. ПослС этого устройство Π±ΡƒΠ΄Π΅Ρ‚ вСсти сСбя ΠΊΠ°ΠΊ Π½ΠΎΠ²ΠΎΠ΅ ΠΈ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ старой сСти.

ΠœΠΎΠΆΠ΅Ρ‚ Π»ΠΈ антивирус Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ESP32?

ΠŸΡ€ΡΠΌΠΎ β€” Π½Π΅Ρ‚, Π½ΠΎ брандмауэр Windows ΠΈΠ»ΠΈ антивирус ΠΌΠΎΠΆΠ΅Ρ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ входящиС соСдинСния ΠΎΡ‚ ESP32, Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π΅Π³ΠΎ ΠΊΠ°ΠΊ сСрвСр. Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ firewall ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ для вашСй IDE.

ВлияСт Π»ΠΈ вСрсия Arduino IDE Π½Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅?

Π”Π°, старыС вСрсии (1.8.x) ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π±Π°Π³ΠΈ Π² ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π΅ ΠΏΠ»Π°Ρ‚. РСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Arduino IDE 2.x ΠΈΠ»ΠΈ PlatformIO, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с соврСмСнными вСрсиями ядра ESP32 ΠΈ инструмСнтами ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.