Shema ožičenja Esp 01. Wifi modul, ki temelji na čipu ESP8266. Pretvornik USB v TTL s priključkom DTR

... Na splošno to gradivo ni omejeno le na eno temo Arduino.

Tema ESP8266 je precej težka. Toda, če delate s temi moduli Wi-Fi v razvojnem okolju Arduino IDE, vstopni prag pade na raven, sprejemljivo za povprečnega uporabnika Arduino. Pa ne samo Arduinovec, ampak vsaka oseba, ki ima željo pogruntati nekaj na temo IoT (Internet of Things), in ne da bi porabila veliko časa za branje dokumentacije za čip in preučevanje API-ja za te module.

Ta videoposnetek popolnoma podvaja material, predstavljen v spodnjem članku.

No, že vemo, kako povezati ESP8266 in ga postaviti v programski način, zdaj pa preidimo na nekaj bolj uporabnega.

Takoj bom rekel, da ko programiramo modul v razvojnem okolju Arduino, uničimo izvorno strojno programsko opremo in ne bomo več mogli delati z modulom z ukazi AT. Osebno me to ne zmrazi/vroči, a če kdo to potrebuje, vam bom proti koncu članka pokazal, kako v modul vnesti izvorno vdelano programsko opremo ali nekakšen zagonski nalagalnik, kot je NodeMcu.

Za začetek prenesite z uradne spletne strani Najnovejša različica Arduino IDE, vklopljen ta trenutek to je 1.6.7. Starejše različice, kot je 1.0.5. ne bodo ustrezale, ker preprosto nimajo potrebne funkcionalnosti, ples s tamburino pa nas ne zanima, kajne?

Zaženemo razvojno okolje in takoj gremo v File/Settings:

Http://arduino.esp8266.com/stable/package_esp8266com_index.json

Nato pojdite na Orodja/Ploča:/Upravitelj plošče...:

Pred nami se bo pojavilo okno upravitelja plošč, pomaknite se po njem do samega dna in če je vse opravljeno pravilno, bomo videli nekaj takega:

Kliknite kazalec na napis " esp8266 avtor Skupnost ESP8266"po tem imamo gumb "Namesti", izberemo želeno različico, vzamem najnovejšo, danes je 2.1.0 in jo namestim. Razvojno okolje bo preneslo datoteke, ki jih potrebuje (približno 150 megabajtov) in nasprotno napis " esp8266 avtor Skupnost ESP8266 Prikaže se "NAMEŠČENO", to je nameščeno:

Pomaknemo se navzdol po seznamu plošč in vidimo, da imamo na seznamu veliko različnih ESP-jev, vzemite »Generic ESP8266 Module«:

Pojdite na “Orodja” in izberite želena vrata COM (zame je to COM32) Arduino ali USB UART pretvornik, nato pa nastavite hitrost nalaganja: “115200”:

Hitrost nastavimo na 74880 in »NL & CR« in znova izklopimo ter vključimo napajanje in odgovoril bo z nekaj informacijami o odpravljanju napak:

Upoštevajte, da 74880 ni glavna hitrost ESP8266, le pošilja informacije o odpravljanju napak. Če modul ne pošlje ničesar na konzolo, potem je morda nekaj nepravilno povezano.

Privzeto bi morala biti hitrost 115200, v nekaterih primerih pa je lahko 9600 in drugih ... Zato jo poskusite najti.

Ko izberemo želeno hitrost, pošljemo modul "AT" in ta naj odgovori, da je vse v redu. Ukaz "AT+GMR" prikaže informacije o vdelani programski opremi.

Preden začnete utripati ESP8266 Arduino IDE Svetujem vam, da članek preberete do konca.

Zdaj pa poskusimo zagnati ESP8266 prek Arduino IDE. Modul smo postavili v programski način (kako to storiti sem napisal v prejšnjem članku).

Utripalki dodamo standardno LED:

// Avtor g. PodelkinTs youtube.com/RazniePodelki // posebno za geektimes.ru/post/271754/ #define TXD 1 // GPIO1/TXD01 void setup() ( pinMode(TXD, OUTPUT); ) void loop() ( digitalWrite(TXD, HIGH); delay(1000); digitalWrite(TXD, LOW); delay(1000); )

Utripala? Torej je bilo vse narejeno pravilno. Kje sem našel, da je LED priklopljena na prvi pin? V prejšnjem članku je slika z zatiči različnih modulov in tam je oznaka vrat pri uporabi zagonskega nalagalnika Arduino (zatiči so označeni z roza barvo).

Utripanje LED je seveda dobro, vendar moramo namestiti nekakšen spletni strežnik ali začeti nadzorovati LED vsaj z gumbi v brskalniku, kajne? Ampak o tem vam bom povedal kdaj drugič.

In zdaj kako obnoviti originalno programsko opremo, in kako celo utripati modul z zagonskimi nalagalniki drugih proizvajalcev. Za ESP8266 obstaja program, kot je NodeMCU Flasher, ki je prvotno namenjen utripanju zagonskega nalagalnika NodeMCU. A kot se je izkazalo, popolnoma utripa drugo strojno programsko opremo.

Za udobje bom članku priložil arhiv s tem programom in vdelano programsko opremo, vendar ga lahko vedno prenesete nova različica NodeMCU Flasher.

V mapi “nodemcu-flasher-master” sta 2 mapi Win64 in Win32 in glede na bitno globino vašega OS izberite tisto, ki jo potrebujete. Nato v mapi Release zaženite »ESP8266Flasher.exe« in si oglejte programski vmesnik:

Izberite želena vrata COM in pojdite na zavihek »Config«, odstranite križec poleg »INTERNAL://NODEMCU« in ga postavite za eno točko nižje, kot je prikazano na sliki:

(Če želite zagnati zagonski nalagalnik NodeMCU, odstranite križec, kjer ga ni bilo, in ga postavite, kjer je bil, to je blizu »INTERNAL://NODEMCU«).

Nato kliknemo na zobnik in izberemo, kje se nahaja naš firmware, firmware je običajno v formatu *.bin (v priloženem arhivu je to “v0.9.5.2 AT Firmware.bin”, ki je v glavni mapi) in izberite tudi »0x00000« kot in višje.

Ponovno se vrnemo na zavihek »Delovanje«, prestavimo modul v način programiranja in kliknemo »Flash«:

To je to, modul se je začel utripati, po utripanju ne pozabite znova zagnati modula in voila, utripal je z vdelano programsko opremo, ki jo potrebujemo.

Z ukazom AT “AT+GMR” preverimo, ali smo vse naredili pravilno:

Kot vidite, je vse potekalo gladko.

Pridobiva vse večjo priljubljenost in Arduino že prevzema pobudo - te module Wi-Fi dodaja na seznam podprtih plošč.
Toda kako ga povezati z Arduinom? Ali je sploh mogoče nekako brez Arduina? Prav o tem bo govora današnji članek.

Če pogledam naprej, bom rekel, da bo drugi članek, bolj praktičen, na temo vdelane programske opreme in programiranja modula ESP8266 v razvojnem okolju Arduino IDE. Ampak najprej.

Ta videoposnetek popolnoma podvaja gradivo, predstavljeno v članku.



Trenutno obstaja veliko vrst tega modula, tukaj je nekaj izmed njih:

In tukaj je pinout ESP01, ESP03, ESP12:


*To sliko si lahko ogledate v dobra kakovost Prižgi ugasni. spletno mesto pighixxx.com.

Osebno mi je najbolj všeč različica ESP07. Vsaj zaradi dejstva, da obstaja kovinski zaslon (ščiti mikrovezja pred zunanjimi motnjami in s tem zagotavlja stabilnejše delovanje), lastno keramično anteno in priključek za zunanjo anteno. Izkazalo se je s povezavo z njim zunanjo anteno, na primer kot bikvadrat, potem lahko dosežete dober razpon. Poleg tega obstaja kar nekaj vhodno/izhodnih vrat, tako imenovanih GPIO (General Purpose Input Output – vhodno/izhodna vrata). glavni namen), po analogiji z Arduino - zatiči.

Vrnimo se k našim ovčjim modulom Wi-Fi in Arduinu. V tem članku si bom ogledal povezovanje ESP8266 (model ESP01) z Arduino Nano V3.

ampak, te informacije bodo pomembni za večino modulov ESP8266 in tudi različne plošče Arduino, na primer najbolj priljubljene Arduino UNO.

Nekaj ​​besed o nogah ESP01:

Vcc in GND(na zgornji sliki sta to 8 in 1) - hrana, na nogo Vcc mogoče oddati, po dokumentaciji sodeč, od 3 do 3,6 V, A GND- ozemljitev (minus moč). Videl sem, da je ena oseba povezala ta modul z dvema AA baterijama (napajalna napetost je bila v tem primeru približno 2,7 V) in modul je deloval. Kljub temu so razvijalci navedli napetostno območje, v katerem naj bi modul zajamčeno deloval; če uporabljate drugega, je to vaša težava.

Pozor! Ta modul temelji na 3,3 V logiki, medtem ko je Arduino večinoma 5 V logika. 5 V lahko zlahka poškoduje ESP8266, zato ga je treba napajati ločeno od Arduina.

- Moj Arduino ima nogo, kjer piše 3,3 V, zakaj je ne bi uporabil?

Verjetno si boste mislili. Dejstvo je, da je ESP8266 precej požrešen modul in v konicah lahko porabi tok do 200 mA, in skoraj noben Arduino ni sposoben privzeto zagotoviti takšnega toka, z izjemo Arduino Due, v katerem tok vzdolž linije 3,3 V lahko doseže 800 mA, kar je dovolj, v drugih primerih vam svetujem, da uporabite dodaten stabilizator 3,3 V, na primer AMS1117 3,3 V. Veliko jih je tako na Kitajskem kot pri nas.

noga RST 6 - je namenjen strojni opremi za ponovni zagon modula, s kratkotrajno uporabo nizke logične ravni se bo modul znova zagnal. Čeprav sem to v videu zanemarila, vam vseeno svetujem "pritisnite" to nogo z uporom 10 kOhm na plus napajanja, da bi dosegel boljšo stabilnost delovanja modula, sicer bi ob najmanjšem posegu ponovno zagnal.

noga CP_PD 4 (ali na drug način EN) - spet služi za "trdno ožičenje" modula v način varčevanja z energijo, v katerem porabi zelo malo toka. No spet - Ne bi škodilo, če bi to nogo "pritisnili" z uporom 10 kOhm na plus Pitalova V videu sem neumno kratko sklenil to nogo na Vcc, ker takega upora nisem imel pri roki.

Noge RXD0 7 TXD0 2 - strojni UART, ki se uporablja za utripanje, vendar nihče ne prepoveduje uporabe teh vrat kot GPIO (GPIO3 oziroma GPIO1). Iz neznanega razloga GPIO3 ni označen na sliki, je pa v podatkovnem listu:

Mimogrede, do noge TXD0 2 LED »Connect« je priključen in zasveti, ko je logična raven na GPIO1 nizka ali ko modul pošlje nekaj prek UART.

GPIO0 5 - ne more biti samo V/I vrata, ampak tudi preklopi modul v programski način. To storite tako, da ta vrata povežete z nizko logično ravnjo (»pritiskate« na GND) in napajate modul. V videu to počnem z običajnim gumbom. Po utripanju ne pozabite izvleči mostička/pritisniti na gumb (gumba med utripanjem ni treba držati; ko je vklopljen, gre modul v način programiranja in ostane v njem do ponovnega zagona).

GPIO2 3 - vhodno/izhodna vrata.

In še ena pomembna točka, vsak GPIO modula Wi-Fi lahko varno oddaja tok do 6mA, da ga ne zažgete, obvezno postavite upore zaporedno z vhodnimi/izhodnimi vrati ... Zapomnite si Ohmov zakon R = U/I = 3,3 V / 0,006 A = 550 Ohm, to je, pri 560 Ohmih. Ali pa ga zanemarite in se potem sprašujete, zakaj ne deluje.

V ESP01 vsi GPIO-ji podpirajo PWM, tako da lahko na naše štiri GPIO-je, to je GPIO0-3, povežete gonilnik motorja, ala L293 / L298, in krmilite dva motorja, na primer čolne, ali naredite RGB Wi-Fi karkoli . Da, da, ta modul ima veliko stvari na krovu in za preproste projekte Arduino violinist ni potreben, samo za utripanje. In če uporabljate ESP07, potem so vrata na splošno skoraj enaka kot pri Uno, zaradi česar lahko samozavestno delate brez Arduina. Res je, obstaja en neprijeten trenutek, ESP01 sploh nima analognih vrat, ESP07 pa ima samo enega, imenovanega ADC. To seveda otežuje delo z analognimi senzorji. V tem primeru vam bo pomagal analogni multiplekser Arduino.

Zdi se, da je vse razloženo s pinoutom in tukaj je diagram za povezavo ESP8266 z Arduino Nano:

Ali vidite mostiček na zatičih RST in GND na Arduino Nano? To je potrebno, da Arduino ne moti vdelane programske opreme modula; v primeru povezovanja ESP8266 z uporabo Arduina je to predpogoj.

Poleg tega, če se povežete z Arduinom, mora RX modula iti na RX arduina, TX - TX. To je zato, ker je pretvorniški čip že povezan z zatiči Arduino v križnem vzorcu.

Pomemben je tudi uporovni delilnik, sestavljen iz uporov 1 kOhm in 2 kOhm (lahko ga naredite iz dveh uporov 1 kOhm tako, da ju povežete zaporedno) vzdolž linije RX modula. Ker je Arduino 5 V logika, modul pa 3,3. Izkazalo se je, da gre za primitiven pretvornik ravni. Mora biti tam, ker noge modula RXD TXD niso tolerantne na 5 V.

No, lahko storite brez Arduina tako, da povežete ESP8266 prek običajnega pretvornika USB-UART. V primeru priklopa na Arduino v bistvu uporabljamo standardni pretvornik usb vmesniki in uart, mimo možganov. Zakaj bi torej porabili dodaten denar, če sploh lahko brez Arduina? Le v tem primeru priključimo RXD modula na TXD pretvornika, TXD - RXD.

Če ste preleni, da bi se ukvarjali s povezavami, igranjem z upori in stabilizatorji, obstajajo že pripravljene rešitve NodeMcu:

Tukaj je vse veliko preprostejše: priključite kabel v računalnik, namestite gonilnike in program, samo ne pozabite uporabiti mostička/gumba na GPIO0, da preklopite modul v način vdelane programske opreme.

