Përmbajtje:

Rivendosni ose azhurnoni firmuerin në modulin ESP8266 (ESP-01) duke përdorur Arduino UNO: 7 hapa
Rivendosni ose azhurnoni firmuerin në modulin ESP8266 (ESP-01) duke përdorur Arduino UNO: 7 hapa

Video: Rivendosni ose azhurnoni firmuerin në modulin ESP8266 (ESP-01) duke përdorur Arduino UNO: 7 hapa

Video: Rivendosni ose azhurnoni firmuerin në modulin ESP8266 (ESP-01) duke përdorur Arduino UNO: 7 hapa
Video: $5 WiFi Camera Setup | ESP32 Wifi Setup view on Mobile phone 2024, Nëntor
Anonim
Rivendosni ose azhurnoni firmuerin në modulin ESP8266 (ESP-01) duke përdorur Arduino UNO
Rivendosni ose azhurnoni firmuerin në modulin ESP8266 (ESP-01) duke përdorur Arduino UNO
Rivendosni ose azhurnoni firmuerin në modulin ESP8266 (ESP-01) duke përdorur Arduino UNO
Rivendosni ose azhurnoni firmuerin në modulin ESP8266 (ESP-01) duke përdorur Arduino UNO
Rivendosni ose azhurnoni firmuerin në modulin ESP8266 (ESP-01) duke përdorur Arduino UNO
Rivendosni ose azhurnoni firmuerin në modulin ESP8266 (ESP-01) duke përdorur Arduino UNO
Rivendosni ose azhurnoni firmuerin në modulin ESP8266 (ESP-01) duke përdorur Arduino UNO
Rivendosni ose azhurnoni firmuerin në modulin ESP8266 (ESP-01) duke përdorur Arduino UNO

Moduli ESP-01 që kam përdorur erdhi fillimisht me firmware më të vjetër AI Thinker, i cili kufizon aftësitë e tij pasi shumë komanda të dobishme AT nuk mbështeten.

Në përgjithësi është një ide e mirë të azhurnoni firmware -in tuaj për rregullimet e gabimeve dhe gjithashtu në varësi të funksionaliteteve të nevojshme nga moduli ESP, mund të kërkohet një grup më i plotë i komandave të mbështetura AT. Ky tutorial shpjegon gjithashtu se si të rivendosni ose ndizni firmware -in origjinal të Espressif nëse ndodh që të prishni firmware -in tuaj ESP, për shembull, përmes disa komandave të gabuara AT. Kjo është ajo që ndodhi kur u përpoqa të ndryshoja normën e paracaktuar të baud nga 115200 në 9600. Kam përdorur komandën e mëposhtme (bazuar në një kërkim të shpejtë në Google):

AT+IPR = 9600

Kjo shtroi modulin ESP-01. Asnjë komandë AT nuk funksionoi më, gjë që më shtyu të bëja më shumë kërkime dhe pas shumë orësh, më në fund gjeta një mënyrë për të rivendosur ESP-01 tim dhe për të instaluar firmware-in e fundit të pajtueshëm. Kështu, vendosa se ia vlente të ndaja të gjithë procesin.

Kujdes: Bazuar në përvojën time, unë do të këshilloja shumë që të mos përdorni komandën AT+IPR për të ndryshuar normën tuaj të baudit, pasi ka shumë të ngjarë që t'ju kërkojë të rindizni firmware-in tuaj. Sidoqoftë, ka shumë variante të ndryshme të modulit ESP-01 me madhësi të ndryshme të blicit dhe versionin e firmuerit të fabrikës, kështu që përvoja juaj mund të ndryshojë.

Moduli ESP-01 nuk është në përputhje me 5 V dhe kërkon 3.3 V për ta fuqizuar atë, por edhe për të punuar siç duhet në nivelin logjik. Për të komunikuar me kompjuterin, moduli ka nevojë për një konvertues USB në serial. Kështu, në vend që të përdor një konvertues të tensionit dhe një përshtatës USB në serial, vendosa të zgjedh një zgjidhje më të thjeshtë. Meqenëse unë tashmë kam një Arduino UNO, e kam përdorur këtë të fundit për të fuqizuar modulin ESP-01 dhe për të krijuar komunikim midis ESP-01 dhe kompjuterit, duke vepruar në mënyrë efektive si një urë serike.

Furnizimet

  1. Moduli ESP-01
  2. Arduino UNO (me kabllo USB)
  3. Telat Jumper DuPont
  4. Breadboard

Hapi 1: Lidhjet me tela

Lidhjet me tela
Lidhjet me tela
Lidhjet me tela
Lidhjet me tela
Lidhjet me tela
Lidhjet me tela

Lidhjet me tela me modulin Arduino UNO dhe ESP-01 mund të bëhen lehtësisht duke përdorur kabllo kërcyes dhe një dërrasë buke. Lidhjet midis bordit të zhvillimit Arduino dhe modulit ESP janë përshkruar në tabelë. Lidhjet RX dhe TX nuk përmbysen në këtë rast, pasi komunikimi nuk po ndodh midis modulit Arduino dhe ESP por midis ESP dhe kompjuterit. Pra, në këtë rast, bordi Arduino UNO përdoret si një urë serike përmes konvertuesit të tij USB në serial në bord.

Lidhja e kunjave RX midis bordit Arduino dhe modulit ESP duhet të bëhet përmes një ndarësi të tensionit, pasi ESP-01 funksionon në nivelin logjik 3.3 V dhe marrja e nivelit logjik 5 V nga Arduino UNO mund të dëmtojë modulin ESP. Ju mund të ndërtoni një ndarës të thjeshtë të tensionit 3.3 V duke përdorur vetëm 2 rezistorë siç tregohet në figurë. Opsionale, mund të përdorni një konvertues të nivelit logjik.

Kujdes: Për konfigurimin tim, unë thjesht i lidhja kunjat RX drejtpërdrejt (nuk këshillohet!) Dhe gjithçka funksionoi, por nëse vendosni të hiqni dorë nga konvertimi i nivelit logjik, vazhdoni me rrezikun tuaj!

Për të krijuar një lidhje të përbashkët Ground, kunja Arduino UNO Ground është e lidhur me kunjin e tokëzimit të modulit ESP.

Arduino UNO përdoret për të siguruar fuqi 3.3 V drejtpërdrejt në kunjin VCC të modulit ESP. Lidhni pinin 3.3 V në pjatën e bukës duke përdorur një tel kërcyes, pasi 3.3 V do të përdoret jo vetëm për kunjin VCC të ESP, por edhe kunjin CH_PD të ESP për të mundësuar çipin ESP.

Kodi RESET në Arduino UNO është i lidhur me Ground për të anashkaluar çdo kod të ngarkuar përmes Arduino në mënyrë që kodi të dërgohet nga kompjuteri në ESP-01.

Figura e tabelës tregon grupin e plotë të lidhjeve për ndezjen e firmuerit, por në këtë fazë, mos lidhni kunjat e ESP's Reset dhe GPIO_0 pasi ne do të lexojmë vetëm informacionin e firmuerit në hapin tjetër.

Hapi 2: Kontrolloni versionin e firmuerit

Kontrolloni versionin e firmuerit
Kontrolloni versionin e firmuerit

Për të gjetur versionin tuaj të firmuerit ESP-01, në Arduino IDE Serial Monitor, shkruani:

AT+GMR

Shënim: Të gjitha komandat AT duhet të shtypen me shkronja të mëdha pa hapësira.

Këtu është dalja serike për ESP-01 tim (moduli juaj ESP mund të mos tregojë saktësisht të njëjtin informacion pasi varet nga modeli specifik dhe data e lëshimit):

AT+GMR

Në versionin AT: 0.25.0.0 (Qershor 5 2015 16:27:16) Versioni SDK: 1.1.1 Ai-Thinker Technology Co. Ltd. Qershor 23 2015 23:23:50 OK

Tani, për të azhurnuar në firmware -in më të fundit zyrtar të Espressif ESP8266EX, shkoni te seksioni i burimeve në faqen e tij të internetit:

Shënim: Lista e firmuerit në dispozicion mund të mos jetë e gjitha në përputhje me modelin tuaj ESP-01. Kontrolloni seksionin Zgjidhja e problemeve në fund të këtij tutoriali për më shumë informacion.

Hapi 3: Përgatitja e konfigurimit: Para ndezjes së firmuerit

Përgatitja e konfigurimit: Para ndezjes së firmuerit
Përgatitja e konfigurimit: Para ndezjes së firmuerit

Tani, ne do të përgatisim Arduino UNO për procedurën e ndezjes së firmuerit ESP-01.

Sigurohuni që tela Arduino RESET të jetë shkëputur nga toka. Gjithashtu, telat TX dhe RX nga Arduino UNO duhet të shkëputen nga moduli ESP-01.

Hapni Arduino IDE dhe nga menyja e sipërme, shkoni te Skedari> Shembuj> 01. Bazat> BareMinimum. Ngarko skicën në Arduino UNO. Ky skicë bosh do të sigurojë që asnjë ndërhyrje komunikimi të mos ndodhë me modulin ESP.

Rilidhni kabllot RX dhe TX midis UNO dhe ESP-01. Gjithashtu, lidhni kunjin RESET të UNO me Ground.

Kunja CH_PD ose CH_EN qëndron për 'Chip Power-Down' ose 'Chip Enable' dhe duhet të tërhiqet LART HIGH ose të lidhet me 3.3 V në mënyrë që të mundësojë çipin ESP.

Dy kabllo kërcyes shtesë nevojiten për kunjat e mëposhtëm ESP: GPIO_0 dhe RESET.

GPIO_2 nuk përdoret dhe lihet i shkëputur.

ESP-01 duhet të vendoset në modalitetin e programimit në mënyrë që kodi të ngarkohet në të. Por ESP-01 nuk ka pajisjet e nevojshme shtesë në bord për ta arritur këtë drejtpërdrejt, kështu që të gjitha duhet të lidhen veç e veç. Për përdorimin tim, unë nuk u mërzita duke përdorur çelsin, por thjesht përdor dy kabllo kërcyes mashkull-femër të lidhura me kunjat GPIO_0 dhe RESET të modulit ESP-01 dhe i futa ato në kunjat e zakonshëm të Groundboard të breadboard nga Arduino UNO's Ground.

Para fillimit të procedurës së ndezjes, GPIO_0 është e lidhur me Ground për të gjithë procedurën e ndezjes për të mundësuar modalitetin e programimit.

Kunja RESET lidhet me Ground për një sekondë dhe më pas hiqet. Kjo lejon që firmware -i i ri të ngarkohet.

Hapi 4: Shkarkoni mjetin ndezës dhe firmuerin

Shkarkoni mjetin ndezës dhe firmuerin
Shkarkoni mjetin ndezës dhe firmuerin

Firmueri i përdorur është nga Espressif i cili është prodhuesi origjinal i çipit ESP8266.

Shkoni te: https://www.espressif.com/en/products/hardware/esp8266ex/resources për të hyrë në mjetet zyrtare dhe skedarët e firmware AT.

Nën skedën "Mjetet", shkarkoni Veglat e Shkarkimit Flash (ESP8266 & ESP32), aktualisht më i fundit është V3.6.8.

Nën skedën "AT", shkarkoni firmuerin më të fundit të pajtueshëm AT, i cili është ESP8266 AT Bin V1.6.2 për modelin tim ESP-01. Varet nga modeli ESP-01 pasi mund të ketë madhësi të ndryshme të memories flash. Ju do të gjeni më shumë informacion në lidhje me këtë në seksionin INFO të Zbuluar të programit Flash Download Tools pasi të klikoni në START për të filluar procedurën e ndezjes. Pra, nëse nuk jeni të sigurt për madhësinë e blicit ose cilat skedarë firmware të zgjidhni, thjesht ekzekutoni programin për të marrë informacionin e duhur në lidhje me modulin tuaj ESP.

Pas ndezjes, mund të përdorni komandat AT për të testuar dhe punuar me ESP-01. Shkarkoni grupin udhëzues zyrtar ESP8266 AT:

Hapi 5: Procedura e ndezjes

Procedura e ndezjes
Procedura e ndezjes
Procedura e ndezjes
Procedura e ndezjes
Procedura e ndezjes
Procedura e ndezjes
Procedura e ndezjes
Procedura e ndezjes

Nxirrni skedarin zip të Flash Download Tools dhe hapni skedarin exe. Sigurohuni që ta përdorni si administrator nëse përdorni Windows. Fillimisht do të hapet një dritare DOS, e ndjekur nga një dritare që shfaqet. Zgjidhni ESP8266 Tool Download. Kjo do të hapë një dritare me disa opsione të konfigurueshme.

Në këtë fazë, referojuni pamjes së ekranit për të parë saktësisht se cilat opsione të zgjidhni dhe çfarë të shtypni në kutitë e kodit gjashtëkëndësh pranë secilit prej skedarëve të zgjedhur të firmuerit.

Shënim: Zgjidhni skedarët e firmuerit në të njëjtën mënyrë pasi procedura e ndezjes bëhet në mënyrë sekuenciale. Skedari blank.bin duhet të zgjidhet tri herë siç tregohet në pamjen e ekranit të setit të udhëzimeve AT.

Për të gjetur kodet ose adresat e sakta gjashtëkëndore, kontrolloni dokumentin zyrtar të grupit të udhëzimeve AT. Unë kam bashkangjitur një pamje të tabelës që kam përdorur për ndezjen e modulit tim ESP.

Pastaj, thjesht shtypni butonin START dhe shikoni se si ndodh magjia. Teksti i butonit do të tregojë SYNC dhe seksioni INFO I Zbuluar do të shfaqë specifikimet e modulit tuaj ESP. Pastaj, teksti do të tregojë DOWNLOAD dhe shiriti i përparimit do të aktivizohet ndërsa skedarët e firmware ngarkohen në flash memorjen ESP. Pasi të keni përfunduar procedurën e ndezjes së firmuerit, do të shihni: FINISH.

Mbyllni programin Flash Download Tools. Kjo është e nevojshme për të liruar portin serik për të lejuar që Arduino IDE Serial Monitor të marrë përsipër.

Shkëputeni pinin ESP GPIO_0 nga lidhja Ground. Kjo do të çaktivizojë mënyrën e programimit.

Lidhni RESET me Ground për 1 sekondë dhe më pas shkëputeni. Kjo do të rivendosë modulin.

Hapni Arduino IDE. Nga menyja e sipërme, zgjidhni Tools> Port> zgjidhni portën e duhur COM. Hapni Serial Monitor dhe zgjidhni "Të dyja NL & CR" dhe zgjidhni normën e baudit prej 115200 e cila është ajo e paracaktuar.

Lloji:

AT

Nëse procedura e ndezjes shkoi si duhet, përgjigja do të jetë:

Ne rregull

Për të verifikuar firmware -in tuaj të ri, shkruani:

AT+GMR

Këtu është dalja e Monitorit Serial për ESP-01 tim:

AT+GMR

Në versionin AT: 1.6.2.0 (13 Prill 2018 11:10:59) Versioni SDK: 2.2.1 (6ab97e9) koha e përpilimit: Qershor 7 2018 19:34:26 Versioni i koshit (Wroom 02): 1.6.2 OK

Hapi 6: Ndryshoni Normën e Baudit në mënyrë të Përhershme

Ndryshoni Normën e Baudit Përgjithmonë
Ndryshoni Normën e Baudit Përgjithmonë

Kjo pjesë është fakultative. Shkalla e paracaktuar e baudit është 115200, por nëse doni ta ndryshoni atë në një shpejtësi tjetër baud, atëherë thjesht mund të shtypni komandën e mëposhtme në Arduino Serial Monitor.

Për shembull, nëse doni të ndryshoni në normën 9600 baud / 8 bit të dhënash / 1 bit stop / pa bit pariteti / pa kontroll të rrjedhës.

Shkruani në:

AT+UART_DEF = 9600, 8, 1, 0, 0

Përgjigja duhet të jetë:

Ne rregull

Komanda e mësipërme ndryshon normën e baudit përgjithmonë në 9600, por ju mund të zgjidhni ndonjë nga shpejtësitë standarde të baudit.

Hapi 7: Zgjidhja e problemeve

Zgjidhja e problemeve
Zgjidhja e problemeve
Zgjidhja e problemeve
Zgjidhja e problemeve

Nëse ka ndonjë anomali pas ndezjes së suksesshme të firmware -it, për shembull, në Serial Monitor, pasi të zgjidhni normën e paracaktuar të baud prej 115200 dhe shkruani: AT por mos shihni ndonjë përgjigje ose nëse shtypni AT+GMR dhe merrni ndonjë tjetër lloj informacioni përveç informacionit të versionit të firmuerit, atëherë mund të keni ndezur firmware -in e gabuar. Në atë rast, në programin Flash Download Tools, pasi të shtypni butonin START për të filluar procedurën e ndezjes së firmware -it, butoni i gjelbër i statusit lexon SYNC dhe kjo është faza ku informacioni i modulit ESP nxirret dhe vihet në dispozicion nën INFO TET DETEKTUAR. Ky informacion është thelbësor për të përcaktuar firmware -in e duhur dhe skedarët e duhur për t'u ndezur.

Më poshtë është për modulin tim ESP-01:

shitës flash:

E0h: N/A ndezje flash: 4014h QUAD; 8Mbit kristal: 26 Mhz

INFO-ja juaj e Zbuluar do të varet nga modeli ESP-01. Por kjo do t'ju lejojë të nxirrni madhësinë e saktë të blicit. Në ESP -në time, është 8Mbit që është ekuivalent me 1 MB. Pra, kjo do të thotë që unë duhet të zgjedh 512 KB + 512 KB nga skedarët e firmuerit. Dhe kjo gjithashtu do të thotë që firmware 1.7.0 ose 1.7.1 nuk do të funksionojë siç duhet për modulin tim ESP, të cilin gjithashtu e konfirmova duke ndezur këto firmware dhe testime. Gjithashtu, në përshkrimin e firmuerit 1.7.0 dhe 1.7.1 në faqen zyrtare të internetit të burimeve Espressif, listohen informacionet e mëposhtme: "E kufizuar nga madhësia e skedarit AT bin, vetëm` 1024+1024 flash map 'mbështetet nga e paracaktuar ". 1024+1024 do të thotë që është për një modul ESP me një madhësi totale të blicit 2048 KB ose 2 MB.

Shënim: Në rast se pyesni veten, mund të ulni ose përmirësoni versionet e ndryshme të firmware -it pa asnjë kufizim. Nëse diçka shkon keq, thjesht mund të ndizni përsëri me parametra të ndryshëm ose të provoni një firmware të ndryshëm.

Recommended: