Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

Moduli Wifi i bazuar në çipin ESP8266. Përditësimi i firmuerit të modulit Wi-Fi ESP8266

... Në përgjithësi, ky material nuk kufizohet vetëm në një temë Arduino.

Tema e ESP8266 është mjaft e ndërlikuar. Por, nëse punoni me këto module Wi-Fi në mjedisin e zhvillimit Arduino IDE, pragu i hyrjes bie në një nivel të pranueshëm për një arduinist të zakonshëm. Dhe jo vetëm një arduinist, por çdo person që ka dëshirë të ngrejë diçka në temë, dhe pa shpenzuar shumë kohë duke lexuar dokumentacionin për mikroqarkullin dhe duke studiuar API-në për këto module.

Kjo video kopjon plotësisht materialin e paraqitur në artikullin më poshtë.

Epo, ne tashmë e dimë se si ta lidhim ESP8266 dhe ta vendosim atë në modalitetin e programimit, tani le të kalojmë në diçka më të dobishme.

Unë do të them menjëherë - pasi kemi programuar modulin një herë në mjedisin e zhvillimit arduino, ne shkatërrojmë firmware-in vendas dhe nuk do të jemi më në gjendje të punojmë me modulin duke përdorur komandat AT. Personalisht, kjo nuk më bën të ftohtë / nxehtë, por nëse dikush ka nevojë për të, në fund të artikullit do të tregoj se si të ndizni përsëri firmware-in vendas në modul, ose një lloj ngarkuesi si NodeMcu.

Për të filluar, shkarkoni versionin më të fundit të Arduino IDE në offsite, për momentin është 1.6.7. Versionet më të vjetra si 1.0.5. ata nuk do të përshtaten, sepse thjesht nuk kanë funksionalitetin e nevojshëm, dhe kërcimi me një dajre nuk na intereson, apo jo?

Ne fillojmë mjedisin e zhvillimit dhe menjëherë shkojmë te File / Settings:

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

Pastaj shkoni Tools / Board: / Board Manager ...:

Dritarja e menaxherit të bordit do të shfaqet para nesh, lëvizni poshtë deri në fund dhe nëse gjithçka është bërë si duhet, do të shohim diçka të tillë:

Klikoni me kursorin mbi mbishkrimin " esp8266 nga Komuniteti ESP8266"pas kesaj kemi butonin "Instalo", zgjedh versionin e deshiruar, marr versionin e fundit, sot eshte 2.1.0 dhe e instaloj. Ambienti i zhvillimit do shkarkoje skedaret qe i duhen (rreth 150 megabajt) dhe perballe. mbishkrimi " esp8266 nga Komuniteti ESP8266""INSTALLED" do të shfaqet, d.m.th. i instaluar:

Ne lëvizim poshtë listës së tabelave dhe shohim që kemi shumë ESP të ndryshme në listë, marrim "Modulin Generic ESP8266":

Shkojmë te "Tools" dhe zgjedhim portën e dëshiruar COM (e kam COM32), më pas vendosim shpejtësinë e ngarkimit: "115200":

Ne vendosëm shpejtësinë në 74880 dhe "NL & CR" dhe përsëri e fikim dhe ndezim fuqinë dhe ai do të përgjigjet me disa informacione korrigjimi:

Vini re se 74880 nuk është shpejtësia kryesore e ESP8266, ai thjesht dërgon informacione të korrigjimit në të. Nëse moduli nuk dërgon asgjë në tastierë, atëherë diçka mund të jetë lidhur gabimisht.

Si parazgjedhje, shpejtësia duhet të jetë 115200, por në disa raste mund të jetë 9600 dhe të tjera ... Prandaj përpiquni ta kapni.

Pas zgjedhjes së shpejtësisë së dëshiruar, ne dërgojmë "AT" në modul dhe ai duhet të përgjigjet se gjithçka është "OK". Komanda "AT+GMR" shfaq informacione rreth firmuerit.

Para se të filloni të ndezni ESP8266 në Arduino IDE, ju këshilloj ta lexoni artikullin deri në fund.

Tani le të provojmë të ndezim ESP8266 përmes Arduino IDE. Ne e transferojmë modulin në modalitetin e programimit (kam shkruar se si ta bëj këtë në).

Le të qepim ndezësin me një LED të rregullt:

// Nga MrPodelkinTS youtube.com/RazniePodelki // speciale për site/post/271754/ #define TXD 1 // GPIO1/TXD01 void setup() ( pinMode(TXD, OUTPUT); ) void loop() ( digitalWrite(TXD, I LARTË); vonesë (1000); Shkrim dixhital (TXD, LOW); vonesë (1000); )

U ndez? Pra, gjithçka është bërë siç duhet. Ku e kuptova që LED është i lidhur me pinin e parë? Në artikullin e mëparshëm ka një fotografi me pikat e moduleve të ndryshme, dhe ka një shënim të porteve kur përdorni ngarkuesin e ngarkimit Arduino (kunjat janë shënuar me rozë).

Ndezja e LED-së është sigurisht e mirë, por do të ishte e nevojshme të mbyllni një lloj serveri në internet ose të filloni të kontrolloni LED të paktën me ndihmën e butonave në shfletues, apo jo? Por për këtë do të flas një herë tjetër.

Dhe tani si të rikthehet firmware-i vendas, dhe si të ndezni modulin me ngarkues të palëve të treta. Për ESP8266, ekziston një program i tillë si NodeMCU Flasher, i cili fillimisht ishte krijuar për të ndezur ngarkuesin NodeMCU. Por siç doli, ajo ndizet në mënyrë të përsosur firmware të tjerë.

Unë do t'i bashkangjit artikullit një arkiv me këtë program dhe firmware për lehtësi, por gjithmonë mund të shkarkoni versionin e ri të NodeMCU Flasher.