No, to je verjetno vse s teorijo, članek se je izkazal za precej dolg, praktični del, ala firmware in programiranje modula, bom objavil malo kasneje.

Mnogi uporabniki so že usmerili pozornost na čip ESP8266-12, ki ga je izdal Espressif. Njegova cena je bistveno nižja v primerjavi s standardno adaptersko ploščo Bluetooth, kljub manjšim dimenzijam pa ima bistveno večje zmogljivosti. Zdaj imajo vsi ljubitelji doma možnost dela omrežja Wi-Fi v dveh načinih hkrati, to pomeni, da povežete računalnik s poljubnimi dostopnimi točkami ali ga vklopite kot takšno točko.

Po drugi strani pa morate pravilno razumeti, da takšne plošče niso le ščiti, namenjeni samo komunikaciji Wi-Fi. Sam ESP8266 je mikrokrmilnik, ki ima lastne vmesnike UART, GPIO in SPI, torej se lahko uporablja kot popolnoma avtonomna oprema. Po izidu tega čipa so ga mnogi označili za pravo revolucijo, sčasoma pa bodo takšne naprave začeli vgrajevati tudi v najbolj enostavne vrste tehnologija, vendar je naprava zaenkrat relativno nova in zanjo ni stabilne vdelane programske opreme. Številni strokovnjaki po vsem svetu poskušajo izumiti lastno strojno programsko opremo, saj njihovo nalaganje na ploščo pravzaprav ni težko, a kljub različnim težavam lahko napravo že imenujemo povsem primerna za delo.

Trenutno se obravnavata samo dve možnosti prijave tega modula:

  • Uporaba plošče v kombinaciji z dodatnim mikrokontrolerjem ali računalnikom, ki bo krmilil modul preko UART.
  • Samostojno pisanje vdelane programske opreme za čip, ki vam omogoča kasnejšo uporabo kot samozadostno napravo.

Povsem naravno je, da bi morali razmisliti neodvisna firmware v tem primeru ne bomo.

Če pogledamo enostavnost uporabe in dobre lastnosti, veliko ljudi med številnimi mikrokontrolerji daje prednost modelu ESP8266. Povezava in posodobitev vdelane programske opreme te naprave je izjemno enostaven in cenovno ugoden, izdelan pa je na isti strojni opremi, na kateri je oprema povezana z računalnikom. Se pravi tudi prek pretvornika USB-TTL ali, če komu bolj ustrezajo druge možnosti povezave, lahko prek RPi in Arduino.

Kako preveriti?

Če želite preveriti delovanje novo kupljene naprave, boste morali uporabiti poseben stabiliziran vir napetosti 3,3 volta. Takoj je treba omeniti, da je dejanski razpon napajalne napetosti tega modula od 3 do 3,6 voltov, dovajanje povečane napetosti pa bo takoj pripeljalo do dejstva, da boste preprosto poškodovali svoj ESP8266. Po takšni situaciji lahko vdelana in druga programska oprema začneta delovati nepravilno in napravo boste morali popraviti ali nekako popraviti.

Za določitev funkcionalnosti tega modela mikrokontrolerja morate samo povezati tri nožice:

  • CH_PD in VCC sta priključena na 3,3-voltno napajanje.
  • GND se poveže z zemljo.

Če ne uporabljate ESP-01, ampak kakšen drug modul in ima že na začetku izhod GPIO15, potem ga boste morali v tem primeru dodatno priključiti na maso.

Če se je tovarniška vdelana programska oprema normalno zagnala, potem lahko v tem primeru vidite in nato modra lučka nekajkrat utripne. Vendar je treba omeniti, da vse naprave serije ESP8266 nimajo rdečega indikatorja napajanja. Vdelana programska oprema na nekaterih napravah ne predvideva, da bi rdeči indikator zasvetil, če ga modul nima (zlasti to velja za model ESP-12).

Po povezavi z vašim brezžično omrežje aktivirana bo nova dostopna točka, ki se bo imenovala ESP_XXXX in jo bo mogoče odkriti s katere koli naprave, ki ima dostop do Wi-Fi. V tem primeru je ime dostopne točke neposredno odvisno od proizvajalca vdelane programske opreme, ki jo uporabljate, in je zato lahko nekaj drugega.

Če se točka pojavi, lahko nadaljujete z eksperimentiranjem, sicer boste morali ponovno preveriti napajanje, pa tudi pravilnost povezav GND in CH_PD, in če je vse pravilno priključeno, potem najverjetneje še vedno poskušate uporabite pokvarjen modul ali na Preprosto ima nameščeno vdelano programsko opremo z nestandardnimi nastavitvami.

Kako ga hitro povezati?

Standardni komplet, potreben za priključitev tega modula, vključuje naslednje:

  • sam modul;
  • plošča brez spajkanja;
  • celoten komplet ženskih in moških žic, namenjenih za mizo, ali poseben kabel DUPONT M-F;
  • Pretvornik USB-TTL na osnovi PL2303, FTDI ali kakšnega podobnega čipa. Najboljša možnost je, če sta RTS in DTR tudi izhodna na USB-TTL adapter, saj lahko zaradi tega dosežete dokaj hitro nalaganje firmware-a iz kakšnega UDK, Arduino IDE ali Sminga, ne da bi morali ročno preklopiti GPIO0 na maso.

