Ako naprogramovať WI-FI čip ESP-01

Ako naprogramovať WI-FI čip ESP-01
Miroslav Pivovarsky Pridal  Miroslav Pivovarsky
  1498 zobrazení
5
 0
Zaujímavé zapojenia

Existuje veľké množstvo modulov s WI-FI čipom ESP8266, s rôznymi veľkosťami. Mňa zaujala najmenšia verzia modulu s čipom ESP8266 , a to konkrétne modul ESP-01. Tento modul je zaujímavý svojou veľkosťou a aj svojimi parametrami.

Opis modulu

  • Veľkosť modulu približne 25x15mm
  • WI-FI čip ESP8266
  • Veľkosť FLASH pamäte 1MB vo verzii s čiernou doskou od AI-cloud a 512kb v modrej verzii PCB, základnej manufaktúrnej verzii.
  • Veľkosť sRAM pamäte 80KB
  • Napájacie napätie 3,3V
  • Logická úroveň pre GPIO 3,3V
  • Podpora WI-FI noriem 802.11/b/g/n
  • Integrovaný TCP/IP protokol stack
  • Podpora WI-FI security WPA, WPA2
  • 2x digitálny vstup/vystup

 

 

Opis

Základná verzia ESP-01 od Ai-cloud používa AT príkazy pre komunikáciu s externým MCU. V tejto verzii je už napálený firmware v ESP-01, ktorý využíva pre komunikáciu s okolitým svetom AT príkazy cez UART rozhranie. Zoznam týchto AT príkazov nájdete na internete. Tieto AT príkazy podporujú napríklad pripojenie modulu k WI-FI sieti, vytvorenie AP z WI-FI modulu, pripojenie sa na TCP-IP server, pripojenie na http server, a veľa ďalšieho. V prípade, že chcete do spomínaného ESP-01 dostať vlastný firmware, a používať MCU ESP-8266 ako štandardný MCU, musíte si vyrobiť vlastný programátor. Jestvuje veľa čínskych programátorov pre ESP-01 modul, ale na tie si musíte dať pozor. Základným dôvodom je, že v čínskych e-shopoch označia za ESP-01 programátor dosku, ktorá nie je programovacia, ale je to iba USB-UART prevodník, pre prácu s AT príkazmi.  Nezabudnite si dať pozor na spotrebu prúdu pre modul. MCU ESP-8266 sa považuje za "low power WI-FI MCU", keďže môže mať v "Deep-Sleep" móde spotrebu okolo 10uA. No pri maximálnom vyťažení môže byť spotreba prúdu až 170mA počas komunikácie s WI-FI sieťou.

Schéma zapojenia

Schéma zapojenia pozostáva z jedného prepínača, tlačidla, stabilizátora napätia a pár rezistorov.

Stabilizátor napätia je potrebný, keďže ESP-01 potrebuje napájacie napätie 3,3V. Komunikácia s ESP-01 cez UART rozhranie tiež prebieha na napäťovej úrovni 3,3V. Pozor, štandardné Arduino komunikuje logickou  úrovňou 5V, čo môže nenávratne poškodiť ESP-01 modul. Z toho dôvodu je potrebné na RX vstup modulu ESP-01 použiť napäťový delič, ktorý spraví z 5V približne 3,3V. Existujú špeciálne integrované obvody "logic level convertor" pre upravenie napäťových úrovní, avšak v tomto prípade je postačujúci napäťový delič. Na TX výstup modulu ESP-01 nie je potrebné pridávať nič, keďže 3,3V je stále v tolerancii. Ďalej je použitý jeden prepínač, ktorým určujeme či budeme modul programovať, alebo s ním komunikovať, a taktiež tlačidlo  RESET.

 

Konštrukcia

