Kazalo:
- 1. korak: plošča Wemos D1 Mini ESP8266
- 2. korak: Priprava na MicroPython na čipu ESP
- 3. korak: Začnite uporabljati MiPy-ESP
- 4. korak: Okvirna arhitektura MiPy-ESP
- 5. korak: Priprava kode projekta
- 6. korak: Sestavljanje in nalaganje kode v mikrokrmilnik
Video: Začetek uporabe Pythona za ESP8266 in ESP32: 6 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
Podlaga
ESP8266 in njegov mlajši veliki brat ESP32 sta nizkocenovna mikročipa Wi-Fi s polnim skladom TCP/IP in zmožnostjo mikrokrmilnika. Čip ESP8266 je prvič pritegnil pozornost proizvajalcev že leta 2014. Od takrat so nizka cena (<5 USD), njegova zmogljivost Wi-Fi, vgrajen pomnilnik 1 ali 4 MB in različne razpoložljive možnosti razvoja plošče, je čip ESP postal eden izmed najbolj priljubljenih mikrokrmilnikov za projekte WiFi in IoT DIY.
MicroPython je vitka in učinkovita implementacija vse bolj priljubljenega programskega jezika Python, ki vključuje majhno podmnožico standardne knjižnice Python in je optimiziran za delovanje na mikrokrmilnikih.
Kombinacija teh dveh je zelo zanimiva možnost za DIY projekte, tako za začetnike kot za naprednejše uporabnike.
Projekt MiPy-ESP
Že leta 2015 so se moji prvi projekti z ESP8266 začeli s čipom ESP-01 z uporabo Arudions za izvajanje ukazov AT čipov prek serijske povezave. Po tem sem v naslednjih letih za programiranje čipov z jezikom C ++ uporabil jedro Arduino za ESP8266. To dobro deluje, toda za navdušenca nad Pythonom je bilo moje odkritje implementacije MicroPythona Python 3 odlična novica.
Projekt MiPy-ESP je prilagodljiv okvir, ki uporablja MicroPython za projekte Python IoT s polno paleto mikro krmilnikov družine ESP.
Okvir je razvila skupina za razvijalce programske opreme LeGarage Technical Comitetee (LG-TC-SWDT-01), katere namen je nadomestiti že uveljavljeno kodo, ki temelji na C ++, za naše aplikacije za mikrokrmilnik.
Projekt ponuja osnovne funkcije, kot so
- Postopki povezovanja v omrežje
- Spletni strežnik za dostop do čipov (za povezavo Wi -Fi in prikazovanje spletnih strani čipov za podatkovni V/I)
- MQTT funkcionalnosti
- Zapisovanje/odpravljanje napak
- Načrtovanje dogodkov mikrokrmilnika
- Vhodno/izhodne strojne rutine
Z enim glavnim kompaktnim kodnim skriptom (main.py), vsi z globalno konfiguracijo (config.py).
Ta koda mikrokrmilnika deluje z robustnim vzdrževanjem povezav čipov z omrežjem WiFi in posredniki MQTT. Obstoječe module MicroPython za različno strojno opremo je mogoče enostavno integrirati v sistem.
Okvir MiPy-ESP je postal hrbtenica vseh naših projektov IoT elektronike za hobije, ki vključujejo mikrokrmilnike družine ESP. Preizkušeno je bilo na več ploščah družine ESP, kot so plošče NodeMCU, Wemos in Lolin.
Naslednja vadnica je vodnik, kako začeti z mikrokrmilniki družine ESP in MicroPythonom z ogrodjem MiPy-ESP.
1. korak: plošča Wemos D1 Mini ESP8266
Okvir MiPy-ESP deluje z večino mikrokrmilnikov na osnovi ESP8266.
Mini razvojna plošča Wemos D1 temelji na čipu ESP-8266EX. Na površini 2,5 x 3,5 cm ima 4 MB pomnilnika flash, 11 digitalnih vhodno/izhodnih zatičev, vse zatiče podpira prekinitev, PWM, I2C, SPI, zaporedni in 1 analogni vhod z največjim vhodom 3,3 V, lahko deluje pri 5 V moči, ima priključek micro USB in je združljiv s ploščo. Nizka cena in majhnost sta postala moja najljubša plošča ESP.
Poleg tega ima različica plošče D1 mini pro možnost priključitve zunanje antene, kar znatno poveča domet povezave (domet +100 m). Poleg tega je plošča opremljena tudi z različnimi ploščami podaljškov, ki so izven škatle, s podobno kompaktno velikostjo.
2. korak: Priprava na MicroPython na čipu ESP
V tem prvem koraku boste
- Ploščo ESP povežite z računalnikom prek USB -ja
- Namestite programsko opremo Esptool za utripanje čipa
- Izbrišite pomnilnik čipa
- Utripajte čip z vdelano programsko opremo MicroPython
- Namestite Rshell, da omogočite interakcijo ukazne vrstice s svojim čipom
- Namestite mpy-cross (za sestavljanje datotek.py v binarno datoteko)
Če ploščo povežete z računalnikom prek plošč USB z vgrajenimi serijskimi vrati USB, bo UART na voljo za vaš računalnik in je najlažja možnost za začetek. Za plošče brez povezave USB lahko uporabite modul FTDI z USB -jem za serijsko povezavo za priključke GPIO za utripanje, povezane z zunanjim svetom, vendar to ni obravnavano v tem vodiču.
Za MicroPython, ki uporablja kodo MiPy-ESP, je minimalna zahteva za velikost bliskavice čipa 1 MB. Obstaja tudi posebna konstrukcija za plošče s 512 KB, vendar ta nima podpore za datotečni sistem, od katerega je odvisen MiPy-ESP.
Ko uporabljate kabel USB, ploščo napaja računalnik, medtem ko je priključena. To omogoča tudi programiranje in odpravljanje napak prek serijske povezave. Ko je koda projekta naložena in je vaš projekt razmeščen, se preko zatičev za napajanje plošče napaja zunanje napajanje.
Namestitev programa Esptool Informacije o programski opremi Esptool najdete v skladišču Esptool GitHub. Če želite uporabljati Windows/Linux/OSX (MAC), to zajema tudi zgornja povezava. Paket Python lahko namestite z
pip install esptool
Za uporabnike Linuxa se paketi za Esptool vzdržujejo za Debian in Ubuntu in jih je mogoče namestiti tudi z
sudo apt namestite esptool
Brisanje bliskovnega pomnilnika ESP Z uporabo programa Esptool nato z ukazom izbrišete pomnilnik ESP
esptool.py --port /dev /ttyUSB0 erase_flash
Prenos vdelane programske opreme MicroPyton Vdelana programska oprema MicroPython je v datoteki.bin, ki jo lahko prenesete s spletnega mesta MicroPython.
Trenutna glavna veja projekta repo je bila preizkušena in deluje z Micropythonom v.1.12. Če želite zagotoviti uspeh z okvirom MiPY-ESP, s te povezave prenesite datoteko 'esp8266-20191220-v1.12.bin' in vnesite vdelano programsko opremo na čip z ukazom:
esptool.py --port /dev /ttyUSB0 --baud 460800 write_flash --flash_size = zaznati 0 esp8266-20191220-v1.12.bin
Namestitev Rshell Paket Rshell omogoča interakcijo ukazne vrstice z okoljem MicroPython, nameščenim na čipu. Najdete ga na tej povezavi. Rshell je preprosta lupina, ki deluje na gostitelju in uporablja MicroPythonov raw-REPL za pošiljanje delčkov pythona na pyboard, da bi dobili informacije o datotečnem sistemu ter za kopiranje datotek v datotečni sistem MicroPython in iz njega. REPL pomeni Read Evaluate Print Loop in je ime za interaktivni poziv MicroPython, do katerega lahko dostopate na ESP8266. Uporaba REPL je daleč najlažji način, da preizkusite svojo kodo in zaženete ukaze. Namestite Rshell z ukazom:
sudo pip namestite rshell
Namestitev prevajalnika mpy-cross MicroPython je mogoče uporabiti z datotekami ascii.py, naloženimi v datotečni sistem čipov. MicroPython opredeljuje tudi koncept datotek.mpy, ki je binarna oblika datoteke vsebnika, ki vsebuje vnaprej sestavljeno kodo, in jo je mogoče uvoziti kot običajen modul.py. S prevajanjem datotek.py v.mpy bo za vašo delujočo kodo na voljo več pomnilnika RAM - to je potrebno za delujoč jedrni modul okvira MiPy -ESP.
Za uvedbo kode MiPy-ESP navzkrižni prevajalnik mpy-cross MicroPython pred nalaganjem čipa prevede skripte.py v.mpy. Namestite paket mpy-cross po navodilih na tej povezavi. Druga možnost je, da lahko ukaz mpy-cross namestite z ukazom Python pip ali zaženete s poti mape mpy-cross, če tukaj klonirate skladišče MicroPython iz GitHub-a.
Zdaj imate nameščen MicroPython in vsa potrebna orodja za začetek gradnje vašega prvega projekta MiPy-ESP
3. korak: Začnite uporabljati MiPy-ESP
V tem koraku boste
Prenesite ogrodje MyPy-ESP
Prenos ogrodja MiPy-ESP Projekt MiPy-ESP najdete na spletnem mestu GitHub v tem skladišču kod. Iz GitHub -a lahko prenesete datotečno strukturo skladišča ali jo klonirate v računalnik z
git clone
Ko je v računalniku nameščeno skladišče kod, imate zdaj vse kodne module, ki jih potrebujete za izdelavo že pripravljenega projekta ESP IoT. Več podrobnosti o orodju v naslednjem koraku.
4. korak: Okvirna arhitektura MiPy-ESP
V tem koraku boste
spoznajte potek dela kode MiPy-ESP
Arhitektura kode MiPy-ESP
Vsi ogrodni moduli Python so v mapi /src shrambe kod MiPY-ESP. Mapa src/core vsebuje jedrne module, ki so vključeni v vsak projekt. Mapa src/drivers vsebuje izbor modulov za različno strojno opremo, ki je povezana z vašim čipom. Mapa src/utilities vsebuje izbirne pomožne module, ki jih je treba vključiti v vaš projekt.
Datoteki main.py in config.py najdemo v mapi src/. To so glavne datoteke za urejanje vašega projekta:
config.py:
Ta datoteka je globalna konfiguracijska datoteka za vaš projekt. Ima različne nastavitve, vse z opisnimi komentarji v datoteki.
main.py:
To je glavni skript za kodno zanko mikrokrmilnika. Vsebuje kodo za aplikacijo v okviru. Po zagonu čipa se main.py zažene in uvozi vse module, odvisne od projekta, z danimi vhodi iz datoteke config.py. Zgornji diagram poteka prikazuje postavitev skripta main.py.
Zgornja slika opisuje potek dela main.py:
- Po zagonu koda poskuša povezati čip z omrežjem Wi-Fi. Prej uporabljena omrežja in njihova gesla (šifrirana na čipu) so shranjena v pomnilniku flash. Mrežni SSID-ji in njihova gesla so na voljo v datoteki wifi.json v obliki {" SSID1 ":" Geslo "," SSID ":" Geslo2 "}. Dana omrežja v tej datoteki so shranjena, gesla šifrirana in datoteka se ob zagonu izbriše.
- Če še ni znanih omrežij, koda nastavi spletni strežnik dostopne točke (AP). SSID strežnika AP za čip in geslo sta nastavljena v datoteki config.py. S prijavo na SSID čipa se na 192.168.4.1 prikaže spletna stran za prijavo čipa v Wi-Fi. Zaznana omrežja so prikazana v meniju ali pa lahko SSID vnesete ročno (skrita omrežja) skupaj z geslom za Wi-Fi. Po uspešni povezavi čipa z omrežjem Wi-Fi se strežnik AP izklopi in koda main.py nadaljuje z naslednjimi koraki.
-
V razdelku za nastavitev main.py,
- opredeljene so funkcije za opravila in povratne klice (itd. povratne klice MQTT) in redni dogodki.
- Nastavljena so različna časovno omejena opravila za izvajanje funkcij.
- Odjemalec posrednika MQTT je vzpostavljen
-
Koda nato gre v zanko glavnega mikrokrmilnika,
- nenehno preverjanje omrežnih in posredniških povezav MQTT,
- Naročnine na MQTT,
- strojni V/I
- in načrtovana dela.
- Ob izgubi omrežne ali posredniške povezave MQTT koda poskuša znova vzpostaviti.
5. korak: Priprava kode projekta
V tem koraku boste
- spoznajte strukturo datotek skladišča MiPy-ESP
- kodo projekta pripravite za nalaganje čipov
Struktura map skladišča Zgornja slika opisuje strukturo map skladišča in navaja trenutne module ogrodja. Vaš projekt je faza v mapi src/. Osnovni okvirni moduli MiPy-ESP se nahajajo v src/core, izbirni pomožni moduli v src/utilities in moduli strojne opreme v src/drivers.
Večina razpoložljivih knjižnic strojne opreme MicroPython lahko gredo v gonilnike/ mapo brez kakršnih koli sprememb. Vsi prisotni gonilniki so preizkušeni z ogrodjem MiPy-ESP. V zvezi z moduli v pripomočkih/ mapi bo dodanih več, ko bodo zaživeli.
Prireditev kode projekta Vaša koda za projekt mora biti v mapi src/. Že tam sta datoteki main.py in config.py, ki ju lahko urejate. Kopirajte tudi želene pripomočke projekta iz src/utilities in src/drivers v src/.
Če želite v čip dodati znana omrežja Wi-Fi in gesla, dodajte datoteko wifi.json v src/.
Sestavljanje in priprava na nalaganje Na voljo Makefile lahko uporabite za pripravo datotek za prenos na čip s sestavljanjem datotek.py v / src, sestavljanjem osnovnih modulov in prenosom prevedenih datotek v novo mapo z imenom build / z ukazom
izdelati
Vgrajene datoteke so pripravljene za nalaganje v datotečni sistem čipov. Main.py in config.py privzeto nista prevedena v binarno datoteko, da bi lažje dostopali do njih za pregled nameščenih čipov. Ukaz:
očistiti
Izbriše gradnjo/ mapo in njeno vsebino.
6. korak: Sestavljanje in nalaganje kode v mikrokrmilnik
V tem razdelku boste
- naložite pripravljene datoteke v build/ iz zadnjega razdelka
- zaženite in spremljajte delujočo kodo
Nalaganje gradnje/ datotek z Rshell
Naložite vse datoteke v imenik /build na čip ESP z uporabo Rshell. Ko je mikrokrmilnik priključen na USB, iz gradnje/ mape zaženite Rshell z ukazom
rshell -p /dev /ttyUSB0
Nato preglejte datoteke čipov (če obstajajo) do
ls /pyboard
Vse datoteke na čipu lahko izbrišete z
rm /pyboard/*.*
Kopirajte vse projektne datoteke v build/ na čip:
cp *. * /pyboard
Nato z ukazom zaženite interaktivni terminal Python
repl
Zdaj lahko prikličete ukaze Python ali uvozite module in spremljate serijski izhod čipa iz modula zapisovalnika MiPy-ESP.
Znova zaženite čip s pritiskom na gumb za ponastavitev ali iz ukazne vrstice z
import main
ali
uvozni stroj
in potem
machine.reset ()
Odvisno od vaših nastavitev beleženja/odpravljanja napak v konfiguracijski datoteki projekta bo repl zdaj po serijski povezavi prikazal sporočila o odpravljanju napak iz čipa ESP.
Upajmo, da bo to začelo.
Priporočena:
Začetek uporabe brezžičnih senzorjev temperature in vibracij na dolge razdalje: 7 korakov
Kako začeti z brezžičnimi senzorji temperature in vibracij na dolge razdalje: Včasih so vibracije vzrok resnih težav v mnogih aplikacijah. Od gredi in ležajev strojev do zmogljivosti trdega diska vibracije povzročijo poškodbe stroja, zgodnjo zamenjavo, nizko zmogljivost in močno vplivajo na natančnost. Spremljanje
Začetek uporabe Amazon AWS IoT in ESP8266: 21 korakov
Začetek uporabe Amazon AWS IoT in ESP8266: Ta projekt vam prikazuje, kako vzeti modul ESP8266 in ga z OS Mongoose povezati neposredno z AWS IOT. Mongoose OS je odprtokodni operacijski sistem za mikrokrmilnike, ki poudarja povezljivost v oblaku. Razvil jo je dublinski Cesanta
Začetek uporabe MicroPythona na ESP8266: 10 korakov (s slikami)
Začetek uporabe MicroPythona na ESP8266: Ali želite drugačen način programiranja plošč, ki temeljijo na ESP8266, namesto običajne metode z uporabo Arduino IDE skupaj s programskim jezikom C/C ++? V tej vadnici se bomo naučili, koga konfigurirati in nadzorovati ESP8266 plošča z uporabo MicroPython.BUIL
Začetek uporabe Arduina in ESP8266: 11 korakov
Začetek uporabe Arduina in ESP8266: ESP8266 se lahko uporablja kot neodvisen mikrokrmilnik z vgrajenim Wi-Fi in dvema zatičema GPIO ali pa ga lahko uporabite z drugim mikrokrmilnikom prek serijske komunikacije, da mikrokontrolerju omogočite povezavo Wi-Fi. Lahko bi ga uporabili za izdelavo IoT
ESP8266-NODEMCU 3 $ WiFi modul #1- Začetek uporabe WiFi: 6 korakov
ESP8266-NODEMCU $ 3 WiFi modul #1- Začetek delovanja z WiFi: Prišel je nov svet teh mikroračunalnikov in to je ESP8266 NODEMCU. To je prvi del, ki prikazuje, kako bi lahko namestili okolje esp8266 v svoj arduino IDE prek videoposnetka o začetku in kot so deli