Če uporabljate 5-voltni pretvornik, potem boste morali v tem primeru dokupiti dodaten stabilizator moči na osnovi čipa 1117 ali kakšnega podobnega ter vir napajanja (za standardni 1117 tudi navaden 5-voltni pretvornik). voltni polnilec za pametni telefon je povsem primeren). Priporočljivo je, da ne uporabljate Arduino IDE ali USB-TTL kot vir napajanja za ESP8266, ampak uporabite ločenega, saj se lahko s tem na koncu znebite številnih težav.

Razširjen komplet za zagotavljanje udobnega in stalnega delovanja modula zahteva uporabo dodatnih uporov, LED in DIP stikal. Poleg tega lahko uporabite tudi poceni USB monitor, ki vam bo omogočil stalno spremljanje količine porabljenega toka in bo tudi malo zaščitil vodilo USB pred

Kaj moramo storiti?

Najprej je treba opozoriti na dejstvo, da se lahko v ESP8266 krmilniki nekoliko razlikujejo glede na to, kateri model uporabljate. Danes je na voljo precej takšnih modulov in prva stvar, ki jo boste morali, je, da identificirate model, ki ga uporabljate, in se odločite za njegov pinout. V tem navodilu bomo govorili o delu z modulom ESP8266 ESP-01 V090 in če uporabljate drug model s pinom GPIO15 (HSPICS, MTDO), ga boste morali potegniti na tla tako za standardni zagon modul in za uporabo načina vdelane programske opreme.

Po tem še enkrat preverite, ali je napajalna napetost za priključeni modul 3,3 volta. Kot je navedeno zgoraj, je dovoljeno območje od 3 do 3,6 voltov in če se poveča, naprava odpove, vendar je napajalna napetost lahko celo bistveno nižja od 3 voltov, navedenih v dokumentih.

Če uporabljate 3,3-voltni pretvornik USB-TTL, priključite modul točno tako, kot je prikazano na levi strani spodnje slike. Če uporabljate izključno petvoltni USB-TTL, bodite pozorni na desno stran slike. Mnogi morda mislijo, da je pravo vezje bolj učinkovito zaradi dejstva, da uporablja ločen vir energije, toda v resnici je USB-TTL aplikacije Za 5-voltni pretvornik je zelo priporočljivo narediti tudi dodaten uporovni delilnik, da zagotovite ujemanje tri- in pet-voltnih logičnih nivojev, ali preprosto uporabite modul za pretvorbo nivojev.

Funkcije povezave

Na desni sliki je prikazana povezava UTXD (TX), kot tudi URXD (RX) tega modula na petvoltno TTL logiko, takšne postopke pa izvajate samo na lastno odgovornost in tveganje. Za ESP8266 v opisu piše, da modul učinkovito deluje samo s 3,3-voltno logiko. V veliki večini primerov tudi pri delu s petvoltno logiko oprema ne odpove, vendar se občasno pojavijo takšne situacije, zato takšna povezava ni priporočljiva.

Če nimate možnosti uporabe specializiranega 3,3-voltnega pretvornika USB-TTL, lahko uporabite uporovni delilnik. Omeniti velja tudi, da je na desni sliki stabilizator moči 1117 priključen brez dodatnega ožičenja in je to resnično delujoča tehnologija, vendar je še vedno najbolje uporabiti shemo povezave 1117 s kondenzatorskim ožičenjem - to morate preveriti z podatkovni list ESP8266 za vaš stabilizator ali uporabite popolnoma pripravljen en modul na osnovi 1117.

Za zagon modula morate odpreti vezje GPIO0-TND, po katerem lahko uporabite napajanje. Omeniti velja, da je treba vse narediti točno v tem vrstnem redu, to je, da se najprej prepričate, da GPIO0 "visi v zraku", in šele nato priključite napajanje na CH_PD in VCC.

Kako se pravilno povezati?

Če imate več kot en večer, da pravilno povežete modul ESP8266, lahko uporabite bolj stabilno možnost. V zgornjem diagramu vidite možnost povezave z samodejni prenos vdelana programska oprema.

Omeniti velja, da zgornja slika ne prikazuje uporabe brezplačnih GPIO ali ADC, njihova povezava pa bo neposredno odvisna od tega, kaj točno želite implementirati, vendar če želite zagotoviti stabilnost, ne pozabite potegniti vseh GPIO na napajanje in ADC. na ozemljitev z uporabo vlečnih uporov.

Po potrebi lahko upore 10 k zamenjamo s katerim koli drugim v razponu od 4,7 k do 50 k, razen GPIO15, saj njegova vrednost ne sme biti večja od 10 k. Vrednost kondenzatorja, ki zgladi visokofrekvenčne pulzacije, je lahko nekoliko drugačna.

