Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Mitt syfte här är att dela min erfarenhet av ESP8266 genom modulerna ESP-01, ESP-12 och NodeMCU.
Jag ska förklara:
1. Hur du ansluter ESP-01 till din dator
2. Ladda om AT -firmware
3. Använd Arduino IDE för att programmera chipet
4. Nod MCU -upplevelse
5. DeepSleep eller strömförsörj modulen med batteri
6. Ren ESP12 - Anslut den till din dator och gör dig redo för inbäddade projekt
Steg 1: ESP -01 - Kommunikationstest
Du behöver:
- ESP-01-modul förstås
- Seriell USB-adapter
- En 3.3V regulator, jag använde en LE33CZ (max 100mA), det fungerar men jag rekommenderar en modell med 1A Max.
Följ schemat.
Obs: CH_PD måste anslutas till +VCC, som det nämns i databladet för ESP8266.
Kommunicera med ESP:
Normalt när du köper en sådan modul:
- AT -firmware finns redan i minnet
- standardserien är 115200 bps
Teoretiskt kan du använda alla seriekommunikationsprogram. Var noga med att lägga till New Line & Carriage Return efter varje kommando.
Jag försökte använda PutTTY för att skicka AT -kommandon men utan framgång på grund av dessa New Line & Carriage Return -tecken. Jag hittade inte sättet att göra det
Så jag använde den seriella bildskärmen för ARDUINO, var noga med att ställa in "Både NL&CR" annars fungerar det inte
När du är klar:
- Försök att skriva: AT
- ESP ska svara: OK
Nu är du inne. Se Espressif -dokumentation för AT -kommandon.
Med AT -kommandon kan du ansluta till WiFi och skapa en HTTP -server. Men du kan inte styra GPIO.
Steg 2: ESP -01 - Ladda om AT -firmware
Om du inte får någon programvara inuti modulen (men normalt är det), förklarar jag här hur du laddar om den med ett plattformsverktyg.
Du kan hoppa över det här steget om det föregående var ok för dig.
Det första du behöver veta:
- För att gå in i programläge måste du sätta GPIO0 vid 0V och göra en RESET medan GPIO0 fortfarande är på 0V.
- Då är modulen redo att ladda firmware i flashminnet
Gå till Espressif.com för att ladda ner SDK:
I mappfacket/at kommer README -filen att berätta vilka filer som ska laddas i minnet och startadresserna
Exempel:
# NON-BOOT MODE ## nedladdning
eagle.flash.bin 0x00000
eagle.irom0text.bin 0x10000
blank.bin
Blixtstorlek 8Mbit: 0x7e000 och 0xfe000
Blixtstorlek 16Mbit: 0x7e000 och 0x1fe000
Blixtstorlek 16Mbit-C1: 0xfe000 och 0x1fe000
Blixtstorlek 32Mbit: 0x7e000 och 0x3fe000
Blixtstorlek 32Mbit-C1: 0xfe000 och 0x3fe000
esp_init_data_default.bin (valfritt)
Blixtstorlek 8Mbit: 0xfc000
Blixtstorlek 16Mbit: 0x1fc000
Blixtstorlek 16Mbit-C1: 0x1fc000
Blixtstorlek 32Mbit: 0x3fc000
Blixtstorlek 32Mbit-C1: 0x3fc000
Obs! Du måste veta storleken och typen av minne du har i din modul. Det är en punkt vi kommer att hantera om några sekunder …
Använd esptool.py för att ladda in firmware:
- Espressif rekommenderar att man använder sin egen programvara, men det är på Windows
- Så https://github.com/espressif/esptool är ett bra alternativ
- python esptool.py --port/dev/ttyUSB0 --baud 115200 write_flash 0x00000./at/noboot/eagle.flash.bin
- python esptool.py --port/dev/ttyUSB0 --baud 115200 write_flash 0x10000./at/noboot/eagle.irom0text.bin
- python esptool.py --port/dev/ttyUSB0 --baud 115200 write_flash 0x7e000./bin/blank.bin
- python esptool.py --port/dev/ttyUSB0 --baud 115200 write_flash 0xfc000./bin/esp_init_data_default.bin
- …
Viktig notering:
Du kan inte göra dessa saker om du inte vet vilken typ av minne du har i din modul.
Jag ger dig ett tips:
python esptool.py --port /dev /ttyUSB0 --baud 115200 flash_id
Kolla sedan kombinationen på
tillverkare c8 är GigaDevice och enhet 4013 är GD25Q40, vilket är en 4Mbit = 512KByte -enhet
tillverkare ef är Winbond (ex Nexcom) och enhet 4016 är W25Q32, vilket är en 32Mbit = 4MByte -enhet
Steg 3: Använd ARDUINO IDE
I inställningarna för inställningar lägger du till den här webbadressen till "Ytterligare Boards Manager -webbadresser":
arduino.esp8266.com/stable/package_esp8266c…
Starta om ARDUINO efter det. Sedan i "VERKTYG-> BOARD" kan du välja generisk ESP8266-modul.
I File-> Exempel hittar du exempel på skisser som hjälper dig att börja programmera med ARDUINO.
Anmärkningar:
- När du laddar ner programmet glöm inte att gå in i programmeringsläge (GPIO0 = 0V och RESET).
- När du har laddat ner ett arduino -program på ESP är AT -firmware inte längre tillgänglig, så AT -kommandon gör det inte.
- Använd alternativet: skiss + wifi -inställningar
Steg 4: Nod MCU
Om du köper den här typen av moduler är det riktigt bekvämt:
- ESP-12 inuti
- Du har en blixt + återställningsknapp för att enkelt gå in i programmeringsläge
- Stift
- En integrerad USB -port …
Men om du vill integrera det i ett projekt kanske det inte är det bästa. Vi kommer att se den "rena" ESP12 i slutet av denna instruerbara.
Steg 5: DeepSleep eller strömförsörj modulen med batteri
Det är coolt att ha WiFi men det tar ström. Om du låter modulen PÅ inte säker kan du bädda in den länge i ett batteriprojekt.
Lyckligtvis kan ESP gå in i djupt viloläge. Den förbrukar sedan några mikroförstärkare.
Det är möjligt att göra det med AT -kommandon.
Men jag kommer att visa det genom arduino -programmering.
Koppla först WakeUpPin = GPIO16 till RESET för ESP. För när ESP går in i djupt viloläge, vaknar det genom att återställa sig själv genom GPIO16 -stiftet.
För att gå in i DeepSleep -läge, använd koden: ESP.deepSleep (, WAKE_RF_DEFAULT);
är i mikrosekunder. ESP kommer att sova under USA innan den återställs.
Steg 6: Ren ESP12 - Anslut den till din dator och gör dig redo för inbäddade projekt
Var inte rädd för att köpa den rena ESP12 -modulen. Det är billigt, lätt och litet.
Anslut den på samma sätt som ESP-01-modulen, med en Serial-USB-adapter.
Glöm inte att CH_PD ska vara på Vcc.
Sedan kan du göra inbäddade projekt, på batterier, med WiFi och en kraftfull mikrokontroller !!