Ka 2 dosje Win64 dhe Win32 në dosjen "nodemcu-flasher-master" dhe në varësi të thellësisë së bitit që ka OS juaj, zgjidhni atë që ju nevojitet. Më pas, në dosjen Release, ekzekutoni "ESP8266Flasher.exe" dhe shikoni ndërfaqen e programit:

Zgjidhni portën e dëshiruar COM dhe shkoni te skeda "Config", hiqni kryqin pranë "INTERNAL://NODEMCU" dhe vendoseni një pikë më poshtë, si në pamjen e ekranit:

(Nëse dëshironi të ndezni ngarkuesin e nisjes NodeMCU, hiqni kryqin aty ku nuk ishte dhe vendoseni aty ku ishte, domethënë afër "INTERNAL://NODEMCU").

Pastaj klikojmë në ingranazh dhe zgjedhim se ku ndodhet firmware-i ynë, firmware-i është zakonisht në formatin * .bin (në arkivin e bashkangjitur është "v0.9.5.2 AT Firmware.bin" që është në dosjen kryesore), dhe zgjidhni gjithashtu "0x00000" si dhe më lart.

Ne kthehemi përsëri në skedën "Operacioni", transferojmë modulin në modalitetin e programimit dhe klikojmë "Flash":

Gjithçka, moduli filloi të ndizet, pasi të ndizet, mos harroni të rindizni modulin dhe voila, ai ndizet me firmware që na nevojitet.

Ne kontrollojmë me komandën AT "AT + GMR" nëse kemi bërë gjithçka siç duhet:

Siç mund ta shihni, gjithçka shkoi mirë.

JavaScript duhet të aktivizohet për të përdorur këtë faqe

Ndezja dhe funksionimi i modulit ESP8266 (përditësuar: 23 qershor 2018, 22:01:16)

Ky është dokumentacioni i përgjithshëm për çipin ESP8266. Ju lutemi vini re se ky çip konsiderohet i vjetëruar, megjithëse shumë i popullarizuar - ai u zëvendësua nga çipi ESP32.

Së pari ju duhet të përcaktoni se sa memorie është instaluar në modulin ESP8266. Ekzistojnë variante të moduleve me memorie të instaluar prej 512 kB (4 megabit), si dhe 4 MB (32 megabit). Rrallë, por hasni në një memorie flash prej 1 MB (8 megabit). Pothuajse të gjitha variantet e ESP-12 dhe ESP-07 më i ri kanë 4 megabajt në bord. Sasia e memories mund të përcaktohet duke shënuar çipin flash, shikoni në Veglën e Shkarkimit të Flash ose në skedën /debug. Shënimi duket si 25QXX, ku XX është vëllimi në megabit, për shembull 25Q32 ka 32 megabit = 4 megabajt në bord.

Përcaktimi i madhësisë së kujtesës duke përdorur skedën ip_adr/debug:

Skeda e korrigjimit përmban informacione të ndryshme të dobishme, duke përfshirë madhësinë aktuale të çipit të memories flash në linjën e madhësisë reale të Flash, si dhe madhësinë e kujtesës të vendosur në programin e madhësisë së setit Flash, i cili është i rëndësishëm për mbështetjen e duhur OTA.

Nëse nuk jeni i regjistruar në konstruktor, atëherë mund të shkarkoni firmware-in e mbledhur në faqen kryesore, ku janë të disponueshme 2 opsione të lehta firmware:

Variant i aktivizuar me OTA me memorie çipi 1MB e lart. Është e nevojshme të zgjidhni një madhësi memorie prej 1 MB në programin ndezës !! Modulet me madhësi memorie flash 512 kb nuk mbështeten nga modaliteti OTA !!

Opsion pa mbështetje OTA Nëse madhësia e skedarit të marrë (një skedar) është më shumë se 496 kb, atëherë kërkohet mbështetje memorie flash prej të paktën 1 megabajt !! Krahasuar me modalitetin OTA, në këtë opsion, numri i opsioneve të aktivizuara mund të aktivizohet dukshëm më pak.

Mundësia për të përditësuar më tej firmuerin përmes OTA është në dispozicion vetëm për ata që kanë çelësa të aktivizuar!

Nëse keni probleme me nisjen e firmuerit, atëherë sigurohuni që të shikoni më poshtë paragrafin për zgjidhjen e problemeve me firmuerin!

Ndërtimi i firmuerit në konstruktor

Konstruktori ju lejon të montoni firmuerin sipas kërkesave tuaja, duke përfshirë vetëm ato funksione dhe sensorë që ju nevojiten në firmware.

Nuk ka kuptim të përfshihen të gjitha opsionet në firmware - në këtë rast, firmware mund të mos montohet sepse nuk do të futet në modul. Është më mirë të rindërtoni përsëri firmuerin nëse dëshironi të provoni opsione të tjera.

Disa opsione kanë cilësime shtesë që janë në ikonën e ingranazheve. Aty mund të zgjidhni numrin e disponueshëm të termostateve ose opsione të tjera. Kur ndryshoni sasinë, për shkak të cilësimeve dinamike, opsionet e tjera të modulit mund të "fluturojnë" pas një përditësimi të mëvonshëm. Gjatë konfigurimit fillestar, këshillohet që menjëherë të zgjidhni numrin e kërkuar të opsioneve në mënyrë që të mos ketë probleme të tilla.

Gjatë montimit fillestar të firmuerit, rekomandohet përdorimi i opsionit OTA në mënyrë që përditësimi tjetër të jetë i mundur përmes Internetit pa përdorur lidhjen e programuesit. Me opsionin OTA, numri i opsioneve mund të aktivizohet më shumë, por memoria në modul kërkohet të jetë së paku 1 megabajt !!