Pre komunikáciu s programátorom, použijeme štandardný čínsky USB to UART prevodník, s možnosťou nastavenia logickej napäťovej úrovne. Možnosť nastavenia logickej úrovne v tomto prípade nevyužijeme. Tento prevodník využíva FT232RL čip, ale nie je vždy dodaný s originálnym čipom.

Aktuálne zatiaľ nemám vyrobený plošný spoj, takže som si konštrukciu osadil a otestoval na univerzálnom spájkovacom poli. Výsledný efekt so zapojeným prevodníkom a WI-FI modulom je nasledovný:

Použitie

USB to UART prevodník nastavíme na logickú úroveň 5V. Vďaka tomu budeme mať  na výstupe napájacie napätie z prevodníka 5V, a aj komunikáčnú logickú úroveň na 5V.
Ďalej si doinštalujeme podporu ESP8266 MCU do Arduino IDE. Nájdeme to v časti "tools-> Board -> Board manager" kde do vyhľadávača napíšeme ESP8266 a následne si nainštalujeme podporu ESP8266 modulov.

Následne si v časti "tools->board" vyberieme dosku "Generic ESP8266"

Môžeme si napríklad otvoriť example pre http WEB server, z  "file->example->ESP8266WebServer->HelloServer". Ostáva už iba upraviť prihlasovacie údaje pre vašu WI-FI sieť, skompilovať zdrojový kód a nahrať ho do modulu ESP-01.
Pred tým ako spustíme nahrávanie zdrojového kódu do modulu ESP-01, musíme prepnúť prepínač GPIO01 do polohy, kedy bude uzemnený GPIO01 pin. Potom stlačíme tlačidlo v Arduino IDE pre začatie kompilovania a nahrávania zdrojového kódu do MCU. Po kompilácii uvidíme v konzole, ako sa Arduino IDE pokúša spojiť s modulom ESP-01.

V poslednom riadku nasledujúceho okna si môžete všimnúť text "Connecting" a ako pribúdajú bodky a podtržníky. Vtedy stlačíme tlačidlo RESET, a mali by sme vidieť ako sa spustilo nahrávanie zdrojového kódu do modulu ESP-01.

Na obrázku vidíme, že prebieha nahrávanie zdrojového kódu. Po nahratí zdrojového kódu do modulu ESP-01 uvidíme hlášku "Hard reseting via RTS pin..."

Potom prepneme prepínač GPIO01 do polohy, kedy GPIO01 pin nie je spojený so zemou a stlačíme tlačidlo RESET, pre reset modulu ESP-01. Po tejto sekvencii nabootuje modul ESP-01 s naším zdrojovým kódom, a je možné pozerať výstup sériovej konzoly napríklad v monitore cez Arduino IDE.

Aktuálny programátor využíva externý USB to UART prevodník a prepínač s tlačidlom pre programovanie. Pracujem na vývoji PCB, kde bude USB to UART prevodník už na doske, kde táto doska bude používať automaticky reset MCU a nastavenie pinov pre programovanie MCU ESP8266.

 

V prípade, ak by ste mali záujem o plošné spoje programátora ma môžete kontaktovať.

Odkazy

Kúpiť v e-shope

Datasheet ESP- 01 - klikni

Ďakujem za prečítanie článku, dúfam že vás konštrukcia zaujala.

Máte otázky? Kontaktujte ma - klikni

Become a Patron!



Páčil sa Vám článok? Pridajte k nemu hodnotenie, alebo podporte jeho autora.
 

       

Komentáre k článku

Zatiaľ nebol pridaný žiadny komentár k článku. Pridáte prvý? Berte prosím na vedomie, že za obsah komentára je zodpovedný užívateľ, nie prevádzkovateľ týchto stránok.
Pre komentovanie sa musíte prihlásiť.

Vaša reklama na tomto mieste

Vyhľadajte niečo na našom blogu

PCBWay Promo

ourpcb Promo

PCBWay Promo

ourpcb Promo

PCBWay Promo

ourpcb Promo


Webwiki Button