ΠΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ESP8266 ΡΡΠ°Π» Π½Π°ΡΡΠΎΡΡΠ΅ΠΉ ΡΠ΅Π²ΠΎΠ»ΡΡΠΈΠ΅ΠΉ Π² ΠΌΠΈΡΠ΅ IoT-ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ²ΠΎΠ΅ΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ, Π½ΠΈΠ·ΠΊΠΎΠΌΡ ΡΠ½Π΅ΡΠ³ΠΎΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΌΡ ΠΌΠΎΠ΄ΡΠ»Ρ Wi-Fi. ΠΠ΄Π½Π°ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π½ΠΎΠ²ΠΈΡΠΊΠΈ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ Ρ ΡΡΡΠ΄Π½ΠΎΡΡΡΠΌΠΈ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΊ Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΎΠΉ ΡΠ΅ΡΠΈ. ΠΡΠ° ΡΡΠ°ΡΡΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π²ΠΎ Π²ΡΠ΅Ρ Π½ΡΠ°Π½ΡΠ°Ρ β ΠΎΡ Π²ΡΠ±ΠΎΡΠ° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Π΄ΠΎ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ ΡΠΈΠΏΠΈΡΠ½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ.
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ Arduino, Π³Π΄Π΅ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π»ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Ethernet-ΡΠΈΠ»Π΄, ESP8266 ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠ΅Ρ Wi-Fi-ΠΌΠΎΠ΄ΡΠ»Ρ Π½Π° ΡΠΈΠΏΠ΅, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°, ΡΠΈΡΡΠ΅ΠΌ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠΎ ΡΡΠΎΠ±Ρ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ΅ΡΠΈ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ AT-ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ "ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½ΡΠ΅ ΠΊΠ°ΠΌΠ½ΠΈ" ΡΠ°Π·Π½ΡΡ Π²Π΅ΡΡΠΈΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ.
ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ: ΡΠ΅ΡΠ΅Π· AT-ΠΊΠΎΠΌΠ°Π½Π΄Ρ (Π΄Π»Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Ρ Π·Π°Π²ΠΎΠ΄ΡΠΊΠΎΠΉ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΎΠΉ), Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Arduino IDE (Π΄Π»Ρ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ²) ΠΈ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ Π²ΡΠΎΠ΄Π΅ MicroPython. ΠΡΠΎΠ±ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»ΠΈΠΌ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ β ΠΎΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² IP-Π°Π΄ΡΠ΅ΡΠΎΠ² Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ.
1. ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ESP8266: ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΠΈΡΡΡΠΏΠ°ΡΡ ΠΊ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ Wi-Fi, Π²Π°ΠΆΠ½ΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π²Π°Ρ ΠΌΠΎΠ΄ΡΠ»Ρ ESP8266 Π³ΠΎΡΠΎΠ² ΠΊ ΡΠ°Π±ΠΎΡΠ΅. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅ΡΡΡΠΊΠ° ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ° β ΠΎΡ ESP-01 Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ Π²ΡΠ²ΠΎΠ΄ΠΎΠ² Π΄ΠΎ NodeMCU Ρ USB-ΠΏΠΎΡΡΠΎΠΌ ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·Π°ΡΠΎΡΠΎΠΌ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΠΆΠ΄Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΠΈΡΠ°Π½ΠΈΡ.
ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ:
- π ΠΠΈΡΠ°Π½ΠΈΠ΅: ESP8266 ΡΡΠ΅Π±ΡΠ΅Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠ΅
3.3ΠΡ ΡΠΎΠΊΠΎΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅300 ΠΌΠ(ΠΏΡΠΈ ΠΏΠΈΠΊΠΎΠ²ΡΡ Π½Π°Π³ΡΡΠ·ΠΊΠ°Ρ Π΄ΠΎ500 ΠΌΠ). ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° β ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΈΡΠΈΠ½Π° ΡΠ±ΡΠΎΡΠΎΠ² ΠΌΠΎΠ΄ΡΠ»Ρ. - π§ ΠΡΠΎΡΠΈΠ²ΠΊΠ°: ΠΠ°Π²ΠΎΠ΄ΡΠΊΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ (ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ESP-01) ΡΠ°ΡΡΠΎ ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Ρ AT-ΠΏΡΠΎΡΠΈΠ²ΠΊΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ
0.21ΠΈΠ»ΠΈ0.40. ΠΠ»Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π·Π°Π΄Π°Ρ Π»ΡΡΡΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π΅Ρ Π΄ΠΎ1.7.4+. - π‘ ΠΠ½ΡΠ΅Π½Π½Π°: Π ΠΌΠΎΠ΄ΡΠ»ΡΡ
ΡΠΈΠΏΠ° ESP-12E/F Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ Π°Π½ΡΠ΅Π½Π½Π° ΠΌΠΎΠΆΠ΅Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ²Π°ΡΡ Ρ ΠΌΠ΅ΡΠ°Π»Π»ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΊΠΎΡΠΏΡΡΠ°ΠΌΠΈ. ΠΠ»Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π° ΠΈΠ½ΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²Π½Π΅ΡΠ½ΡΡ Π°Π½ΡΠ΅Π½Π½Π° Ρ ΡΠ°Π·ΡΡΠΌΠΎΠΌ
IPEX.
ΠΡΠΎΠ±ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΡΠΎΠΈΡ ΡΠ΄Π΅Π»ΠΈΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ ΡΡΠΎΠ²Π½Π΅ΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ: Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΠ΅ ESP8266 ΠΊ Arduino ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠΌΡ ΡΡΡΡΠΎΠΉΡΡΠ²Ρ Ρ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ 5Π, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ½Π²Π΅ΡΡΠ΅Ρ. ΠΠΎΠ΄Π°ΡΠ° 5Π Π½Π° Π²Ρ
ΠΎΠ΄Ρ RX/TX ΠΌΠΎΠΆΠ΅Ρ Π±Π΅Π·Π²ΠΎΠ·Π²ΡΠ°ΡΠ½ΠΎ ΠΏΠΎΠ²ΡΠ΅Π΄ΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ.
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΠΎΠ΄ΡΠ»ΠΈ ESP-01 Ρ ΡΠΈΠ½ΠΈΠΌΠΈ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π°ΠΌΠΈ ΡΠ°ΡΡΠΎ ΠΈΠΌΠ΅ΡΡ ΠΈΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ Π½Π° Π²ΡΠ²ΠΎΠ΄Π΅ GPIO0. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΡΠΌ ΡΠ±ΡΠΎΡΠ°ΠΌ ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΠ»Π°ΡΠ°ΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ.
2. Π‘ΠΏΠΎΡΠΎΠ± 1: ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· AT-ΠΊΠΎΠΌΠ°Π½Π΄Ρ (Π΄Π»Ρ Π·Π°Π²ΠΎΠ΄ΡΠΊΠΎΠΉ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ)
ΠΡΠ»ΠΈ Π²Π°Ρ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ Π·Π°Π²ΠΎΠ΄ΡΠΊΠΎΠΉ AT-ΠΏΡΠΎΡΠΈΠ²ΠΊΠΎΠΉ (ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎ ESP-01), Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡ Wi-Fi-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΡΡ, ΠΎΡΠΏΡΠ°Π²Π»ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΡΡ Π·Π°Π΄Π°Ρ Π²ΡΠΎΠ΄Π΅ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ.
ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΡ Π΅ΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ:
- π ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅
VCCΠΊ3.3Π,GNDΠΊGND. - π± ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅
TXΠΌΠΎΠ΄ΡΠ»Ρ ΠΊRXΠ°Π΄Π°ΠΏΡΠ΅ΡΠ° (ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ) Ρ ΡΡΡΡΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ΠΉ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ. - π ΠΠ°ΠΌΠΊΠ½ΠΈΡΠ΅
GPIO0Π½Π°GNDΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠ΅. Π Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π΅Π½.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ AT-ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Wi-Fi:
| ΠΠΎΠΌΠ°Π½Π΄Π° | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΡΠΈΠΌΠ΅Ρ ΠΎΡΠ²Π΅ΡΠ° |
|---|---|---|
AT | ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ²ΡΠ·ΠΈ Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ | OK |
AT+CWMODE=1 | Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ΅ΠΆΠΈΠΌΠ° Station (ΠΊΠ»ΠΈΠ΅Π½Ρ Wi-Fi) | OK ΠΈΠ»ΠΈ ERROR |
AT+CWJAP="SSID","password" | ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠΎΡΠΊΠ΅ Π΄ΠΎΡΡΡΠΏΠ° | WIFI CONNECTEDWIFI GOT IP |
AT+CIFSR | ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ IP-Π°Π΄ΡΠ΅ΡΠ° | 192.168.1.100 |
AT+GMR | ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π²Π΅ΡΡΠΈΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ | AT version:1.7.4(SDK 3.0.4) |
Π’ΠΈΠΏΠΈΡΠ½Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ:
AT+RST // Π‘Π±ΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ
AT+CWMODE=1 // Π Π΅ΠΆΠΈΠΌ Station
AT+CWJAP="my_wifi","mypassword" // ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ΅ΡΠΈ
AT+CIFSR // ΠΡΠΎΠ²Π΅ΡΠΊΠ° IP
AT+PING="8.8.8.8" // Π’Π΅ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΡAT+CWJAPΠΌΠΎΠ΄ΡΠ»Ρ ΠΎΡΠ²Π΅ΡΠ°Π΅ΡFAIL, ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΠΏΠ°ΡΠΎΠ»Π΅ (AT-ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½Ρ ΠΊ ΡΠ΅Π³ΠΈΡΡΡΡ!) ΠΈ Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΡΠΈΠΏΠ°#ΠΈΠ»ΠΈ!, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π£Π±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΡΡΠ° (baud rate) ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ (ΠΎΠ±ΡΡΠ½ΠΎ 115200)
ΠΡΠΊΠ»ΡΡΠΈΡΡ Π°Π²ΡΠΎΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠΎΠΊ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ (CR+LF β ΡΠΎΠ»ΡΠΊΠΎ CR)
ΠΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΎ GPIO0 Π½Π΅ Π·Π°ΠΌΠΊΠ½ΡΡ Π½Π° GND (ΠΈΠ½Π°ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ)
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΏΠΈΡΠ°Π½ΠΈΡ Ρ ΡΠΎΠΊΠΎΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 300 ΠΌΠ-->
3. Π‘ΠΏΠΎΡΠΎΠ± 2: ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· Arduino IDE (ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ²)
ΠΠ»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π·Π°Π΄Π°Ρ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Arduino IDE Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ ESP8266WiFi. ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π°ΡΡ ΠΏΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ Wi-Fi.
Π¨Π°Π³ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Arduino IDE:
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ESP8266 ΡΠ΅ΡΠ΅Π·
Π€Π°ΠΉΠ» β ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ β ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π΄Π»Ρ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΏΠ»Π°Ρ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΡΡΡΠΎΠΊΡ:https://arduino.esp8266.com/stable/package_esp8266com_index.json - Π
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ β ΠΠ»Π°ΡΡΠ²ΡΠ±Π΅ΡΠΈΡΠ΅ Π²Π°ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Generic ESP8266 Module). - Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ
ESP8266WiFiΡΠ΅ΡΠ΅Π· ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ.
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ:
#include <ESP8266WiFi.h>
const char* ssid = "Π²Π°Ρ_ssid";
const char* password = "Π²Π°Ρ_ΠΏΠ°ΡΠΎΠ»Ρ";
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
void loop() {
// ΠΠ°Ρ ΠΊΠΎΠ΄ Π·Π΄Π΅ΡΡ
}
ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ Π² ΠΊΠΎΠ΄Π΅:
- π Π¦ΠΈΠΊΠ»
whileΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. ΠΠ΅Π· Π½Π΅Π³ΠΎ ΡΠΊΠ΅ΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Wi-Fi Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ»ΡΡ. - π‘ Π€ΡΠ½ΠΊΡΠΈΡ
WiFi.status()Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΡΠ°ΡΡΡ. ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠΌΠΎΡΡΠΈΡΠ΅ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. - β‘ ΠΠ»Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΈ ΡΠ½Π΅ΡΠ³ΠΈΠΈ Π² Π±Π°ΡΠ°ΡΠ΅ΠΉΠ½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
Π΄ΠΎΠ±Π°Π²ΡΡΠ΅
WiFi.setSleepMode(WIFI_LIGHT_SLEEP)ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
4. Π‘ΠΏΠΎΡΠΎΠ± 3: ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· MicroPython (Π΄Π»Ρ ΠΎΠΏΡΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ)
MicroPython β ΡΡΠΎ ΠΎΠ±Π»Π΅Π³ΡΡΠ½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ Python 3, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π΄Π»Ρ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ². ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Π΄Π»Ρ ESP8266 Π½Π° Python, ΡΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π»Ρ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ. ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Wi-Fi ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΡΠΎΡΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΎΠΉ.
ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ:
- Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ MicroPython Π΄Π»Ρ ESP8266 Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ°.
- ΠΡΠΎΡΠ΅ΠΉΡΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΅ΡΠ΅Π· esptool (ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π½ΠΈΠΆΠ΅).
- ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ΡΡ ΠΊ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΅ΡΠ΅Π· REPL (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Thonny IDE ΠΈΠ»ΠΈ Screen).
ΠΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΡΠ΅ΡΠ΅Π· esptool:
esptool.py --port /dev/ttyUSB0 erase_flash
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=detect 0 firmware.bin
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Π½Π° MicroPython Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ Wi-Fi:
import network
import time
sta_if = network.WLAN(network.STA_IF)
sta_if.active(True)
sta_if.connect("Π²Π°Ρ_ssid", "Π²Π°Ρ_ΠΏΠ°ΡΠΎΠ»Ρ")
while not sta_if.isconnected():
time.sleep(0.5)
print(".", end="")
print("\nConnected! IP:", sta_if.ifconfig())
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ Ρ Wi-Fi Π² MicroPython:
- π ΠΠ΅ΡΠΎΠ΄
isconnected()Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡTrueΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ IP, Π° Π½Π΅ ΠΏΠΎΡΠ»Π΅ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ. - π‘ ΠΠ»Ρ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
ΡΠ΅ΡΠ΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
sta_if.scan(). - β‘ Π ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠΎΡΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ° (
AP_IF) ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π΄ΠΎ4-ΡΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ².
ΠΠ°ΠΊ ΡΠ±ΡΠΎΡΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Wi-Fi Π² MicroPython?
ΠΡΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ "Π·Π°Π±ΡΠ»" Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ΅ΡΠΈ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ Π² REPL:
sta_if.disconnect()
sta_if.active(False)
sta_if.active(True)
ΠΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ ΠΏΠΎΠ»Π½ΠΎΠΌΡ ΡΠ±ΡΠΎΡΡ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
5. Π’ΠΈΠΏΠΈΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅
ΠΠ°ΠΆΠ΅ ΠΏΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ESP8266 ΠΊ Wi-Fi ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π²Π΅ΡΡΠ°ΡΡΡΡ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ. ΠΠΈΠΆΠ΅ ΡΠΎΠ±ΡΠ°Π½Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈΡ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ.
| ΠΡΠΈΠ±ΠΊΠ° | ΠΠΎΠ·ΠΌΠΎΠΆΠ½Π°Ρ ΠΏΡΠΈΡΠΈΠ½Π° | Π Π΅ΡΠ΅Π½ΠΈΠ΅ |
|---|---|---|
WL_CONNECT_FAILED (Arduino)Network connection failed (MicroPython) |
ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠΎΠ»Ρ ΠΈΠ»ΠΈ SSID Π‘Π΅ΡΡ ΡΠΊΡΡΡΠ° (hidden SSID) Π Π΅ΠΆΠΈΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ |
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡ Π² ΠΏΠ°ΡΠΎΠ»Π΅ ΠΠΎΠ±Π°Π²ΡΡΠ΅ WiFi.setOutputPower(20.5)ΠΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΎΡΠΈΠ²ΠΊΡ ΠΌΠΎΠ΄ΡΠ»Ρ |
WL_DISCONNECTED ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ |
Π‘Π»Π°Π±ΡΠΉ ΡΠΈΠ³Π½Π°Π» Wi-Fi ΠΠΎΠ½ΡΠ»ΠΈΠΊΡ IP-Π°Π΄ΡΠ΅ΡΠΎΠ² Π² ΡΠ΅ΡΠΈ DHCP-ΡΠ΅ΡΠ²Π΅Ρ ΡΠΎΡΡΠ΅ΡΠ° Π½Π΅ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ |
Π£ΠΌΠ΅Π½ΡΡΠΈΡΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΠΎ ΡΠΎΡΡΠ΅ΡΠ° ΠΠ°Π΄Π°ΠΉΡΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ IP Π² ΠΊΠΎΠ΄Π΅ ΠΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ ΡΠΎΡΡΠ΅Ρ |
| ΠΠΎΠ΄ΡΠ»Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ | ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠΉ ΡΠΎΠΊ ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΠΎΡΠΎΡΠΊΠΎΠ΅ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠ΅ Π½Π° Π²ΡΠ²ΠΎΠ΄Π°Ρ ΠΠΎΠ²ΡΠ΅ΠΆΠ΄ΡΠ½Π½Π°Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΠ° |
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΏΠΈΡΠ°Π½ΠΈΡ Π½Π° 500+ ΠΌΠ ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΏΠ°ΡΠ½ΡΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΠ΅ΡΠ΅ΠΏΡΠΎΡΠ΅ΠΉΡΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ |
AT command error |
ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΡΡΠ° GPIO0 Π·Π°ΠΌΠΊΠ½ΡΡ Π½Π° GND ΠΠΎΠ²ΡΠ΅ΠΆΠ΄ΡΠ½ UART-ΠΌΠΎΡΡ (Π΄Π»Ρ USB-Π²Π΅ΡΡΠΈΠΉ) |
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠΊΠΎΡΠΎΡΡΠΈ 9600, 57600, 115200 ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ GPIO0 ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠΉ USB-UART Π°Π΄Π°ΠΏΡΠ΅Ρ |
ΠΡΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ ΡΠ΅ΡΠΈ, Π½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ IP-Π°Π΄ΡΠ΅Ρ:
- ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ DHCP Π½Π° ΡΠΎΡΡΠ΅ΡΠ΅ (Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π²ΠΊΠ»ΡΡΡΠ½).
- Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π² ΡΠ΅ΡΠΈ Π½Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΏΠΎ MAC-Π°Π΄ΡΠ΅ΡΠ°ΠΌ.
- ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π·Π°Π΄Π°ΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ IP Π² ΠΊΠΎΠ΄Π΅:
WiFi.config(IPAddress(192,168,1,100), IPAddress(192,168,1,1), IPAddress(255,255,255,0));
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π ΡΠ΅ΡΡΡ Ρ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΠ΅Π»ΡΠ½ΡΠ΅ Wi-Fi Ρ Π²Π΅Π±-ΠΏΠΎΡΡΠ°Π»ΠΎΠΌ) ESP8266 Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ. Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΌΡΠ»ΡΡΠΈΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ° Π΄Π»Ρ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ captcha ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΊΡΠΈ.
6. ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ: ΡΠΎΠ²Π΅ΡΡ Π΄Π»Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ
Π‘ΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠ΅ Wi-Fi-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΊΡΠΈΡΠΈΡΠ½ΠΎ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π° ESP8266. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΎΠ±ΡΡΠ²ΠΎΠ² ΡΠ²ΡΠ·ΠΈ ΠΈ ΠΏΠΎΠ²ΡΡΠΈΡΡ Π½Π°Π΄ΡΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ:
- π ΠΠΈΠ½Π³-ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³: ΠΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠΉΡΠ΅ ping-ΠΏΠ°ΠΊΠ΅ΡΡ Π½Π° ΡΠΎΡΡΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡ ΠΎΠ±ΡΡΠ²Ρ ΡΠ²ΡΠ·ΠΈ:
if (!Ping.ping("192.168.1.1")) {WiFi.reconnect();
}
- π‘ ΠΠ²ΡΠΎΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅: Π ΡΡΠ½ΠΊΡΠΈΠΈ
loop()Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΡΠ°ΡΡΡΠ°:if (WiFi.status() != WL_CONNECTED) {WiFi.begin(ssid, password);
}
- β‘ ΠΠ½Π΅ΡΠ³ΠΎΡΠ±Π΅ΡΠ΅ΠΆΠ΅Π½ΠΈΠ΅: ΠΠ»Ρ Π±Π°ΡΠ°ΡΠ΅ΠΉΠ½ΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ΅ΠΆΠΈΠΌ
WIFI_PS_MIN_MODEM(ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ½Π΅ΡΠ³ΠΎΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ Π·Π° ΡΡΡΡ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ).
ΠΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ:
- πΆ ΠΠ½ΡΠ΅Π½Π½Π°: ΠΠ»Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ESP-12 Π·Π°ΠΌΠ΅Π½Π° Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ Π°Π½ΡΠ΅Π½Π½Ρ Π½Π° Π²Π½Π΅ΡΠ½ΡΡ Ρ ΡΡΠΈΠ»Π΅Π½ΠΈΠ΅ΠΌ
2 dBiΠΌΠΎΠΆΠ΅Ρ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ Π΄Π°Π»ΡΠ½ΠΎΡΡΡ Π½Π° 30-50%. - π ΠΠΈΡΠ°Π½ΠΈΠ΅: ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠ½Π΄Π΅Π½ΡΠ°ΡΠΎΡΡ
1000 ΠΌΠΊΠ€Π½Π° Π»ΠΈΠ½ΠΈΠΈ ΠΏΠΈΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΡΠ³Π»Π°ΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΠΊΠ°ΡΠΊΠΎΠ² ΡΠΎΠΊΠ°. - π‘οΈ ΠΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅: ΠΡΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΡΠ΄ΠΎΠΌ Ρ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°ΠΌΠΈ ΠΏΠΎΠΌΠ΅Ρ (Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΡΠΌΠΈ, ΡΠ΅Π»Π΅), ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ Π΅Π³ΠΎ Π² ΠΌΠ΅ΡΠ°Π»Π»ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΊΡΠ°Π½.
ΠΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², Π³Π΄Π΅ ΠΊΡΠΈΡΠΈΡΠ½Π° ΡΠΊΠΎΡΠΎΡΡΡ ΠΎΡΠΊΠ»ΠΈΠΊΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠ±ΠΎΡΠ°ΠΌΠΈ), ΡΠ°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° UDP Π²ΠΌΠ΅ΡΡΠΎ TCP. ΠΠ½ ΠΌΠ΅Π½Π΅Π΅ Π½Π°Π΄ΡΠΆΠ΅Π½, Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ΅Π½ΡΡΠΈΠ΅ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ:
WiFiUDP udp;
udp.begin(1234); // ΠΠΎΡΡ Π΄Π»Ρ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π½ΠΈΡ
7. ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ: ΠΊΠ°ΠΊ Π·Π°ΡΠΈΡΠΈΡΡ Π²Π°ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π² ΡΠ΅ΡΠΈ
ESP8266, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΡΠ½Π½ΡΠΉ ΠΊ Wi-Fi, ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ Π²Ρ ΠΎΠ΄Π° Π΄Π»Ρ Π°ΡΠ°ΠΊ. ΠΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΡΠΎ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΡΠΈΡΠΈΡΠ½ΠΎΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠΎΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°ΠΌΠΊΠ°ΠΌΠΈ ΠΈΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΎΡΠΎΠΏΠ»Π΅Π½ΠΈΡ). ΠΠΈΠΆΠ΅ β Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΌΠ΅ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ:
- π ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ: Π£ΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ AT-ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ (Π½ΠΈΠΆΠ΅
1.7.0) ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠ΄. - π ΠΠ·ΠΎΠ»ΡΡΠΈΡ ΡΠ΅ΡΠΈ: ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ Π½Π° ΡΠΎΡΡΠ΅ΡΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ΅ΡΡ Π΄Π»Ρ IoT-ΡΡΡΡΠΎΠΉΡΡΠ² Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌ Π΄ΠΎΡΡΡΠΏΠΎΠΌ ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ.
- π Π¨ΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅: ΠΡΠ΅Π³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
WPA2-AES(Π½Π΅TKIP!). ΠΠ·Π±Π΅Π³Π°ΠΉΡΠ΅ ΠΎΡΠΊΡΡΡΡΡ ΡΠ΅ΡΠ΅ΠΉ ΠΈΠ»ΠΈWEP.
ΠΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Ρ ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΌ Π΄ΠΎΡΡΡΠΏΠΎΠΌ:
- π OTA-ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ: Π Π΅Π°Π»ΠΈΠ·ΡΠΉΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΠΏΠΎ Π²ΠΎΠ·Π΄ΡΡ Ρ (Over-The-Air) Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΡΠΌΠΌ.
- π‘ MQTT Ρ TLS: ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ MQTT Π½Π°ΡΡΡΠΎΠΉΡΠ΅ ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅:
client.setServer(mqtt_server, 8883); // ΠΠΎΡΡ 8883 Π΄Π»Ρ TLSclient.setBufferSize(2048); // Π£Π²Π΅Π»ΠΈΡΡΡΠ΅ Π±ΡΡΠ΅Ρ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ²
- π‘οΈ Π€Π°ΠΉΡΠ²ΠΎΠ» Π½Π° ΡΠΎΡΡΠ΅ΡΠ΅: ΠΠ°ΠΊΡΠΎΠΉΡΠ΅ Π²ΡΠ΅ Π²Ρ ΠΎΠ΄ΡΡΠΈΠ΅ ΠΏΠΎΡΡΡ Π΄Π»Ρ IP-Π°Π΄ΡΠ΅ΡΠ° ESP8266, ΠΊΡΠΎΠΌΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ .
ΠΡΠ»ΠΈ Π²Π°ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°:
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Cloudflare Tunnel ΠΈΠ»ΠΈ Tailscale Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΎΠ±ΡΠΎΡΠ° ΠΏΠΎΡΡΠΎΠ².
- ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ Π΄Π²ΡΡ ΡΠ°ΠΊΡΠΎΡΠ½ΡΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π΄Π»Ρ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
- Π Π΅Π³ΡΠ»ΡΡΠ½ΠΎ ΠΌΠ΅Π½ΡΠΉΡΠ΅ ΠΏΠ°ΡΠΎΠ»ΠΈ ΠΈ SSH-ΠΊΠ»ΡΡΠΈ (Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ESP8266 SSH Server).
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΠΎΠ΄ΡΠ»ΠΈ ESP8266 Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΠ°ΠΌΠΈ ΡΡΠ°ΡΡΠ΅ 2019 Π³ΠΎΠ΄Π° ΡΡΠ·Π²ΠΈΠΌΡ ΠΊ Π°ΡΠ°ΠΊΠ΅ Kr00k (CVE-2019-15126), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°ΡΡ Wi-Fi-ΡΡΠ°ΡΠΈΠΊ. ΠΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΎΡΠΈΠ²ΠΊΡ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠΈΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΎΡ Π²Π°ΠΆΠ½ΡΡ ΡΠ΅ΡΠ΅ΠΉ.
8. ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
ΠΡΠ»ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ESP8266 ΠΊ ΡΠ΅ΡΠΈ.
Π Π΅ΠΆΠΈΠΌ ΡΠΎΡΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ° (AP):
- π‘ ΠΠΎΠ΄ΡΠ»Ρ ΡΠ°ΠΌ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠΎΡΠΊΠΎΠΉ Π΄ΠΎΡΡΡΠΏΠ°, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
- π ΠΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ "ΠΏΠΎ Π²ΠΎΠ·Π΄ΡΡ Ρ" (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ΅Π· ΡΠΌΠ°ΡΡΡΠΎΠ½).
- β‘ ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅: ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ 4 ΠΏΠΎΠ΄ΠΊΠ»ΡΡΡΠ½Π½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΠ΅ΠΆΠΈΠΌΠ° AP:
WiFi.softAP("ESP8266_AP", "password");
IPAddress myIP = WiFi.softAPIP();
Serial.print("AP IP: ");
Serial.println(myIP);
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· Ethernet (ESP8266 + EN28J60):
- π ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠΈΠΏ EN28J60 Π΄Π»Ρ ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
- π ΠΠΊΡΡΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², Π³Π΄Π΅ Wi-Fi Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΈΠ»ΠΈ Π·Π°ΠΏΡΠ΅ΡΡΠ½.
- β‘ Π’ΡΠ΅Π±ΡΠ΅Ρ ΠΏΠ°ΡΠ»ΡΠ½ΡΡ
ΡΠ°Π±ΠΎΡ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
UIPEthernet.
ΠΠΎΡΡ Wi-Fi β Bluetooth (ESP32S + ESP8266):
- π± ESP8266 ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ Wi-Fi, Π° Π΄Π°Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π½Π° ΡΠΌΠ°ΡΡΡΠΎΠ½ ΠΏΠΎ Bluetooth ΡΠ΅ΡΠ΅Π· ESP32.
- π ΠΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Ρ Π½ΠΈΠ·ΠΊΠΈΠΌ ΡΠ½Π΅ΡΠ³ΠΎΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΠΌ (Bluetooth LE).
ΠΠ»Ρ ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΡΡ
ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ESP8266 Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ mesh-ΡΠ΅ΡΠΈ (ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ESP-NOW). ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ Π½Π°ΠΏΡΡΠΌΡΡ, Π±Π΅Π· ΡΠΎΡΡΠ΅ΡΠ°:
#include <esp_now.h>
// ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ
WiFi.mode(WIFI_STA);
WiFi.disconnect();
esp_now_init();
// ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΈΡΠ° (Π΄ΡΡΠ³ΠΎΠ³ΠΎ ESP8266)
esp_now_add_peer(broadcastAddress, ESP_NOW_ROLE_COMBO, 1, NULL, 0);
FAQ: Π§Π°ΡΡΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ESP8266 ΠΊ Wi-Fi
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ESP8266 ΠΊ ΡΠ΅ΡΠΈ 5 ΠΠΡ?
ΠΠ΅Ρ, ESP8266 ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠΈ 2.4 ΠΠΡ. ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ 5 ΠΠΡ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π½Π° Π±Π°Π·Π΅ ESP32, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ Π΄Π²ΡΡ
Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π½ΡΠΉ Wi-Fi.
ΠΠ°ΠΊ ΡΠ·Π½Π°ΡΡ MAC-Π°Π΄ΡΠ΅Ρ ESP8266?
Π Arduino IDE ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ WiFi.macAddress(mac):
byte mac[6];
WiFi.macAddress(mac);
Serial.printf("MAC: %02X:%02X:%02X:%02X:%02X:%02X\n", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
Π AT-ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΎΡΠΏΡΠ°Π²ΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ AT+CIFSR.
ΠΠΎΡΠ΅ΠΌΡ ESP8266 Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ ΡΠ΅ΡΠΈ Ρ WPA3?
ESP8266 ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ WPA2 (Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ°ΡΡΠ΅ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ β ΡΠΎΠ»ΡΠΊΠΎ WPA/WEP). ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ WPA3 ΡΡΠ΅Π±ΡΠ΅ΡΡΡ:
- ΠΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΡ Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ
3.0.0+(Π΄Π»Ρ NonOS SDK). - ΠΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΉ Wi-Fi-ΠΌΠΎΠ΄ΡΠ»Ρ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ WPA3 (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ESP32).
ΠΠ°ΠΊ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΡΠ½Π΅ΡΠ³ΠΈΠΈ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ?
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π³Π»ΡΠ±ΠΎΠΊΠΈΠΉ ΡΠΎΠ½ (deep sleep):
ESP.deepSleep(10e6); // Π‘ΠΎΠ½ Π½Π° 10 ΡΠ΅ΠΊΡΠ½Π΄ (Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
)
ΠΠ΅ΡΠ΅Π΄ ΡΠ½ΠΎΠΌ ΠΎΡΠΊΠ»ΡΡΠΈΡΠ΅ Wi-Fi:
WiFi.disconnect(true);
WiFi.mode(WIFI_OFF);
Π’ΠΎΠΊ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ deep sleep ΡΠ½ΠΈΠΆΠ°Π΅ΡΡΡ Π΄ΠΎ ~20 ΠΌΠΊΠ (ΠΏΡΠΎΡΠΈΠ² ~70 ΠΌΠ Π² Π°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅).
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ESP8266 Π±Π΅Π· ΡΠΎΡΡΠ΅ΡΠ° (ad-hoc)?
Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ Π΄Π°, Π½ΠΎ Ρ ΠΎΠ³ΠΎΠ²ΠΎΡΠΊΠ°ΠΌΠΈ:
- ESP8266 Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ΅ΠΆΠΈΠΌ
ad-hoc(ΠΊΠ°ΠΊ ΡΡΠ°ΡΡΠ΅ Wi-Fi ΠΊΠ°ΡΡΡ). - ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°: Π½Π°ΡΡΡΠΎΠΉΡΠ΅ ΠΎΠ΄ΠΈΠ½ ESP8266 Π² ΡΠ΅ΠΆΠΈΠΌΠ΅
AP, Π° Π΄ΡΡΠ³ΠΎΠΉ β Π² ΡΠ΅ΠΆΠΈΠΌΠ΅Station, ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅ ΠΈΡ Π½Π°ΠΏΡΡΠΌΡΡ. - ΠΠ»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ Π±Π΅Π· ΡΠΎΡΡΠ΅ΡΠ° Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
ESP-NOW.