Kur montoni firmuerin, mund të zgjidhni një SDK të ndryshme. Versioni i rekomanduar SDK është 1.3.0. Në versionet e reja, u vu re një problem me modalitetin e pikës së hyrjes (Safe Mode) (???), por nuk ka probleme me besueshmërinë e komunikimit me ruterin. SDK është një grup bibliotekash dhe funksionesh nga prodhuesi i çipit për funksionimin e pajisjes.

Pasi të keni shtypur butonin "përpiloni", pas një kohe projektuesi i firmuerit do të lëshojë lidhjet e shkarkimit:

Në modalitetin pa OTA, mund të ndezni skedarët e firmuerit në një skedar - pastaj të gjitha cilësimet e modulit, nëse ato janë rivendosur. Nëse po përditësoni firmuerin dhe nuk dëshironi që cilësimet të fshihen, atëherë duhet të përditësoni firmuerin me dy skedarë në adresat e treguara në emrin e skedarit.

Në modalitetin OTA, mjafton të ngarkoni firmware me një skedar. Por 0x81000.bin mund të kërkohet nëse dëshironi të përditësoni firmuerin me kabllo pasi përdorni OTA ndërsa user2.bin është i ngarkuar - në këtë rast, përditësimi i firmuerit me një skedar nuk do të përditësojë firmuerin aktiv.

Lidhja e modulit të firmuerit

Për të ndezur ESP8266, ju nevojitet një përshtatës USB-UART ose një Arduino. ESP8266 duhet të sigurojë një tension furnizimi prej 3.3 V dhe një rrymë prej 200..300 mA. Nuk rekomandohet të lidhni energji 3.3v nga ARDUINO ose USB-UART - moduli mund të mos funksionojë në mënyrë të qëndrueshme për shkak të mungesës së rrymës. Rekomandohet përdorimi i stabilizatorit të tipit 1117.

Lidhja e ESP8266 me USB-UART: Duhet të lidhni kunjat e zakonshme GND (negative). RX për USB-UART në TX ESP, TX për USB-UART në RX ESP. Ne gjithashtu lidhim një furnizim me energji 3.3 V.

Lidhja e ESP8266 me Arduino: Duhet të lidhni GND(negativ).RX i Arduino me RX ESP, TX i Arduino me TX ESP. Ne gjithashtu lidhim një furnizim me energji 3.3 V. RESET për Arduina duhet të lidhet me GND.

Në modulin ESP8266, kunja CH_EN duhet të lidhet me +3.3V për të ndezur çipin.

GPIO 0 në momentin e programimit, duhet të lidhet me GND (tokë) përpara se të ndizet. Pas ndezjes së suksesshme, GPIO 0 duhet të shkëputet nga GND. Nëse GPIO 15 del në modul, atëherë duhet të lidhet me GND përmes një rezistence 10 kΩ në baza të përhershme !!

Nëse moduli juaj esp8266 tashmë ka një USB-UART në bord (për shembull, Wemos, NodeMCU), atëherë hapat e mësipërm nuk kërkohen.

Firmware i modulit

Së pari ju duhet të instaloni drejtuesit për përshtatësin tuaj USB-UART ose Arduino.

Firmware nëpërmjet Nodemcu Flasher: Në skedën Advanced, vendosni parametrin e madhësisë së Flash-it që të përputhet me madhësinë e zgjedhur të memories flash (në bajt). Ne vendosëm modalitetin e blicit në QIO (kur përdorni GPIO 9/10 - DIO). Ne nuk prekim pjesën tjetër të parametrave. Në skedën Config, specifikoni shtegun për në skedarin e firmuerit me adresën 0x0000. Në skedën Operacioni, zgjidhni portën COM dhe shtypni butonin FLASH.

Firmware nëpërmjet Mjeti i shkarkimit flash: Operacionet janë të njëjta.

Firmware nëpërmjet Flasher për faqen e internetit. Programi ka një ndërfaqe në gjuhën ruse dhe mbështetet nga të dy sistemet Windows dhe Linux. Për momentin, firmware shkon vetëm në adresën e skedarit 0x0000 "Shkarko në një skedar (0x00000)". Me çelësin API të instaluar, shkarkimi automatik është i mundur para-montuar firmware direkt nga projektuesi (vetëm me modalitetin OTA). Për të pastruar kujtesën, në vend të një bosh, mund të përdorni opsionin "fshini çipin përpara ndezjes".

Për modulet ESP8285 dhe modulet me memorie PN25F08BKërkohet cilësimi i modalitetit të memories DOUT!!

Firmware përmes esptool. Shembull i komandës esptool.py --port /dev/ttyUSB0 write_flash -fs 8m 0x00000 esp8266.bin . ku parametri -fs 8m nevojitet vetëm për të specifikuar madhësinë për një firmware një megabajt.

Firmware i skedarit ESP INIT DATA

Rekomandohet të ndizni skedarin esp_init_data_default.bin në modul me kalibrimet e paracaktuara, këto cilësime ndikojnë në punën e wifi dhe adc. Në shumicën e rasteve modulet funksionojnë si duhet pa këtë skedar. SDK-të e fundit mund të mos funksionojnë fare pa këtë skedar.

Adresa e skedarit të firmuerit varet nga madhësia e memories flash të instaluar:

0x7c000 për 512 kB.

0xfc000 për 1 MB.

0x3fc000 për 4 MB.

0xffc000 për 16 MB.

Ju gjithashtu mund të shkarkoni të dhënat e cilësimeve duke lëshuar komandën GET http:///configinit?def=1, vetë SDK-të më të fundit i përshkruajnë këto cilësime.

Nisja e modulit

Herën e parë që ndizet moduli, ai hyn në modalitet mënyra e sigurt automatikisht sepse nuk përmban emrin e pikës së aksesit. Në modalitet mënyra e sigurtnjë pikë me emrin do të shfaqet në transmetim WiFi-IoT(në firmware deri në 12.10.16 homessmart) , i cili mund të lidhet duke përdorur një smartphone ose laptop.

Mund të hyni ende në modalitetin e sigurt duke shkurtuar RX dhe TX midis njëri-tjetrit dhe rinisni modulin, ose shtypni butonin RESET në ESP8266 3 herë (me një interval prej rreth një sekonde).

1. Duke përdorur Portalin Captive, pajisja celulare do të shfaqë një njoftim lidhjeje, kur të klikohet, faqja kryesore e internetit e modulit do të hapet automatikisht. Gjithashtu mund të futeni në modul duke futur adresën në shfletues iot.lokal(ose ndonjë tjetër, për shembull iot.ru). Captive Portal nuk mbështetet nëse firmware është ndërtuar në SDK 0.9.5!

2. Pas një lidhjeje të suksesshme, ne shkojmë manualisht në adresën http://192.168.4.1 duke përdorur një shfletues web.

Tjetra, ne konfigurojmë lidhjen me ruterin tonë në skedën kryesore të ndërfaqes në internet.Duhet të futni të dhënat e pikës suaj të hyrjes në fushat e opsioneve WiFi. Për t'u lidhur me ruterin, zgjidhni "Station mode". Pasi të keni shtypur butonin e vendosjes, më poshtë do të shfaqet një adresë IP, në të cilën mund të aksesoni brenda rrjetit tuaj pa tel.

Këtu mund të vendosni hyrjen dhe fjalëkalimin tuaj në faqet e cilësimeve të ndërfaqes së internetit. Gjatësia e hyrjes dhe fjalëkalimit nuk është më shumë se 8 karaktere. Fjalëkalimi do të kërkohet për të gjitha skedat e cilësimeve. Dhe me opsionin e vendosur "Siguria e plotë", dhe në të gjitha kërkesat e kontrollit GET. Në modalitetin e sigurt, nuk kërkohet fjalëkalim!

Në këtë skedë, mund të vendosni emrin e modulit, i cili do të shfaqet në sistemin kryesor dhe në sistemin flymon, si dhe në temën në serverin MQTT.

Hapat e mësipërm nuk kërkohen nëse firmware është ndërtuar me opsionin Cilësimet e parazgjedhura, ku parametrat e ruterit dhe adresa IP ishin të parashkruara. Pas suksesit të firmuerit dhe rindezjes, mund të shkoni menjëherë në adresën IP të specifikuar të modulit brenda rrjetit tuaj wi-fi.

Zgjidhja e problemeve të firmuerit

Ndonjëherë, pas firmuerit ose mbeturinave të palëve të treta, moduli mund të mos fillojë dhe duhet të ndërmerren hapa shtesë. Është e nevojshme të mbishkruhet memoria flash në adresën 0x00000. Tjetra, ne tashmë po ndezim përsëri vetë firmware.

Për disa përdorues, edhe pas pastrimit me një bosh, moduli nuk fillon ose fillon vetëm kur modaliteti është vendosur në 512 kb ose 4 mb, ndoshta kjo është për shkak të cilësisë së ulët të memories flash ose papajtueshmërisë së saj të pjesshme me ESP8266 çip. Sipas disa informacioneve nga përdoruesit, zëvendësimi i çipit të memories ndihmon.

Nëse në faqen kryesore të modulit shfaqet mesazhi "Gabim në madhësinë e blicit! (kodi 0x1)", do të thotë se firmware 1 megabajt është ndezur në modalitetin 512 kb. Në këtë rast, Safe Mode aktivizohet dhe moduli mund të mos funksionojë për shkak të këtyre cilësimeve të pasakta. Sigurohuni që madhësia e kërkuar e memories është vendosur në modul - kjo mund të shihet në skedën e internetit IP_ADDRESS/debug në linjën e madhësisë reale të Flash. Modaliteti i madhësisë së kujtesës tregohet në programin e firmuerit.

Nëse në faqen kryesore të modulit shfaqet mesazhi "Gabim madhësia e flashit ! (kodi 0x2)", atëherë ky modul ka vetëm 512 kb memorie flash, që do të thotë se duhet të përdorni firmuerin pa modalitetin 1 megabajt të aktivizuar ose të bëni mos përdorni OTA. Mund të lidhni gjithashtu çipin e memories flash në një më të gjerë.

E RËNDËSISHME!! Nëse moduli nuk mund të marrë një adresë IP. Statusi i lidhjes është vazhdimisht i varur, rekomandohet të futni adresën IP manualisht më poshtë. Për ta bërë këtë, zgjidhni modalitetin Static IP dhe futni IP-në e modulit dhe IP-në e portës (IP e ruterit). Pas kësaj, ju mund të përdorni modulin tashmë brenda rrjetit duke përdorur adresën IP të specifikuar në cilësimet.

Ndonjëherë statusi i lidhjes mund të varet nëse lloji i enkriptimit në ruter është i aktivizuar, i cili nuk mbështetet nga çipi ESP8266.

Ruajtja e cilësimeve në një skedar

Cilësimet e modulit mund të ruhen në një skedar, duke përjashtuar cilësimet WI-FI, gjendjet GPIO, listën e sensorëve DS18B20. Skedari duhet të shkarkohet në IP_ADDRESS/configsave.bin. Është shkruar përsëri në modul përmes programuesit në 0x3C000 për firmware 512kb, 0x7C000 për 1mb. Cilësimet mund të shkarkohen gjithashtu nëpërmjet esptool.py duke përdorur shembullin më poshtë, duke zëvendësuar adresën e dëshiruar.

Mund të shkarkoni cilësimet WI-FI në IP_ADDRESS/configsave.bin?pg=66 për 512 kb, IP_ADDRESS/configsave.bin?pg=130 për 1 meg. Mund ta shkarkoni përmes esptool.py me komandën esptool.py read_flash 0x7E000 4096 mywifi_settings.bin për 512 kb (për 1024 kb adresa do të jetë 0xfe000).

Lidhje të dobishme:

Video udhëzim duke vendosur nga Umka.

Shumë përdorues tashmë e kanë kthyer vëmendjen te çipi ESP8266-12 i lëshuar nga Espressif. Kostoja e tij është shumë më e lirë në krahasim me një tabelë standarde të përshtatësit Bluetooth, madje edhe me dimensione më të vogla, ka aftësi shumë më të gjera. Tani të gjithë dashamirët e shtëpisë kanë mundësinë të punojnë në një rrjet Wi-Fi në dy mënyra njëherësh, domethënë të lidhin kompjuterin e tyre me çdo pikë aksesi ose ta ndezin atë si një pikë të tillë.

Nga ana tjetër, duhet të kuptoni saktë se tabela të tilla nuk janë vetëm mburoja të dizajnuara vetëm për komunikim Wi-Fi. Në vetvete, ESP8266 është një mikrokontrollues që ka ndërfaqet e veta UART, GPIO dhe SPI, domethënë mund të përdoret si një pajisje plotësisht e pavarur. Pas lëshimit të këtij çipi, shumë e quajtën atë një revolucion të vërtetë, dhe me kalimin e kohës, pajisje të tilla do të fillojnë të ndërtohen edhe në llojet më të thjeshta të teknologjisë, por deri më tani pajisja është relativisht e re dhe nuk ka firmware të qëndrueshëm për të. Shumë specialistë në mbarë botën po përpiqen të shpikin firmware-in e tyre, sepse ngarkimi i tyre në tabelë nuk është në të vërtetë i vështirë, por pavarësisht vështirësive të ndryshme, pajisja tashmë mund të quhet mjaft e përshtatshme për punë.

Për momentin, konsiderohen vetëm dy opsione për përdorimin e këtij moduli:

  • Përdorimi i tabelës në kombinim me një mikrokontrollues shtesë ose një kompjuter që do të kontrollojë modulin nëpërmjet UART.
  • Firmware vetë-shkruar për çipin, i cili ju lejon ta përdorni më vonë si një pajisje të vetë-mjaftueshme.

Është mjaft e natyrshme që ne nuk do të konsiderojmë firmware të pavarur në këtë rast.

Duke parë lehtësinë e përdorimit dhe performancën e mirë, shumë njerëz në mesin e shumë mikrokontrolluesve i japin preferencën e tyre modelit ESP8266. Lidhja dhe përditësimi i firmuerit të kësaj pajisjeje është jashtëzakonisht i thjeshtë dhe i përballueshëm dhe kryhet në të njëjtin harduer në të cilin është lidhur pajisja me kompjuterin. Kjo do të thotë, gjithashtu përmes një konverteri USB-TTL ose, nëse dikush preferon opsione të tjera lidhjeje, mund të bëhet përmes RPi dhe Arduino.

Si të kontrolloni?

Për të testuar performancën e një pajisjeje të sapo blerë, do t'ju duhet të përdorni një burim të posaçëm të stabilizuar të tensionit të vlerësuar në 3.3 volt. Duhet të theksohet menjëherë se diapazoni real i tensionit të furnizimit të këtij moduli është nga 3 në 3.6 volt, dhe aplikimi i një tensioni të rritur menjëherë do të çojë në faktin se thjesht do të çaktivizoni ESP8266 tuaj. Firmware dhe programe të tjera pas një situate të tillë mund të fillojnë të funksionojnë gabimisht, dhe tashmë do t'ju duhet të riparoni pajisjen ose ta rregulloni atë disi.

Për të përcaktuar performancën e këtij modeli mikrokontrollues, ju vetëm duhet të lidhni tre kunja:

  • CH_PD dhe VCC janë të lidhur me një furnizim 3.3 volt.
  • GND lidhet me tokën.

Nëse nuk jeni duke përdorur ESP-01, por një modul tjetër, dhe dalja GPIO15 është tashmë e pranishme në të, atëherë në këtë rast do t'ju duhet ta lidhni shtesë me tokën.

Nëse firmware-i i fabrikës filloi normalisht, atëherë në këtë rast mund të shihni dhe më pas bluja pulson disa herë. Sidoqoftë, vlen të përmendet se jo të gjitha pajisjet e serisë ESP8266 kanë një tregues të kuq të energjisë. Firmware në disa pajisje nuk parashikon që treguesi i kuq të ndizet nëse moduli nuk e ka atë (në veçanti, kjo vlen për modelin ESP-12).

Pasi të lidhet, një pikë e re aksesi do të aktivizohet në rrjetin tuaj me valë, e quajtur ESP_XXX, dhe do të zbulohet nga çdo pajisje që ka akses në Wi-Fi. Në këtë rast, emri i pikës së aksesit varet drejtpërdrejt nga prodhuesi i firmuerit që po përdorni, dhe për këtë arsye mund të jetë diçka tjetër.

Nëse pika shfaqet me të vërtetë, mund të vazhdoni eksperimentet, përndryshe do t'ju duhet të kontrolloni përsëri furnizimin me energji elektrike, si dhe lidhjen e saktë të GND dhe CH_PD, dhe nëse gjithçka është e lidhur saktë, atëherë ka shumë të ngjarë që ju ende po përpiqeni të përdorni një modul të prishur ose mbi të është instaluar thjesht firmware me cilësime jo standarde.