Pri uporabi ustreznega načina bo morda potrebna povezava RESET in GPIO16 z uporabo upora globokega mirovanja 470 Ohmov, saj za izhod iz načina globokega mirovanja modul izvede popoln ponovni zagon z uporabo nizke ravni za GPIO16. Z odsotnostjo te povezave Način globokega spanja za vaš modul bo trajal večno.

Na prvi pogled se morda zdi, da so GPIO0, GPIO1 (TX), GPIO2, GPIO3 (RX) in GPIO15 zasedeni, zato jih ne boste mogli uporabljati za svoje namene, a v resnici še zdaleč ni tako. Zadostno visoka raven na GPIO0 in GPIO2 ter nizka raven na GPIO15 bosta morda potrebna samo za začetni zagon modula, v prihodnosti pa ju lahko uporabite po lastni presoji. Edina stvar, ki jo je vredno omeniti, je, da ne pozabite zagotoviti zahtevanih ravni, preden izvedete popolno ponastavitev vaše opreme.

TX, RX lahko uporabite tudi kot alternativo GPIO1 in GPIO3, vendar ne pozabite, da po zagonu modula vsaka vdelana programska oprema začne "vleči" TX, hkrati pa pošilja informacije o odpravljanju napak v UART0 s hitrostjo 74480, vendar po prenos uspešen, jih je mogoče uporabiti ne samo kot UART0 za izmenjavo podatkov z drugo napravo, temveč tudi kot standardne GPIO.

Za module, ki imajo majhno število ožičenih zatičev (na primer ESP-01), ni treba priključiti nepovezanih zatičev, kar pomeni, da so na ESP-01 ožičeni samo GND, CH_PD, VCC, GPIO0, GPIO2 in RESET. , in to je tisto, kar potrebujete, bo treba zategniti. Ni vam treba spajkati neposredno na čip ESP8266EX in nato vleči golih zatičev, razen če tega res potrebujete.

Takšni diagrami ožičenja so bili uporabljeni po velikem številu poskusov, ki so jih izvedli usposobljeni strokovnjaki in so bili zbrani iz številnih različnih informacij. Omeniti velja, da tudi takšnih shem ni mogoče šteti za idealne, saj je mogoče uporabiti številne druge, nič manj učinkovite možnosti.

Povezava preko Arduino

Če iz nekega razloga nimate 3,3-voltnega pretvornika USB-TTL, lahko modul ESP8266 WiFi povežete prek Arduina z vgrajenim pretvornikom. Tukaj boste morali najprej usmeriti pozornost na tri glavne elemente:

  • Pri uporabi z ESP8266 je Arduino Reset prvotno povezan z GND, da prepreči zagon mikrokrmilnika, in v tej obliki je bil uporabljen kot pregleden pretvornik USB-TTL.
  • RX in TX nista bila povezana "na križišču", ampak neposredno - RX-RX (zelena), TX-TX (rumena).
  • Vse ostalo je povezano točno tako, kot je opisano zgoraj.

Kaj upoštevati

To vezje zahteva tudi ujemanje ravni TTL 5 voltov na Arduinu in 3,3 voltov na ESP8266, vendar lahko deluje precej dobro v vsakem primeru.

Ko je Arduino povezan z ESP8266, je morda opremljen z regulatorjem moči, ki ne more obvladati toka, ki ga zahteva ESP8266, zato boste morali preveriti podatkovni list tistega, ki ga uporabljate, preden ga aktivirate. Z ESP8266 ne poskušajte povezati drugih komponent, ki porabljajo energijo, saj lahko to povzroči, da regulator moči, vgrajen v Arduino, preprosto odpove.

Obstaja tudi druga povezovalna shema ESP8266 in Arduino, ki uporablja SoftSerial. Ker je za knjižnico SoftSerial hitrost vrat 115200 previsoka in ne more zagotoviti stabilnega delovanja, ta način povezave ni priporočljiv, čeprav v nekaterih primerih vse deluje precej stabilno.

Povezava preko RaspberryPi

Če sploh nimate pretvornikov USB-TTL, potem lahko uporabite RaspberryPi. V tem primeru se za ESP8266 programiranje in povezava izvajata skoraj enako, vendar vse tukaj ni tako priročno, poleg tega pa boste morali uporabiti tudi 3,3-voltni stabilizator moči.

Za začetek priključimo RX, TX in GND naše naprave na ESP8266 in vzamemo GND in VCC od tistega, ki je zasnovan za 3,3 volta. Tukaj je treba posebno pozornost nameniti dejstvu, da morate povezati vse naprave GND, to je stabilizator RaspberryPi in ESP8266. Če stabilizator, vgrajen v vaš model naprave, prenese do 300 miliamperov dodatne obremenitve, je v tem primeru povezava ESP8266 povsem običajna, vendar je vse to storjeno samo na lastno odgovornost in tveganje.

Nastavitev parametrov

Ko ugotovite, kako povezati ESP8266, se morate prepričati, da so gonilniki za vaše naprave pravilno nameščeni, zaradi česar so v sistem dodana nova navidezna serijska vrata. Tukaj boste morali uporabiti program - terminal serijskih vrat. Načeloma lahko izberete kateri koli pripomoček po svojem okusu, vendar morate pravilno razumeti, da mora imeti vsak ukaz, ki ga pošljete v serijska vrata, na koncu znake CR+LF.

Precej razširjena sta pripomočka CoolTerm in ESPlorer, slednji pa omogoča, da v ESP8266 ne vstopate sami, hkrati pa olajša delo s skripti lua pod NodeMCU, zato ga lahko uporabljate kot standardni terminal.

Za normalno povezavo s se boste morali kar precej potruditi, saj je vdelana programska oprema za ESP8266 večinoma raznolika in aktivacijo lahko izvedete na različne hitrosti. Če se želite odločiti za najboljšo možnost, boste morali iti skozi tri glavne možnosti: 9600, 57600 in 115200.

Kako razvrstiti?

Za začetek se povežite z navideznimi serijskimi vrati v terminalskem programu, nastavite parametre na 9600 8N1, nato izvedite popoln ponovni zagon modula, odklopite CH_PD (omogočanje čipa) iz napajanja in ga nato ponovno aktivirajte s trzanjem CH_PD. Izvedete lahko tudi kratek RESET na maso, da ponastavite modul in opazujete podatke v terminalu.

Najprej bi morale LED diode naprave izgledati točno tako, kot je prikazano v preskusnem postopku. Upoštevati morate tudi komplet v terminalu različni liki, ki se konča s pripravljeno linijo, če pa je ni, se izvede ponovna povezava s terminalom z drugo hitrostjo, čemur sledi ponovni zagon modula.

Ko vidite eno od možnosti hitrosti ta vrstica, se lahko šteje, da je modul pripravljen za delovanje.

Kako posodobiti vdelano programsko opremo?

Ko namestite ESP8266, bo povezava naprave trajala le nekaj sekund, nato pa lahko začnete posodabljati vdelano programsko opremo. Za namestitev novega programsko opremo storiti morate naslednje.

Za začetek prenesite novo različico vdelane programske opreme z uradnega spletnega mesta in jo tudi prenesite posebna korist za firmware. Tukaj je treba posebno pozornost nameniti čemu operacijski sistem nameščen na stroju, s katerim deluje ESP8266. Najbolje je, da napravo povežete s sistemi, starejšimi od Windows 7.

Za standardne operacijske sisteme Windows bi bilo optimalno uporabiti program XTCOM UTIL, ki je še posebej priročen za uporabo, če je vdelana programska oprema sestavljena iz samo ene datoteke. Najboljša možnost za več platform je pripomoček esptool, ki pa zahteva python, pa tudi potrebo po podajanju parametrov prek ukazna vrstica. Poleg tega vam ESP8266 omogoča priročno povezovanje glavnih funkcij z orodjem za prenos Flash, ki ima precej veliko nastavitev, pa tudi priročno tehnologijo za namestitev vdelane programske opreme iz več datotek.

Nato odklopite vaš terminalski program iz serijskih vrat in popolnoma odklopite CH_PD od napajanja, povežite GPIO0 modula z GND in po tem lahko CH_PD vrnete nazaj. Končno samo zaženite program modularne vdelane programske opreme in ga naložite v rele ESP8266.

V veliki večini primerov se vdelana programska oprema naloži v modul s hitrostjo okoli 115200, vendar poseben način zagotavlja samodejno porazdelitev hitrosti, zaradi česar se lahko vdelana programska oprema izvede s hitrostjo več kot 9600, posodabljanje razpoložljive funkcije ESP8266. Za povezavo je bil uporabljen Arduino ali USB-TTL - tukaj ne igra posebne vloge, tukaj pa je največja hitrost že odvisna od dolžine žic, uporabljenega pretvornika in številnih drugih dejavnikov.

Kitajsko podjetje Espressif je leta 2014 začelo prodajati module Wi-Fi na osnovi čipov ESP8266. ki je zaradi nizke cene in velikih zmogljivosti takoj pridobil veliko popularnost med radioamaterji. Danes obstaja veliko število različnih modulov, ki temeljijo na čipu ESP8266, v tem članku bom govoril o ESP-01.

Tehnične specifikacije

Napajalna napetost: 3V ~ 3,6V
Največji delovni tok: 220mA
Delovna frekvenca: 2,4 GHz
Načini: P2P (odjemalec), soft-AP (dostopna točka)
Število GPIO: 2.
Flash pomnilnik: 1024 kb.
izhodna moč v načinu 802.11b: +19,5 dBm
Podpora brezžični standard: 802.11 b/g/n
Dimenzije: 24,8 mm x 14,3 mm x 8 mm

Splošne informacije o ESP-01

