Π‘ΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΏΠ»Π°ΡΡ Arduino UNO WiFi Rev2 (ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅ ATmega328P) ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ESP8266 ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Β«Π£ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ°Β», IoT-ΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ: ΠΌΠΎΠ΄ΡΠ»Ρ Π½Π΅ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ, ΠΏΠ»Π°ΡΠ° Π½Π΅ Π²ΠΈΠ΄ΠΈΡ Wi-Fi, ΠΈΠ»ΠΈ ΠΊΠΎΠ΄ Π²ΡΠ΄Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΡΠ°Π·Π±Π΅ΡΡΠΌ ΡΡΠΈ ΡΠ°Π±ΠΎΡΠΈΡ ΡΠΏΠΎΡΠΎΠ±Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ β ΠΎΡ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅Π³ΠΎ UART-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π΄ΠΎ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΠΎΠΉ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ESP ΡΠ΅ΡΠ΅Π· Arduino IDE.
ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ: UNO WiFi R3 ΡΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ESP8266 (Π½Π° ΡΠΈΠΏΠ΅ ESP-12F), Π½ΠΎ Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ Π·Π°Π²ΠΎΠ΄ΡΠΊΠΎΠΉ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΎΠΉ. ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ESP8266 (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ESP-01 ΠΈΠ»ΠΈ ESP-12E) Π΄Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ²ΠΎΠ±ΠΎΠ΄Ρ β ΠΎΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π½ΠΎΠ²ΡΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π΄ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΡΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ standalone. ΠΡ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΠΌΡΡ Π½Π° Π²Π½Π΅ΡΠ½Π΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ 90% ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ
Π·Π°Π΄Π°Ρ.
ΠΡΠ»ΠΈ Π²Ρ Π½ΠΎΠ²ΠΈΡΠΎΠΊ, Π½Π°ΡΠ½ΠΈΡΠ΅ Ρ ΡΠ°Π·Π΄Π΅Π»Π° Β«ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡΒ» β ΡΠ°ΠΌ ΡΠ΅ΠΊ-Π»ΠΈΡΡ Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ Π΄Π΅ΡΠ°Π»ΡΠΌΠΈ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ. ΠΠΏΡΡΠ½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ ΡΡΠ°Π·Ρ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΡ Π΅ΠΌΠ°ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠ΅ ESP8266 ΡΠ΅ΡΠ΅Π· Arduino. Π ΠΊΠΎΠ½ΡΠ΅ ΡΡΠ°ΡΡΠΈ β ΡΠ°Π±Π»ΠΈΡΠ° Ρ ΡΠΈΠΏΠΈΡΠ½ΡΠΌΠΈ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ ΠΈ ΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ FAQ ΠΏΠΎ ΡΠΎΠ½ΠΊΠΎΡΡΡΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ.
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ°: ΡΡΠΎ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡ ΠΏΠ»Π°ΡΡ, ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Ρ Π²Π°Ρ Π΅ΡΡΡ Π²ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅. ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ Π΄Π°ΠΆΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½Π²Π΅ΡΡΠ΅ΡΠ° Π΄Π»Ρ ΡΡΠΎΠ²Π½Π΅ΠΉ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ) ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ ESP8266.
- π Arduino UNO WiFi R3 (ΠΈΠ»ΠΈ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ UNO R3 Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌ Wi-Fi ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ)
- π‘ ΠΠΎΠ΄ΡΠ»Ρ ESP8266 (ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ESP-01 Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎΡΡΠΈ ΠΈΠ»ΠΈ ESP-12E Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π²ΡΠ²ΠΎΠ΄ΠΎΠ²)
- π ΠΡΠΎΠ²ΠΎΠ΄Π° Β«ΠΏΠ°ΠΏΠ°-ΠΌΠ°ΠΌΠ°Β» (ΠΈΠ»ΠΈ jumper wires) Π΄Π»Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ
- π ΠΡΡΠΎΡΠ½ΠΈΠΊ ΠΏΠΈΡΠ°Π½ΠΈΡ 3.3V (ESP8266 Π½Π΅ ΡΠ΅ΡΠΏΠΈΡ 5V Π½Π° Π²Ρ ΠΎΠ΄Π΅!)
- π ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ½Π²Π΅ΡΡΠ΅Ρ
5V β 3.3V(ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ, Π½ΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ) - π» Arduino IDE (Π²Π΅ΡΡΠΈΡ 1.8.19 ΠΈΠ»ΠΈ Π½ΠΎΠ²Π΅Π΅) Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ
ESP8266WiFiΠΈSoftwareSerial
ΠΡΠΎΠ±ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»ΠΈΡΠ΅ ΠΏΠΈΡΠ°Π½ΠΈΡ: ESP8266 ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅Ρ Π΄ΠΎ 300 ΠΌΠ Π² ΠΏΠΈΠΊΠΎΠ²ΡΡ
Π½Π°Π³ΡΡΠ·ΠΊΠ°Ρ
, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ Π΅Π³ΠΎ Π½Π°ΠΏΡΡΠΌΡΡ ΠΊ 3.3V Π²ΡΠ²ΠΎΠ΄Π° Arduino Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΠΌΠΎΠ΄ΡΠ»Ρ ESP-12E, ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠ°ΡΠΏΠΈΠ½ΠΎΠ²ΠΊΡ: Ρ Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π²ΡΠ²ΠΎΠ΄ΠΎΠ² ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ESP-01!
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΈΡΠ°Π½ΠΈΡ ESP8266 (Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ 3.3V!)
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ESP8266 Π² Arduino IDE
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΡΡΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ½Π²Π΅ΡΡΠ΅Ρ (Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ 5V Π»ΠΎΠ³ΠΈΠΊΡ)
Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΊΠ΅ΡΡΠ° Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, WiFiScan)
ΠΡΠΊΠ»ΡΡΠΈΡΠ΅ ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΎΠ²-->
Π‘Ρ Π΅ΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ: 3 ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠ°
ΠΡΠ±ΠΎΡ ΡΡ
Π΅ΠΌΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π²Π°ΡΠ΅ΠΉ Π·Π°Π΄Π°ΡΠΈ. ΠΠ»Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Arduino ΠΈ ESP ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡΡ UART-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΡ ESP ΠΊΠ°ΠΊ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ β ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ΅ΠΆΠΈΠΌ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ Ρ ΠΏΠΎΠ΄ΡΡΠΆΠΊΠΎΠΉ Π²ΡΠ²ΠΎΠ΄ΠΎΠ² GPIO0 ΠΈ GPIO15. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΠ±Π° ΡΠ»ΡΡΠ°Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ Π³ΠΈΠ±ΡΠΈΠ΄Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π΄Π»Ρ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ².
1. ΠΠ°Π·ΠΎΠ²ΠΎΠ΅ UART-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ (Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ )
ΠΡΠ° ΡΡ Π΅ΠΌΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Arduino ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ESP8266 ΡΠ΅ΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΡΡ. ΠΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², Π³Π΄Π΅ ESP ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ Β«ΠΌΠΎΡΡΒ» Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ Wi-Fi, Π° Π»ΠΎΠ³ΠΈΠΊΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ ΠΎΡΡΠ°ΡΡΡΡ Π½Π° Arduino.
| Arduino UNO | ESP8266 (ESP-01) | ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ |
|---|---|---|
TX (1) | RX | ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ½Π²Π΅ΡΡΠ΅Ρ 5Vβ3.3V! |
RX (0) | TX | ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π½Π°ΠΏΡΡΠΌΡΡ (ESP ΡΠ΅ΡΠΏΠΈΡ 5V Π½Π° Π²Ρ ΠΎΠ΄Π΅ RX) |
3.3V | VCC | ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ 5V β ΡΠ³ΠΎΡΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ! |
GND | GND | ΠΠ±ΡΠ°Ρ Π·Π΅ΠΌΠ»Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Π°! |
D2 | CH_PD (EN) | ΠΠΎΠ΄ΡΡΠ½ΠΈΡΠ΅ ΠΊ 3.3V ΡΠ΅ΡΠ΅Π· ΡΠ΅Π·ΠΈΡΡΠΎΡ 10ΠΊΠΠΌ |
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΡΠΈ ΡΠ°ΠΊΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ Π½Π΅Π»ΡΠ·Ρ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΠΊΠ΅ΡΡΠΈ Π² Arduino ΡΠ΅ΡΠ΅Π· USB, ΡΠ°ΠΊ ΠΊΠ°ΠΊ RX/TX Π·Π°Π½ΡΡΡ. ΠΠ»Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΎΡΠΊΠ»ΡΡΠ°ΠΉΡΠ΅ ΠΏΡΠΎΠ²ΠΎΠ΄Π° ΠΎΡ RX(0) ΠΈ TX(1) ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ SoftwareSerial Π½Π° Π΄ΡΡΠ³ΠΈΡ
ΠΏΠΈΠ½Π°Ρ
(Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, D3/D4).
2. Π Π΅ΠΆΠΈΠΌ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ESP8266 (Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΠ)
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΈΡΡ ESP8266 ΡΠ΅ΡΠ΅Π· Arduino, Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ Π² ΡΠ΅ΠΆΠΈΠΌ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ:
- ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅
GPIO0ΠΊGND(ΡΡΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅Ρ ΡΠ΅ΠΆΠΈΠΌ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ). - ΠΠΎΠ΄ΡΡΠ½ΠΈΡΠ΅
GPIO15ΠΊGND(Π΄Π»Ρ ESP-12E). - ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅
TX/TXArduino ΠΊRX/TXESP (Ρ ΠΊΠΎΠ½Π²Π΅ΡΡΠ΅ΡΠΎΠΌ!). - ΠΠΎΠ΄Π°ΠΉΡΠ΅ ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ ΠΏΡΠΎΡΠΈΠ²ΠΊΡ ΡΠ΅ΡΠ΅Π· Arduino IDE (Π²ΡΠ±ΡΠ°Π² ΠΏΠ»Π°ΡΡ
Generic ESP8266 Module).
ΠΠΎΡΠ΅ΠΌΡ ESP8266 Π½Π΅ Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΡΠ΅ΠΆΠΈΠΌ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ?
Π§Π°ΡΡΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ° β Π·Π°Π±ΡΠ²Π°ΡΡ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ GPIO0 ΠΎΡ GND ΠΏΠΎΡΠ»Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΊΠΎΠ΄Π°. Π’Π°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅:
- Π‘ΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΠΏΠΈΡΠ°Π½ΠΈΡ 3.3V (ΠΏΡΠΎΠ²Π°Π»Ρ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ).
- ΠΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ Π²ΡΠ±ΠΎΡΠ° ΠΏΠΎΡΡΠ° Π² Arduino IDE (Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ COM-ΠΏΠΎΡΡ Π²Π°ΡΠ΅ΠΉ UNO).
- ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΡΠ½Π½ΡΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ Π½Π° ΡΠ΅Ρ ΠΆΠ΅ ΠΏΠΈΠ½Π°Ρ .
3. ΠΠΈΠ±ΡΠΈΠ΄Π½ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ (Arduino + ESP ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ)
ΠΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², Π³Π΄Π΅ Arduino ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π°ΡΡΠΈΠΊΠ°ΠΌΠΈ, Π° ESP ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Wi-Fi, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ SoftwareSerial Π½Π° ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΡ
ΠΏΠΈΠ½Π°Ρ
(Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, D5/D6). ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΌ Serial:
#include <SoftwareSerial.h>
SoftwareSerial espSerial(5, 6); // RX, TX (ΠΏΠΈΠ½Ρ D5, D6)
void setup() {
espSerial.begin(115200); // Π‘ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ±ΠΌΠ΅Π½Π° Ρ ESP
Serial.begin(9600); // ΠΠΎΠ½ΠΈΡΠΎΡ ΠΏΠΎΡΡΠ° Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ
}
ESP-01 (ΡΠ°ΠΌΡΠΉ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠΉ)
ESP-12E (ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΎΠ²)
NodeMCU (Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ USB)
Wemos D1 Mini
ΠΡΡΠ³ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ-->
ΠΡΠΎΡΠΈΠ²ΠΊΠ° ESP8266 ΡΠ΅ΡΠ΅Π· Arduino IDE: ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎ
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ESP8266 ΠΊΠ°ΠΊ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ (Π±Π΅Π· Arduino), Π΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ:
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ESP8266 Π² Arduino IDE:
- ΠΡΠΊΡΠΎΠΉΡΠ΅
Π€Π°ΠΉΠ» β ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ. - Π ΠΏΠΎΠ»Π΅ Β«ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π΄Π»Ρ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΏΠ»Π°ΡΒ» Π΄ΠΎΠ±Π°Π²ΡΡΠ΅:
https://arduino.esp8266.com/stable/package_esp8266com_index.json - ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π²
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ β ΠΠ»Π°ΡΡ β ΠΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ»Π°Ρ, Π½Π°ΠΉΠ΄ΠΈΡΠ΅ esp8266 ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ.
- ΠΡΠΊΡΠΎΠΉΡΠ΅
Generic ESP8266 Module Π² ΠΌΠ΅Π½Ρ ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ β ΠΠ»Π°ΡΠ°.GPIO0 β GND!).Blink Π΄Π»Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π° ΠΈΠ»ΠΈ WiFiScan Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅ΡΠΈ).β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΡΠ»ΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠ° Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ espcomm_sync failed, ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅:
- ΠΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ TX/RX (ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΊΡΡΡΡΠ½ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Ρ Ρ ΠΊΠΎΠ½Π²Π΅ΡΡΠ΅ΡΠΎΠΌ!).
- Π‘ΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΠΏΠΈΡΠ°Π½ΠΈΡ (ESP ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π΅Π½ ΠΊ ΠΏΡΠΎΡΠ°Π΄ΠΊΠ°ΠΌ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ).
- ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ COM-ΠΏΠΎΡΡΠ°ΠΌΠΈ (ΠΎΡΠΊΠ»ΡΡΠΈΡΠ΅ Π»ΠΈΡΠ½ΠΈΠ΅ USB-ΡΡΡΡΠΎΠΉΡΡΠ²Π°).
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Wi-Fi ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ: ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°
ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ ESP8266 Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΊΠ΅ΡΡΠ° Π΄Π»Ρ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠ΅ΠΉ. ΠΡΠΎΡ ΠΊΠΎΠ΄ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π΅Π½ ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ Π½Π° Π²Π½Π΅ΡΠ½Π΅ΠΌ ESP, ΡΠ°ΠΊ ΠΈ Π½Π° Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ UNO WiFi R3:
#include <ESP8266WiFi.h>
void setup() {
Serial.begin(115200);
WiFi.mode(WIFI_STA); // Π Π΅ΠΆΠΈΠΌ ΡΡΠ°Π½ΡΠΈΠΈ (ΠΊΠ»ΠΈΠ΅Π½ΡΠ°)
WiFi.disconnect();
delay(100);
}
void loop() {
Serial.println("Π‘ΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅ΠΉ...");
int n = WiFi.scanNetworks();
if (n == 0) {
Serial.println("Π‘Π΅ΡΠ΅ΠΉ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ!");
} else {
for (int i = 0; i < n; i++) {
Serial.print(WiFi.SSID(i));
Serial.print(" (");
Serial.print(WiFi.RSSI(i));
Serial.println(" dBm)");
}
}
delay(5000);
}
ΠΡΠ»ΠΈ ΡΠΊΠ΅ΡΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΡΠ΅ΠΉ Ρ ΡΡΠΎΠ²Π½Π΅ΠΌ ΡΠΈΠ³Π½Π°Π»Π° β ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ! ΠΠ»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ Π²Π°ΡΠ΅ΠΉ ΡΠ΅ΡΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π² setup():
WiFi.begin("ΠΠ°Ρ_SSID", "ΠΠ°Ρ_ΠΏΠ°ΡΠΎΠ»Ρ");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΎ!");
Serial.print("IP: ");
Serial.println(WiFi.localIP());
Π’ΠΈΠΏΠΈΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ
ΠΠ°ΠΆΠ΅ ΠΏΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠΈΠΆΠ΅ β ΡΠ°Π±Π»ΠΈΡΠ° Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΡΠΌΠΈ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ ΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ ΠΈΡ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ:
| ΠΡΠΈΠ±ΠΊΠ° | ΠΠΎΠ·ΠΌΠΎΠΆΠ½Π°Ρ ΠΏΡΠΈΡΠΈΠ½Π° | Π Π΅ΡΠ΅Π½ΠΈΠ΅ |
|---|---|---|
ai-thinker: Invalid head |
ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ ΠΏΡΠΎΡΠΈΠ²ΠΊΠ° ΠΈΠ»ΠΈ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄ΡΠ½Π½ΡΠΉ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ | ΠΡΠΎΡΠ΅ΠΉΡΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠΈΡΡΠΎΠΉ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΎΠΉ ΡΠ΅ΡΠ΅Π· esptool.py |
| ESP Π½Π΅ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π½Π° AT-ΠΊΠΎΠΌΠ°Π½Π΄Ρ | ΠΠ΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½Π°Ρ ΡΠΊΠΎΡΠΎΡΡΡ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈΠ»ΠΈ ΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ espSerial.begin(115200) ΠΈ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ 3.3V |
| ΠΠ΅ΡΠ΅Π³ΡΠ΅Π² ESP8266 | Π§ΡΠ΅Π·ΠΌΠ΅ΡΠ½ΡΠΉ ΡΠΎΠΊ ΠΈΠ»ΠΈ ΠΊΠΎΡΠΎΡΠΊΠΎΠ΅ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠ΅ | ΠΡΠΊΠ»ΡΡΠΈΡΠ΅ ΠΏΠΈΡΠ°Π½ΠΈΠ΅, ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΡ Π΅ΠΌΡ Π½Π° Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ |
wl_status = 6 (ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ) |
ΠΠ΅Π²Π΅ΡΠ½ΡΠΉ ΠΏΠ°ΡΠΎΠ»Ρ ΠΈΠ»ΠΈ SSID | ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² WiFi.begin() |
| Arduino Π·Π°Π²ΠΈΡΠ°Π΅Ρ ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ | ΠΠΎΠ½ΡΠ»ΠΈΠΊΡ Ρ SoftwareSerial Π½Π° Π·Π°Π½ΡΡΡΡ
ΠΏΠΈΠ½Π°Ρ
|
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΈΠ½Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, D7/D8) |
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
Π½Π΅ΡΠ΄Π°ΡΠ½ΡΡ
ΠΏΠΎΠΏΡΡΠΎΠΊ ΠΏΡΠΎΡΠΈΠ²ΠΊΠΈ ESP8266 ΠΏΠ΅ΡΠ΅ΡΡΠ°Π» ΠΎΡΠ²Π΅ΡΠ°ΡΡ, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Β«ΡΠ΅Π°Π½ΠΈΠΌΠ°ΡΠΈΡΒ» ΡΠ΅ΡΠ΅Π· esptool.py Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
esptool.py --port COM3 erase_flash
ΠΡΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΠΈΡΡΠΈΡ ΠΏΠ°ΠΌΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΡ Π·Π°Π½ΠΎΠ²ΠΎ.
ΠΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ: MQTT ΠΈ OTA
ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΠΏΡΠΎΠ΅ΠΊΡΠ°:
- π MQTT: ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ΡΡ ΠΊ Π±ΡΠΎΠΊΠ΅ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Mosquitto) Π΄Π»Ρ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ:
#include <PubSubClient.h>
PubSubClient mqttClient(wifiClient);
mqttClient.setServer("broker.example.com", 1883);
- π OTA-ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅: ΠΠ°Π³ΡΡΠΆΠ°ΠΉΡΠ΅ ΠΏΡΠΎΡΠΈΠ²ΠΊΡ ΠΏΠΎ Π²ΠΎΠ·Π΄ΡΡ
Ρ Π±Π΅Π· ΠΏΡΠΎΠ²ΠΎΠ΄ΠΎΠ²:
#include <ESP8266mDNS.h>
#include <WiFiUdp.h>
#include <ArduinoOTA.h>
- π Web-ΡΠ΅ΡΠ²Π΅Ρ: Π Π°Π·ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ESP ΠΏΡΠΎΡΡΠΎΠΉ HTTP-ΡΠ΅ΡΠ²Π΅Ρ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· Π±ΡΠ°ΡΠ·Π΅Ρ:
#include <ESP8266WebServer.h>
ESP8266WebServer server(80);
ΠΡΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π΄Π΅ΡΠ°Π»Ρ: ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ OTA-ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π² ΠΊΠΎΠ΄Π΅ ΡΠΊΠ°Π·Π°Π½ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ hostname (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ArduinoOTA.setHostname("uno-wifi-esp")). ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² Π² ΡΠ΅ΡΠΈ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΡΠΎΠΉΡΡΠ².
FAQ: ΠΎΡΠ²Π΅ΡΡ Π½Π° ΡΠ°ΡΡΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ESP8266 ΠΊ Arduino UNO WiFi R3 Π±Π΅Π· Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½Π²Π΅ΡΡΠ΅ΡΠ°?
Π’Π΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈ Π΄Π°, Π½ΠΎ ΡΡΠΎ ΡΠΈΡΠΊΠΎΠ²Π°Π½Π½ΠΎ: TX Arduino Π²ΡΠ΄Π°ΡΡ 5V, Π° RX ESP ΡΠ°ΡΡΡΠΈΡΠ°Π½ Π½Π° 3.3V. Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΌΠΎΠ΄ΡΠ»Ρ Π²ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ 5V Π½Π° Π²Ρ
ΠΎΠ΄Π΅, Π½ΠΎ ΡΡΠΎ ΡΠΎΠΊΡΠ°ΡΠ°Π΅Ρ Π΅Π³ΠΎ ΡΡΠΎΠΊ ΡΠ»ΡΠΆΠ±Ρ. ΠΠ»Ρ Π½Π°Π΄ΡΠΆΠ½ΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠ½Π²Π΅ΡΡΠ΅Ρ ΠΈΠ»ΠΈ Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΠ΅Π·ΠΈΡΡΠΎΡΠ°Ρ
(Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 1ΠΊΠΠΌ + 2ΠΊΠΠΌ).
ΠΠΎΡΠ΅ΠΌΡ Arduino Π½Π΅ Π²ΠΈΠ΄ΠΈΡ ESP8266 ΡΠ΅ΡΠ΅Π· SoftwareSerial?
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅:
- ΠΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ ΠΏΠΈΠ½ΠΎΠ² Π²
SoftwareSerial espSerial(X, Y)(RX ΠΈ TX Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°ΡΡΡΡ Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΌ Serial!). - Π‘ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ±ΠΌΠ΅Π½Π°: Ρ ESP ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
115200 Π±ΠΎΠ΄, Π° Ρ SoftwareSerial β9600. - ΠΠΈΡΠ°Π½ΠΈΠ΅: ΠΏΡΠΈ Π½ΠΈΠ·ΠΊΠΎΠΌ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠΈ ESP ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΠΎΡΠ²Π΅ΡΠ°ΡΡ.
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ΅ΡΡ: ΠΎΡΠΏΡΠ°Π²ΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ AT ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΎΡΠ²Π΅Ρ OK.
ΠΠ°ΠΊ ΡΠ±ΡΠΎΡΠΈΡΡ ESP8266 ΠΊ Π·Π°Π²ΠΎΠ΄ΡΠΊΠΈΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌ?
ΠΡΡΡ Π΄Π²Π° ΡΠΏΠΎΡΠΎΠ±Π°:
- ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ: ΠΠ°Π³ΡΡΠ·ΠΈΡΠ΅ ΡΠΊΠ΅ΡΡ Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
ESP.eraseConfig(). - ΠΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎ: ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅
GPIO0ΠΊ3.3VΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΏΠΈΡΠ°Π½ΠΈΡ (ΡΡΠΎ ΡΠ±ΡΠΎΡΠΈΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Wi-Fi).
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ESP8266 ΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Wi-Fi ΠΌΠΎΠ΄ΡΠ»Ρ UNO WiFi R3 ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ?
Π’Π΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈ Π΄Π°, Π½ΠΎ ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°ΠΌ. ΠΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ESP-12F Π½Π° UNO WiFi R3 ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΊΡ ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ESP8266WiFi Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΠ»Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ (ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ² WiFi.status() Π² WL_DISCONNECTED) ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΉ ESP.
ΠΠ°ΠΊΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ESP8266?
ΠΠ°Π²ΠΈΡΠΈΡ ΠΎΡ Π·Π°Π΄Π°ΡΠΈ:
ESP8266WiFiβ Π΄Π»Ρ Π±Π°Π·ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Wi-Fi (ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅).PubSubClientβ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ MQTT.ESP8266WebServerβ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.ArduinoOTAβ Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΠΎ Π²ΠΎΠ·Π΄ΡΡ Ρ.
ΠΠ·Π±Π΅Π³Π°ΠΉΡΠ΅ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π²ΡΠΎΠ΄Π΅ ESP8266AT β ΠΎΠ½ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ.