INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
My doel hier is om my ervaring met die ESP8266 te deel deur middel van die ESP-01, ESP-12 en NodeMCU modules.
Ek sal verduidelik:
1. Hoe om ESP-01 aan u rekenaar te koppel
2. Herlaai die AT -firmware
3. Gebruik Arduino IDE om die chip te programmeer
4. Node MCU ervaring
5. DeepSleep of voed u module met battery
6. Suiwer ESP12 - Koppel dit aan u rekenaar en maak gereed vir ingebedde projekte
Stap 1: ESP -01 - Kommunikasietoets
Jy benodig:
- ESP-01 module natuurlik
- Seriële USB-adapter
- Ek was 'n 3.3V -reguleerder, ek het 'n LE33CZ (maksimum 100mA) gebruik, dit werk, maar ek beveel 'n model met 1A Max aan.
Volg die skematiese.
Let wel: CH_PD moet gekoppel wees aan +VCC, soos dit in die datablad van ESP8266 genoem word.
Kommunikeer met die ESP:
Normaalweg as u so 'n module koop:
- die AT -firmware is reeds in die geheue
- die standaardreeksnelheid is 115200 bps
Teoreties mag u enige seriële kommunikasie sagteware gebruik. Sorg net dat u New Line & Carriage Return na elke opdrag byvoeg.
Ek het probeer om PutTTY te gebruik om AT -opdragte te stuur, maar sonder sukses, as gevolg van hierdie New Line & Carriage Return -karakters. Ek het nie die manier gevind om dit te doen nie
Ek het dus die seriële monitor van ARDUINO gebruik, maar sorg dat u 'beide NL&CR' opstel, anders werk dit nie
Sodra jy gereed is:
- Probeer om te tik: AT
- ESP moet antwoord: OK
Nou is u in. Raadpleeg die Espressif -dokumentasie vir AT -opdragte.
Met AT -opdragte kan u verbinding maak met WiFi en 'n HTTP -bediener skep. Maar u kan nie GPIO beveel nie.
Stap 2: ESP -01 - Herlaai die AT -firmware
As u die module ontvang, daar geen sagteware binne is nie (maar gewoonlik is dit), verduidelik ek hier hoe u dit met 'n multi-platform-instrument kan herlaai.
U kan hierdie stap oorslaan as die vorige een goed was.
Die eerste ding wat u moet weet:
- Om in die programmodus te kom, moet u GPIO0 op 0V sit en 'n RESET doen terwyl GPIO0 nog op 0V is.
- Dan is die module gereed om firmware in die flash -geheue te laai
Gaan na Espressif.com om die SDK af te laai:
In die vouerbak/at, sal die README -lêer u vertel watter lêers in die geheue en die beginadresse gelaai moet word
Voorbeeld:
# NIE-BOOT-MODUS ## aflaai
eagle.flash.bin 0x00000
eagle.irom0text.bin 0x10000
leeg.bin
Flitsgrootte 8Mbit: 0x7e000 en 0xfe000
Flitsgrootte 16Mbit: 0x7e000 en 0x1fe000
Flitsgrootte 16Mbit-C1: 0xfe000 en 0x1fe000
Flitsgrootte 32Mbit: 0x7e000 en 0x3fe000
Flitsgrootte 32Mbit-C1: 0xfe000 en 0x3fe000
esp_init_data_default.bin (opsioneel)
Flitsgrootte 8Mbit: 0xfc000
Flitsgrootte 16Mbit: 0x1fc000
Flitsgrootte 16Mbit-C1: 0x1fc000
Flitsgrootte 32Mbit: 0x3fc000
Flitsgrootte 32Mbit-C1: 0x3fc000
Let wel: U moet die grootte en tipe geheue wat u in u module het, ken. Dit is 'n punt wat ons binne 'n paar sekondes sal hanteer …
Gebruik esptool.py om die firmware te laai:
- Espressif beveel aan om hul eie sagteware te gebruik, maar dit is op Windows
- Dus https://github.com/espressif/esptool is 'n goeie alternatief
- python esptool.py --port/dev/ttyUSB0 --baud 115200 write_flash 0x00000./at/noboot/eagle.flash.bin
- python esptool.py --port/dev/ttyUSB0 --baud 115200 skryf_flits 0x10000./at/noboot/eagle.irom0text.bin
- python esptool.py --port/dev/ttyUSB0 --baud 115200 skryf_flits 0x7e000./bin/blank.bin
- python esptool.py --port/dev/ttyUSB0 --baud 115200 skryf_flits 0xfc000./bin/esp_init_data_default.bin
- …
Belangrike nota:
U kan hierdie dinge nie doen as u nie weet watter geheue u in u module het nie.
Ek gee jou 'n wenk:
python esptool.py --port /dev /ttyUSB0 --baud 115200 flash_id
Kyk dan na die kombinasie op
vervaardiger c8 is GigaDevice en toestel 4013 is GD25Q40, wat 'n 4Mbit = 512KByte -toestel is
vervaardiger ef is Winbond (ex Nexcom) en toestel 4016 is W25Q32, wat 'n 32Mbit = 4MByte -toestel is
Stap 3: Gebruik ARDUINO IDE
Voeg hierdie URL in die voorkeure -instellings by "Bykomende bestuurders -URL's":
arduino.esp8266.com/stable/package_esp8266c…
Herbegin ARDUINO daarna. Dan, in 'TOOL-> BOARD', kan u die generiese ESP8266-module kies.
In File-> Voorbeelde vind u voorbeelde van sketse om te help om met ARDUINO te begin programmeer.
Notas:
- As u u program aflaai, moet u nie vergeet om in die programmeermodus te gaan nie (GPIO0 = 0V en RESET).
- Nadat u 'n arduino -program op die ESP afgelaai het, is die AT -firmware nie meer beskikbaar nie, dus is AT -opdragte dit nie nodig nie.
- Gebruik die opsie: skets + wifi -instellings
Stap 4: Knooppunt -MCU
As u hierdie soort module koop, is dit baie gerieflik:
- ESP-12 binne
- U het 'n flits + reset -knoppie om maklik in die programmeermodus te kom
- Spelde
- 'N Geïntegreerde USB -poort …
Maar as u dit in 'n projek wil integreer, is dit miskien nie die beste nie. Ons sal die 'suiwer' ESP12 aan die einde van hierdie instruksies sien.
Stap 5: DeepSleep of voed u module met battery
Dit is cool om WiFi te hê, maar dit verg krag. As u die module AAN nie seker maak nie, kan u dit lank in 'n batteryprojek insluit.
Gelukkig kan die ESP in die diep slaapmodus ingaan. Dit verbruik dan 'n paar mikro-versterkers.
Dit is moontlik om dit te doen met AT -opdragte.
Maar ek sal dit wys deur arduino -programmering.
Draai eers WakeUpPin = GPIO16 na die RESET van die ESP. Want as die ESP in die diep slaapmodus ingaan, word dit wakker deur homself deur die GPIO16 -pen te herstel.
Gebruik die kode: ESP.deepSleep (, WAKE_RF_DEFAULT) om in die DeepSleep -modus te gaan;
is in mikrosekondes. Die ESP slaap tydens uS voordat dit herstel word.
Stap 6: Suiwer ESP12 - Koppel dit aan u rekenaar en maak gereed vir ingebedde projekte
Moenie bang wees om die suiwer ESP12 -module te koop nie. Dit is goedkoop, lig en klein.
Koppel dit op dieselfde manier as die ESP-01-module, met 'n Serial-USB-adapter.
Moenie vergeet dat CH_PD by Vcc moet wees nie.
Dan kan u ingebedde projekte maak, op batterye, met WiFi en 'n kragtige mikrobeheerder !!