V bistvu je čip ESP8266 miniaturni mikrokrmilnik z oddajnikom Wi-Fi, ki lahko deluje popolnoma avtonomno, brez doplačilo Arduino. Z modulom ESP-01 lahko prenašate podatke o temperaturi, vlažnosti, vklopite rele itd. Za lažjo uporabo čipa ESP8266 je proizvajalec izdelal serijo modulov od ESP-01 do ESP-14. Prvi v tej seriji je modul ESP-01 (obstaja tudi ESP-01S, o tem malo kasneje), ki je eden izmed znanih zaradi svoje cene in majhnosti, le 14,3 mm x 24,8 mm. Vendar ima dve pomanjkljivosti: omejena količina programirani zatiči GPIO in njihova neprimerna lokacija (neprimerna za postavitev).


Modul ESP-01 je majhna plošča, črne barve, na kateri sta dva glavna čipa, mikrokontroler ESP8266 in 1 MB flash pomnilnik. V bližini je kvarcitni resonator in tiskana antena. Plošča ima dve LED diodi, rdečo in modro. Rdeča LED sveti, ko je modul pod napajanjem, modra pa utripa, ko se izvajajo ukazi (rdeča LED je odstranjena iz NSP-01S zaradi stalne porabe energije). Za povezavo modula ESP-01 je na voljo osem pinov (dve vrsti po štiri pine, korak 2,54 mm), dva že pripravljena sta digitalni vhod-izhod, ki podpirata modulacijo širine impulza. Čeprav ima modul privzeto dva zatiča GPIO, lahko uporabite druge razpoložljive zatiče, če imate potrebno orodje za spajkanje.


Dodelitev žebljička
GND: Napajanje modula "-".
GPIO2:(Digitalni I/O programabilen)
GPIO0:(Digitalni I/O programljiv, uporablja se tudi za načine zagona)
RX: sprejem UART
TX: UART prenos
CH_PD:(vklop/izklop, mora biti izhod na 3,3 V neposredno ali prek upora)
RST: ponastaviti, ga morate potegniti na 3,3 V
VCC: Napajanje modula “3,3 V”.

Povezava modula
Za delovanje modula ESP-01 je potreben vir energije enosmerni tok, ki mora proizvajati 3,3 V in tok najmanj 250 mA. Standardni stabilizator, ki je nameščen na Arduinu, žal ni sposoben zagotoviti potrebnega toka za delovanje ESP-01 (če se vseeno odločite za povezavo ESP-01, pričakujte nestabilno delovanje in nenehen ponovni zagon). Poleg tega je logični signal tega modula zasnovan za 3,3 V, to pomeni, da je treba napetost 3,3 V uporabiti na zatiču RX, napetost 3,3 V pa bo napajana iz zatiča TX (enako za druge zatiče ). Če morate modul priključiti na Arduino ali druge krmilnike, ki oddajajo 5 V na logični zatič, morate uporabiti upore ali modul logičnega nivoja; če se povežete neposredno, modul ne bo uspel.

Pozor! ESP-01 so zelo muhasti, ko gre za napajanje, morate uporabiti zunanji regulator napetosti 3,3 V, kot prvi primer bom uporabil USB adapter

Iz zgornje tabele je razvidno, da lahko modul ESP-01 deluje v več načinih mirovanja, z minimalno porabo toka, kliče jih programska oprema, razen zadnjega »Power Off«, da omogoči ta način, morate namestiti mostiček med GPIO16 in RST, primer bom dal pozneje.

Namestitev ESP8266 v Arduino IDE

Prenesite program Arduino IDE s spletne strani arduino.cc
Nato morate namestiti ploščo ESP v Arduino IDE.To naredite tako, da zaženete program Arduino IDE in odprete: Datoteka -> Nastavitve.
V novem odprto okno, v polju " Dodatne povezave za PCB Manager:» dodaj povezavo:

Http://arduino.esp8266.com/stable/package_esp8266com_index.json

V odprtem oknu poiščite " esp8266 avtor ESP8266 Communit y" in pritisnite " Namestite". Namestitev bo trajala nekaj minut, nato pa se prikaže sporočilo » Nameščeno", kliknite" Zapri«

Kliknite " Orodja -> Plošče -> Modul Generis ESP8266«.

Zdaj morate modul ESP-01 povezati z računalnikom prek posebnega adapterja USB na čipu CH340G


Prilagajanje frekvence procesorja " Frekvenca procesorja: "80 MHz"", hitrost" Hitrost nalaganja: "115200"" in izberite " Pristanišče«.

Nato naložimo skico, zaradi katere bo ESP8266 utripala LED.

/* Testirano na Arduino IDE 1.8.5 Datum testiranja 15.6.2018 */ #define TXD 1 // GPIO1 / TXD01 void setup() ( pinMode(TXD, OUTPUT); ) void loop() ( digitalWrite(TXD, HIGH); delay(1000); digitalWrite(TXD, LOW); delay( 1000);)