Si ta lidhni shpejt?

Grupi standard i kërkuar për të lidhur këtë modul përfshin sa vijon:

  • vetë moduli;
  • dërrasë buke pa saldim;
  • një grup i plotë telash femër-mashkull të projektuar për një dërrasë buke, ose një kabllo speciale DUPONT M-F;
  • Konvertuesi USB-TTL i bazuar në PL2303, FTDI ose ndonjë çip të ngjashëm. Opsioni më i mirë është nëse RTS dhe DTR dalin gjithashtu në përshtatësin USB-TTL, pasi kjo ju lejon të arrini një shkarkim mjaft të shpejtë të firmuerit nga disa UDK, Arduino IDE ose Sming, pa pasur nevojë të kaloni manualisht GPIO0 në tokë.

Nëse përdorni një konvertues 5 volt, atëherë në këtë rast do t'ju duhet të blini një stabilizues shtesë të energjisë bazuar në çipin 1117 ose ndonjë të ngjashëm, si dhe një burim energjie (për një standard 1117, madje edhe karikim i zakonshëm nga një smartphone në 5 volt është mjaft i mirë). Rekomandohet të mos përdorni Arduino IDE ose USB-TTL si një furnizim me energji elektrike për ESP8266, por të përdorni një të veçantë, pasi kjo mund të përfundojë duke eliminuar shumë probleme.

Një grup i zgjeruar për të siguruar punë të rehatshme dhe të vazhdueshme me modulin parashikon nevojën për të përdorur rezistorë shtesë, LED dhe ndërprerës DIP. Përveç kësaj, ju gjithashtu mund të përdorni një monitor të lirë USB, i cili do t'ju lejojë të monitoroni vazhdimisht sasinë e rrymës së tërhequr, dhe gjithashtu të siguroni pak mbrojtje për autobusin USB nga

Çfarë duhet të bëjmë?

Para së gjithash, vlen të përmendet fakti se kontrolli në ESP8266 mund të jetë disi i ndryshëm në varësi të modelit të veçantë që përdorni. Sot ka mjaft module të tilla dhe gjëja e parë që do t'ju duhet është të identifikoni modelin që po përdorni dhe të vendosni për pikën e tij. Në këtë manual, ne do të flasim për punën me modulin ESP8266 ESP-01 V090 dhe nëse jeni duke përdorur ndonjë model tjetër me një kunj GPIO15 (HSPICS, MTDO) të hequr, do t'ju duhet ta tërhiqni në tokë për të dyja standardet. fillimi i modulit dhe përdorimi i modalitetit të firmuerit.

Pas kësaj, kontrolloni dy herë që tensioni i furnizimit për modulin e lidhur është 3.3 volt. Siç u përmend më lart, diapazoni i lejuar është nga 3 në 3.6 volt, dhe në rast të rritjes, pajisja dështon, por tensioni i furnizimit mund të jetë edhe dukshëm më i ulët se 3 volt që tregohen në dokumente.

Nëse jeni duke përdorur një konvertues USB-TTL për 3.3 volt, atëherë në këtë rast, lidhni modulin në të njëjtën mënyrë si në anën e majtë të figurës më poshtë. Nëse përdorni vetëm USB-TTL me pesë volt, atëherë kushtojini vëmendje anës së djathtë të figurës. Shumëkujt mund t'u duket se qarku i duhur është më efikas për faktin se përdor një furnizim të veçantë me energji elektrike, por në fakt, në rastin e përdorimit të një konverteri USB-TTL për 5 volt, është shumë e dëshirueshme që të bëhet edhe një ndarës shtesë në rezistorë për të siguruar përputhjen e niveleve logjike tre volt dhe pesë volt, ose thjesht përdorni modulin e konvertimit të nivelit.

Karakteristikat e lidhjes

Në figurën e duhur, ekziston një lidhje e UTXD (TX), si dhe URXD (RX) e këtij moduli me logjikën TTL pesë volt, dhe procedura të tilla kryhen vetëm me rrezikun dhe rrezikun tuaj. Për ESP8266, përshkrimi thotë se moduli funksionon në mënyrë efektive vetëm me logjikën 3.3V. Në shumicën dërrmuese të rasteve, edhe kur punoni me logjikë pesë volt, pajisjet nuk dështojnë, por situata të tilla ndodhin herë pas here, kështu që një lidhje e tillë nuk rekomandohet.

Nëse nuk keni mundësinë të përdorni një konvertues të specializuar USB-TTL për 3.3 volt, mund të përdorni një ndarës rezistence. Vlen gjithashtu të përmendet se në figurën e duhur, stabilizuesi i fuqisë 1117 është i lidhur pa tubacione shtesë, dhe kjo është me të vërtetë një teknologji funksionale, por megjithatë është më mirë të përdorni diagramin e lidhjes 1117 me tubacionet e kondensatorit - duhet ta kontrolloni me fletën e të dhënave ESP8266 në stabilizuesin tuaj ose përdorni një modul të gatshëm të bazuar në bazën 1117.

Për të nisur modulin, duhet të prishni qarkun GPIO0-TND, pas së cilës mund të aplikoni energji. Në të njëjtën kohë, vlen të përmendet se gjithçka duhet të bëhet në këtë mënyrë, domethënë, së pari sigurohuni që GPIO0 të "varur në ajër" dhe vetëm atëherë të aplikoni fuqinë në CH_PD dhe VCC.

Si të lidheni saktë?

Nëse mund të kaloni më shumë se një mbrëmje duke e lidhur siç duhet modulin ESP8266, mund të përdorni një opsion më të qëndrueshëm. Në diagramin e mësipërm, shihni një opsion lidhjeje me shkarkim automatik të firmuerit.

Vlen të përmendet se imazhi i mësipërm nuk tregon përdorimin e GPIO-ve ose ADC-ve falas dhe lidhja e tyre do të varet drejtpërdrejt nga ajo që saktësisht dëshironi të zbatoni, por nëse doni të siguroni stabilitet, mos harroni të tërheqni të gjitha GPIO-të në fuqi dhe ADC-të. në tokëzim duke përdorur rezistenca tërheqëse.

Rezistenca për 10k, nëse është e nevojshme, mund të zëvendësohet me ndonjë tjetër në rangun nga 4.7k në 50k, duke përjashtuar GPIO15, pasi vlera e tij nuk duhet të kalojë 10k. Vlera e kondensatorit, i cili zbut valëzimet me frekuencë të lartë, mund të jetë paksa i ndryshëm.

Lidhja e RESET dhe GPIO16 përmes përdorimit të një rezistence gjumi të thellë 470 ohmë mund të bëhet e nevojshme kur përdorni modalitetin e duhur, pasi për të dalë nga modaliteti i gjumit të thellë, moduli kryen një rivendosje të fortë duke e ulur GPIO16. Pa këtë lidhje, modaliteti i gjumit të thellë për modulin tuaj do të zgjasë përgjithmonë.

Në shikim të parë, mund të duket se GPIO0, GPIO1 (TX), GPIO2, GPIO3 (RX) dhe GPIO15 janë të zënë, kështu që ju nuk do të jeni në gjendje t'i përdorni ato për qëllimet tuaja, por në realitet kjo është larg nga rasti. . Një nivel mjaft i lartë në GPIO0 dhe GPIO2, si dhe një nivel i ulët në GPIO15, mund të kërkohet vetëm për fillimin fillestar të modulit, dhe në të ardhmen ju tashmë mund t'i përdorni ato sipas gjykimit tuaj. E vetmja gjë që vlen të përmendet është se mos harroni të siguroheni që nivelet të jenë të sakta përpara se të bëni një rivendosje të vështirë të harduerit tuaj.

Ju gjithashtu mund të përdorni TX, RX si një alternativë ndaj GPIO1 dhe GPIO3, por mos harroni se pas fillimit të modulit, çdo firmware fillon të "tërheqë" TX, duke dërguar paralelisht informacionin e debugimit në UART0 me një shpejtësi prej 74480, por pasi do të kryhet një boot i suksesshëm, ato mund të përdoren jo vetëm si UART0 për të shkëmbyer të dhëna me një pajisje tjetër, por edhe si GPIO standarde.

Për modulet që kanë një numër të vogël kunjash me tela (për shembull, ESP-01), nuk kërkohet të lidhni kunjat pa tela, domethënë, vetëm GND, CH_PD, VCC, GPIO0, GPIO2 dhe RESET janë të lidhura me kabllo në ESP-01 , dhe kjo është ajo për ju do të duhet të shtrëngohen. Nuk ka nevojë të lidhni drejtpërdrejt me çipin ESP8266EX dhe më pas të tërhiqni kunjat e padrejtuara, përveç nëse ju nevojitet vërtet.

Skema të tilla lidhjesh u përdorën pas një numri të madh eksperimentesh të kryera nga specialistë të kualifikuar dhe të mbledhura nga një sërë informacionesh të ndryshme. Duhet të theksohet se edhe skema të tilla nuk mund të konsiderohen ideale, pasi mund të përdoren një sërë opsionesh të tjera po aq efektive.

Lidhja përmes Arduino

Nëse për ndonjë arsye nuk keni pasur një konvertues USB-TTL për 3.3 volt, atëherë në këtë rast moduli WiFi ESP8266 mund të lidhet përmes Arduino me një konvertues të integruar. Këtu do t'ju duhet së pari të ktheni vëmendjen tuaj në tre elementë kryesorë:

  • Kur përdoret me ESP8266, Arduino Reset fillimisht lidhet me GND për të parandaluar ndezjen e mikrokontrolluesit dhe në këtë formë u përdor si një konvertues transparent USB-TTL.
  • RX dhe TX nuk ishin të lidhur "me kryq", por drejtpërdrejt - RX-RX (jeshile), TX-TX (e verdhë).
  • Çdo gjë tjetër është e lidhur saktësisht në të njëjtën mënyrë si më sipër.

Çfarë duhet marrë parasysh

Ky qark kërkon gjithashtu përputhjen e nivelit 5V TTL të Arduino si dhe përputhjen e nivelit 3.3V TTL të ESP8266, por gjithsesi mund të funksionojë mirë.

Kur lidhet me ESP8266, Arduino mund të pajiset me një rregullator të energjisë që nuk mund të përballojë rrymën e kërkuar nga ESP8266, kështu që duhet të kontrolloni me anijen e të dhënave që përdorni përpara se ta aktivizoni. Mos u përpiqni të lidhni ndonjë element tjetër që konsumon energji me ESP8266, pasi kjo mund të shkaktojë që rregullatori i integruar i energjisë i Arduino thjesht të dështojë.

Ekziston gjithashtu një skemë tjetër e lidhjes ESP8266 dhe Arduino që përdor SoftSerial. Meqenëse shpejtësia e portit 115200 është shumë e lartë për bibliotekën SoftSerial dhe nuk mund të garantojë funksionim të qëndrueshëm, kjo metodë e lidhjes nuk rekomandohet, megjithëse ka disa raste në të cilat gjithçka funksionon mjaft stabile.

Lidhja përmes Raspberry Pi

Nëse nuk keni fare konvertues USB-TTL, atëherë në këtë rast mund të përdorni RaspberryPi. Në këtë rast, për ESP8266, programimi dhe lidhja është pothuajse identike, por gjithçka nuk është aq e përshtatshme këtu, dhe përveç kësaj, do t'ju duhet gjithashtu të përdorni një rregullator të energjisë 3.3 volt.

Për të filluar, ne lidhim RX, TX dhe GND të pajisjes sonë me ESP8266 dhe marrim GND dhe VCC nga 3.3 volt të llogaritur. Këtu, vëmendje e veçantë duhet t'i kushtohet faktit që duhet të lidhni të gjitha pajisjet GND, domethënë stabilizuesin RaspberryPi dhe ESP8266. Nëse stabilizuesi i integruar në modelin e pajisjes suaj mund të përballojë deri në 300 miliamps ngarkesë shtesë, atëherë në këtë rast lidhja e ESP8266 është mjaft normale, por e gjithë kjo bëhet vetëm me rrezikun dhe rrezikun tuaj.

Vendosja e parametrave

Kur keni kuptuar se si të lidhni ESP8266, duhet të siguroheni që drejtuesit për pajisjet tuaja janë instaluar saktë, si rezultat i së cilës një port i ri serial virtual është shtuar në sistem. Këtu do t'ju duhet të përdorni programin - terminali i portës serike. Në parim, ju mund të zgjidhni çdo mjet për shijen tuaj, por në të njëjtën kohë, duhet të kuptoni saktë se çdo komandë që do të dërgoni në portin serik duhet të ketë karaktere pasuese CR + LF në fund.

Shërbimet CoolTerm dhe ESPlorer janë mjaft të përhapura, dhe kjo e fundit ju lejon të mos futni vetë ESP8266, dhe në të njëjtën kohë e bën më të lehtë punën me skriptet lua nën NodeMCU, kështu që mund të përdoret plotësisht si një terminal standard.

Për një lidhje normale, do t'ju duhet të bëni shumë punë, pasi firmware-i për ESP8266 është kryesisht i larmishëm dhe aktivizimi mund të kryhet me shpejtësi të ndryshme. Për të përcaktuar opsionin më të mirë, do t'ju duhet të kaloni nëpër tre opsione kryesore: 9600, 57600 dhe 115200.

Si të përsërisim?

Fillimisht, lidheni në programin e terminalit me portën virtuale serike, duke vendosur parametrat 9600 8N1, më pas kryeni një rivendosje të plotë të modulit, duke fikur CH_PD (aktivizo çipin) nga furnizimi me energji elektrike dhe më pas riaktivizoni atë duke shtrembëruar CH_PD. Është gjithashtu e mundur të kryhet një RESET i shkurtër në tokë për të rivendosur modulin dhe për të vëzhguar të dhënat në terminal.

Para së gjithash, LED-et e pajisjes duhet të shfaqen saktësisht siç tregohet në përshkrimin e procedurës së testimit. Ju gjithashtu duhet të vëzhgoni një grup karakteresh të ndryshëm në terminal, i cili do të përfundojë me linjën gati, dhe nëse nuk është aty, një rilidhje me terminalin kryhet me një shpejtësi të ndryshme, e ndjekur nga një rindezje e modulit.

Kur e shihni këtë linjë në një nga opsionet e shpejtësisë, mund ta konsideroni modulin gati për punë.

Si të përditësoni firmware-in?

Pasi të instaloni ESP8266, do të duhen vetëm disa sekonda për të lidhur pajisjen dhe më pas mund të filloni të përditësoni firmuerin. Për të instaluar softuer të ri, duhet të bëni sa më poshtë.

Për të filluar, shkarkoni versionin e ri të firmuerit nga faqja zyrtare e internetit, si dhe shkarkoni një mjet special të firmuerit. Këtu, vëmendje e veçantë duhet t'i kushtohet sistemit operativ të instaluar në makinën me të cilën punon ESP8266. Lidhja e pajisjes bëhet më së miri me sistemet më të vjetra se Windows 7.

Për sistemet standarde operative Windows, është mjaft optimale të përdoret një program i quajtur XTCOM UTIL, i cili është veçanërisht i përshtatshëm për t'u përdorur nëse firmware përbëhet nga vetëm një skedar. Opsioni më i mirë me shumë platforma është mjeti esptool, i cili, megjithatë, kërkon python, si dhe nevojën për të specifikuar parametrat përmes linjës së komandës. Për më tepër, në ESP8266, lidhja e funksioneve kryesore ju lejon të krijoni me lehtësi Flash Download Tool, i cili ka një numër mjaft të madh cilësimesh, si dhe një teknologji të përshtatshme për instalimin e firmuerit nga disa skedarë.

Më pas, shkëputni programin tuaj të terminalit nga porta serike dhe gjithashtu shkëputni plotësisht CH_PD nga rryma, lidhni GPIO0 të modulit me GND dhe pas kësaj CH_PD mund të kthehet përsëri. Në fund të fundit, thjesht ekzekutoni programin ndezës dhe ngarkoni atë në stafetën ESP8266.

Në shumicën dërrmuese të rasteve, firmware ngarkohet në modul me një shpejtësi prej 115200, por në të njëjtën kohë, një mënyrë e veçantë siguron shpërndarje automatike të shpejtësisë, si rezultat i së cilës firmware mund të kryhet në një shpejtësi prej më shumë se 9600, duke përditësuar funksionet e disponueshme të ESP8266. Arduino u përdor për lidhje ose USB-TTL - nuk luan një rol të veçantë këtu, dhe këtu shpejtësia maksimale varet tashmë nga gjatësia e telave, konverteri i përdorur dhe një sërë faktorësh të tjerë.

Artikujt kryesorë të lidhur