![Darba sākšana ar Python ESP8266 un ESP32: 6 soļi Darba sākšana ar Python ESP8266 un ESP32: 6 soļi](https://i.howwhatproduce.com/images/003/image-6141-j.webp)
Satura rādītājs:
2025 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2025-01-23 14:59
![Darba sākšana ar Python ESP8266 un ESP32 Darba sākšana ar Python ESP8266 un ESP32](https://i.howwhatproduce.com/images/003/image-6141-1-j.webp)
Bacground
ESP8266 un tā jaunākais lielais brālis ESP32 ir zemu izmaksu Wi-Fi mikroshēmas ar pilnu TCP/IP steku un mikrokontrollera iespējām. ESP8266 mikroshēma ražotāju kopienas uzmanības lokā pirmo reizi nonāca 2014. gadā. Kopš tā laika zemā cena (<5 USD), tās Wi-Fi iespējas, iebūvēta 1 vai 4 MB zibatmiņa un dažādas pieejamās izstrādes iespējas dēļi, ir padarījis ESP mikroshēmu par vienu no populārākajiem mikrokontrolleriem WiFi un IoT DIY projektiem.
MicroPython ir vienkārša un efektīva arvien populārākās Python programmēšanas valodas ieviešana, kas ietver nelielu Python standarta bibliotēkas apakškopu un ir optimizēta darbībai ar mikrokontrolleriem.
Šo divu kombinācija ir ļoti interesanta iespēja DIY projektiem gan iesācējiem, gan pieredzējušākiem lietotājiem.
Projekts MiPy-ESP
Vēl 2015. gadā mani pirmie projekti ar ESP8266 sākās ar mikroshēmu ESP-01, izmantojot Arudions, lai palaistu mikroshēmas AT komandas, izmantojot seriālo savienojumu. Pēc tam nākamajos gados es izmantoju Arduino kodolu ESP8266 mikroshēmu programmēšanai ar C ++ valodu. Tas darbojas labi, taču Python entuziastam mans atklājums par Python 3 MicroPython ieviešanu bija lieliska ziņa.
Projekts MiPy-ESP ir elastīgs ietvars, kurā tiek izmantots MicroPython pilna kaudzes Python IoT projektiem ESP ģimenes mikrokontrolleros.
Sistēmu ir izstrādājusi LeGarage tehniskās komitejas programmatūras izstrādātāju komanda (LG-TC-SWDT-01), kuras mērķis ir aizstāt jau izveidoto kodu, kas balstīts uz C ++, mūsu mikrokontrolleru lietojumprogrammām.
Projekts nodrošina tādas pamatfunkcijas kā
- Tīkla savienošanas procedūras
- Mikroshēmas piekļuves punkta tīmekļa serveris (Wi -Fi savienojumam un mikroshēmu tīmekļa lapu apkalpošanai datu I/O)
- MQTT funkcijas
- Reģistrēšana/atkļūdošana
- Mikrokontrollera notikumu plānošana
- Aparatūras I/O rutīnas
Ar vienu galveno kompakto koda skriptu (main.py), visi ar globālu konfigurāciju (config.py).
Šis mikrokontrollera kods darbojas, stingri uzturot mikroshēmu savienojumus ar WiFi tīklu un MQTT brokeriem. Esošos MicroPython moduļus dažādām aparatūrām var viegli integrēt sistēmā.
MiPy-ESP ietvars ir kļuvis par visu mūsu hobiju elektronikas IoT projektu mugurkaulu, kuros iesaistīti ESP ģimenes mikrokontrolleri. Tas ir pārbaudīts vairākās ESP ģimenes plāksnēs, piemēram, NodeMCU, Wemos un Lolin dēļos.
Šī apmācība ir ceļvedis, kā sākt darbu ar ESP ģimenes mikrokontrolleriem un MicroPython, izmantojot MiPy-ESP ietvaru.
1. darbība: Wemos D1 Mini ESP8266 plate
![Wemos D1 Mini ESP8266 dēlis Wemos D1 Mini ESP8266 dēlis](https://i.howwhatproduce.com/images/003/image-6141-2-j.webp)
![Wemos D1 Mini ESP8266 dēlis Wemos D1 Mini ESP8266 dēlis](https://i.howwhatproduce.com/images/003/image-6141-3-j.webp)
![Wemos D1 Mini ESP8266 dēlis Wemos D1 Mini ESP8266 dēlis](https://i.howwhatproduce.com/images/003/image-6141-4-j.webp)
![Wemos D1 Mini ESP8266 dēlis Wemos D1 Mini ESP8266 dēlis](https://i.howwhatproduce.com/images/003/image-6141-5-j.webp)
MiPy-ESP ietvars darbojas ar lielāko daļu mikrokontrolleru, kuru pamatā ir ESP8266.
Wemos D1 mini izstrādes dēļa pamatā ir mikroshēma ESP-8266EX. Tā izmērs ir 2,5 x 3,5 cm, tai ir 4 MB zibatmiņa, 11 digitālās ieejas/izejas tapas, visas tapas atbalsta pārtraukumu, PWM, I2C, SPI, sērijveida un 1 analogā ieeja ar maksimālo 3,3 V ieeju, var darboties ar 5 V jaudu, ir micro USB savienojums un ir saderīgs ar maizi. Zemā cena un mazais izmērs ir padarījis to par manu iecienītāko ESP plāksni.
Turklāt plates D1 mini pro versijai ir pievienota iespēja pievienot ārēju antenu, ievērojami palielinot savienojuma diapazonu (+100 m diapazons). Papildinot to, dēlis ir aprīkots arī ar dažādiem līdzšinējiem kompaktiem izmēriem.
2. darbība. Gatavojieties MicroPython lietošanai ESP mikroshēmā
![Gatavošanās MicroPython lietošanai ESP mikroshēmā Gatavošanās MicroPython lietošanai ESP mikroshēmā](https://i.howwhatproduce.com/images/003/image-6141-6-j.webp)
Šajā pirmajā solī jūs to darīsit
- Savienojiet ESP paneli, izmantojot USB, ar datoru
- Instalējiet Esptool programmatūru mikroshēmas mirgošanai
- Dzēst mikroshēmas atmiņu
- Zibspuldze ar MicroPython programmaparatūru
- Instalējiet Rshell, lai iespējotu komandrindas mijiedarbību ar mikroshēmu
- Instalējiet mpy-cross (.py failu apkopošanai binārajā versijā)
Plātnes pievienošana datoram, izmantojot USBBoards ar iebūvētu USB seriālo portu, padara UART pieejamu jūsu datoram un ir vienkāršākais veids, kā sākt darbu. Plātnēm bez USB savienojuma FTDI moduli ar USB sērijveida var izmantot, lai savienotu mirgošanai paredzētās GPIO tapas, kas savienotas ar ārpasauli, taču šajā apmācībā tas nav apskatīts.
MicroPython, kas izmanto MiPy-ESP kodu, minimālā prasība mikroshēmas zibspuldzes izmēram ir 1 MB. Ir arī īpaša būve dēļiem ar 512 KB, taču tas neatbalsta failu sistēmu, no kuras ir atkarīgs MiPy-ESP.
Izmantojot USB kabeli, dators tiek barots, kamēr ir pievienots. Tas arī ļauj programmēt un atkļūdot, izmantojot seriālo savienojumu. Kad projekta kods ir augšupielādēts un jūsu projekts ir izvietots, tāfeles barošanas tapām tiek izmantota ārējā barošana.
Informāciju par Esptool programmatūru var atrast Esptool GitHub krātuvē. Ja vēlaties izmantot Windows/Linux/OSX (MAC), iepriekš minētā saite to arī aptver. Python pakotni var instalēt
pip instalēt esptool
Linux lietotājiem Esptool pakotnes tiek saglabātas Debian un Ubuntu, un tās var arī instalēt
sudo apt instalēt esptool
Izmantojot Esptool, pēc tam ar komandu izdzēšat ESP zibatmiņu
esptool.py --port /dev /ttyUSB0 erase_flash
MicroPyton programmaparatūras lejupielāde MicroPython programmaparatūra atrodas.bin failā, kuru var lejupielādēt no MicroPython vietnes.
Repo pašreizējā projekta galvenā filiāle ir pārbaudīta un darbojas ar Micropython v.1.12. Lai nodrošinātu panākumus ar MiPY-ESP ietvaru, no šīs saites lejupielādējiet failu 'esp8266-20191220-v1.12.bin' un ierakstiet programmaparatūru mikroshēmā ar komandu:
esptool.py --port /dev /ttyUSB0 --baud 460800 write_flash --flash_size = atklāt 0 esp8266-20191220-v1.12.bin
Rshell pakotne nodrošina komandrindas mijiedarbību ar mikroshēmā instalēto MicroPython vidi. To var atrast šajā saitē. Rshell ir vienkāršs apvalks, kas darbojas saimniekdatorā un izmanto MicroPython raw-REPL, lai nosūtītu python fragmentus uz tastatūru, lai iegūtu informāciju par failu sistēmu un kopētu failus uz MicroPython failu sistēmu un no tās. REPL apzīmē lasīšanas novērtēšanas drukas ciklu, un tas ir nosaukums interaktīvajai MicroPython uzvednei, kurai varat piekļūt, izmantojot ESP8266. REPL izmantošana ir vienkāršākais veids, kā pārbaudīt kodu un palaist komandas. Instalējiet Rshell ar komandu:
sudo pip instalējiet rshell
Mpy-cross kompilatora MicroPython instalēšanu var pielietot ar ascii.py failiem, kas augšupielādēti mikroshēmu failu sistēmā. MicroPython definē arī.mpy failu jēdzienu, kas ir bināra konteinera faila formāts, kurā ir iepriekš apkopots kods un kuru var importēt kā parastu.py moduli. Apkopojot.py failus uz.mpy, jūsu darbības kodam būs pieejama vairāk RAM atmiņas - un tas ir nepieciešams, lai būtu funkcionējošs MiPy -ESP ietvara pamatmodulis.
MiPy-ESP koda izvietošanai mpy-cross MicroPython krusteniskais kompilators pirms mikroshēmas augšupielādes apkopo.py skriptus uz.mpy. Instalējiet mpy-cross pakotni, izmantojot šajā saitē sniegtos norādījumus. Alternatīvi, komandu mpy-cross var instalēt ar komandu Python pip vai palaist no mpy-cross mapes ceļa, ja šeit klonējat MicroPython krātuvi no GitHub.
Tagad jums ir instalēts MicroPython un visi nepieciešamie rīki, lai sāktu veidot savu pirmo MiPy-ESP projektu
3. darbība. Darba sākšana ar MiPy-ESP
![Darba sākšana ar MiPy-ESP Darba sākšana ar MiPy-ESP](https://i.howwhatproduce.com/images/003/image-6141-7-j.webp)
Šajā solī jūs darīsit
Lejupielādējiet MyPy-ESP ietvaru
MiPy-ESP projektu var atrast vietnē GitHub šajā kodu krātuvē. No GitHub varat lejupielādēt krātuves failu struktūru vai klonēt to savā datorā
git klons
Kad jūsu datorā ir instalēta kodu krātuve, tagad jums ir visi koda moduļi, kas nepieciešami, lai izveidotu tūlītēju ESP IoT projektu. Sīkāka informācija par rīkjoslu nākamajā darbībā.
4. solis: MiPy-ESP ietvara arhitektūra
![MiPy-ESP ietvara arhitektūra MiPy-ESP ietvara arhitektūra](https://i.howwhatproduce.com/images/003/image-6141-8-j.webp)
Šajā solī jūs darīsit
uzziniet par MiPy-ESP koda darbplūsmu
MiPy-ESP koda arhitektūra
Visi Python ietvara moduļi ir atrodami MiPY-ESP koda krātuves mapē /src. Mapē src/core ir galvenie moduļi, kas iekļauti katrā projektā. Mapē src/drivers ir izvēlēti moduļi dažādām aparatūrām, kas jāpievieno jūsu mikroshēmai. Mapē src/utilities ir papildu lietderības moduļi, kas jāiekļauj jūsu projektā.
Faili main.py un config.py ir atrodami mapē src/. Šie ir galvenie faili, kas jārediģē, lai izveidotu savu projektu:
config.py:
Šis fails ir jūsu projekta globālās konfigurācijas fails. Tam ir dažādi iestatījumi, visi ar aprakstošiem komentāriem failā.
main.py:
Šis ir galvenais mikrokontrollera koda cilpas skripts. Tajā ir ietverts lietojumprogrammas kods. Pēc mikroshēmas palaišanas main.py darbojas un importē visus no projekta atkarīgos moduļus ar norādītajām ievadēm no faila config.py. Iepriekš redzamā blokshēma parāda skripta main.py izkārtojumu.
Iepriekš redzamajā attēlā ir aprakstīts main.py darbplūsma:
- Pēc palaišanas kods mēģina savienot mikroshēmu ar Wi-Fi tīklu. Iepriekš lietotie tīkli un to paroles (šifrētas mikroshēmā) tiek saglabātas zibatmiņā. Tīkla SSID un to paroles var nodrošināt failā wifi.json šādā formātā: " SSID1 ":" Parole "," SSID ":" Parole2 "}. Šajā failā norādītie tīkli tiek saglabāti, paroles tiek šifrētas un fails tiek izdzēsts pēc palaišanas.
- Ja netiek atrasti jau zināmi tīkli, kods izveido piekļuves punkta (AP) tīmekļa serveri. Mikroshēmas AP servera SSID un parole ir iestatīti failā config.py Piesakoties mikroshēmas SSID, tīmekļa lapa mikroshēmas pieteikšanai Wi-Fi tiek pasniegta vietnē 192.168.4.1. Atklātie tīkli tiek parādīti izvēlnē vai SSID var ievadīt manuāli (slēptie tīkli) kopā ar Wi-Fi paroli. Veiksmīgi pievienojot mikroshēmu Wi-Fi, AP serveris izslēdzas un kods main.py turpina nākamās darbības.
- Main.py sadaļā Iestatīšana
- tiek definētas funkcijas darbam un atzvaniem (u.c. MQTT atzvaniem) un regulāriem notikumiem.
- Darbības funkcijām ir iestatīti dažādi laika uzdevumi.
- Ir izveidots MQTT brokera klients
-
Pēc tam kods nonāk galvenajā mikrokontrollera cilpā,
- nepārtraukti pārbaudīt tīkla un MQTT brokeru savienojumus,
- MQTT abonementi,
- aparatūras I/O
- un plānotie darbi.
- Zaudējot tīkla vai MQTT brokera savienojumu, kods mēģina to atjaunot.
5. darbība: projekta koda sagatavošana
![Projekta koda sagatavošana Projekta koda sagatavošana](https://i.howwhatproduce.com/images/003/image-6141-9-j.webp)
![Projekta koda sagatavošana Projekta koda sagatavošana](https://i.howwhatproduce.com/images/003/image-6141-10-j.webp)
Šajā solī jūs darīsit
- uzziniet par MiPy-ESP krātuves failu struktūru
- sagatavojiet projekta kodu mikroshēmas augšupielādei
Iepriekš redzamajā attēlā ir aprakstīta repozitorija mapju struktūra un uzskaitīti ietvara pašreizējie moduļi. Jūsu projekts ir posmi src/ mapē. Galvenie MiPy-ESP ietvara moduļi atrodas src/core, papildu lietderības moduļi src/komunālie un aparatūras moduļi src/draiveros.
Lielākā daļa pieejamo MicroPython aparatūras bibliotēku var nokļūt draiveros/ mapē bez jebkādām izmaiņām. Visi pašreizējie draiveri tiek pārbaudīti, izmantojot MiPy-ESP sistēmu. Attiecībā uz moduļiem utilītprogrammās/ mapē, tie tiks pievienoti, kad tie stāsies spēkā.
Projekta koda posms Jūsu projekta kods jāievieto mapē src/ src. Tur jau ir rediģējami faili main.py un config.py. Kopējiet arī vēlamos projekta utilītus no src/utilies un src/drivers uz src/.
Ja vēlaties mikroshēmai nodrošināt zināmus Wi-Fi tīklus un paroles, pievienojiet failu wifi.json mapei src/.
Nodrošināto Makefile failu var izmantot failu sagatavošanai pārsūtīšanai uz mikroshēmu, apkopojot.py failus / src, apkopojot galvenos moduļus un pārsūtot failus uz jaunu mapi ar nosaukumu build / ar komandu
likt būvēt
Būvējamie faili ir gatavi augšupielādei mikroshēmu failu sistēmā. Pēc noklusējuma main.py un config.py netiek apkopoti binārā, lai tiem varētu viegli piekļūt, lai pārbaudītu izvietotās mikroshēmas. Komanda:
padarīt tīru
Izdzēš būvējumu/ mapi un tās saturu.
6. darbība: koda apkopošana un augšupielāde mikrokontrollerī
![Koda apkopošana un augšupielāde mikrokontrollerī Koda apkopošana un augšupielāde mikrokontrollerī](https://i.howwhatproduce.com/images/003/image-6141-11-j.webp)
![Koda apkopošana un augšupielāde mikrokontrollerī Koda apkopošana un augšupielāde mikrokontrollerī](https://i.howwhatproduce.com/images/003/image-6141-12-j.webp)
Šajā sadaļā jūs to darīsit
- augšupielādējiet sagatavotos failus versijā/ no pēdējās sadaļas
- sākt un uzraudzīt darbības kodu
Būvējuma/ failu augšupielāde ar Rshell
Augšupielādējiet visus failus direktorijā /build ESP mikroshēmā, izmantojot Rshell. Ja mikrokontrolleris ir pievienots USB, no būvēšanas/ mapes palaidiet Rshell ar komandu
rshell -p /dev /ttyUSB0
Pēc tam pārbaudiet mikroshēmu failus (ja tādi ir)
ls /tastatūra
Visus mikroshēmā esošos failus var izdzēst
rm /tastatūra/*.*
Kopējiet visus būvēšanas/ mikroshēmas projekta failus:
cp *. * /tastatūra
Pēc tam palaidiet interaktīvo Python termināli ar komandu
repl
Tagad varat izsaukt Python komandas vai importēt moduļus un uzraudzīt mikroshēmas sērijas izvadi no MiPy-ESP reģistrēšanas moduļa.
Restartējiet mikroshēmu, nospiežot atiestatīšanas pogu vai no komandrindas
importēt galvenais
vai
importa mašīna
un tad
machine.reset ()
Atkarībā no jūsu reģistrēšanas/atkļūdošanas iestatījumiem projekta konfigurācijas failā, repl tagad parādīs atkļūdošanas ziņojumus no ESP mikroshēmas, izmantojot seriālo savienojumu.
Cerams, ka tam vajadzētu sākt.
Ieteicams:
Darba sākšana ar I2C sensora saskarni ?? - Saskarne ar jūsu MMA8451, izmantojot ESP32: 8 soļi
![Darba sākšana ar I2C sensora saskarni ?? - Saskarne ar jūsu MMA8451, izmantojot ESP32: 8 soļi Darba sākšana ar I2C sensora saskarni ?? - Saskarne ar jūsu MMA8451, izmantojot ESP32: 8 soļi](https://i.howwhatproduce.com/images/002/image-5194-16-j.webp)
Darba sākšana ar I2C sensora saskarni ?? - MMA8451 saskarne, izmantojot ESP32: Šajā apmācībā jūs uzzināsit visu par to, kā sākt, savienot un iegūt I2C ierīci (akselerometru) darbam ar kontrolieri (Arduino, ESP32, ESP8266, ESP12 NodeMCU)
Darba sākšana ar Python: 7 soļi (ar attēliem)
![Darba sākšana ar Python: 7 soļi (ar attēliem) Darba sākšana ar Python: 7 soļi (ar attēliem)](https://i.howwhatproduce.com/images/001/image-1010-39-j.webp)
Sāciet darbu ar Python: Programmēšana ir lieliska! Tā ir radoša, jautra un sniedz jūsu smadzenēm garīgu treniņu. Daudzi no mums vēlas uzzināt par programmēšanu, bet pārliecina sevi, ka nevaram. Varbūt tajā ir pārāk daudz matemātikas, varbūt žargons, kas tiek izmests apkārt, biedē
Darba sākšana ar ESP32 CAM - Video straumēšana, izmantojot ESP CAM, izmantojot Wifi - ESP32 drošības kameru projekts: 8 soļi
![Darba sākšana ar ESP32 CAM - Video straumēšana, izmantojot ESP CAM, izmantojot Wifi - ESP32 drošības kameru projekts: 8 soļi Darba sākšana ar ESP32 CAM - Video straumēšana, izmantojot ESP CAM, izmantojot Wifi - ESP32 drošības kameru projekts: 8 soļi](https://i.howwhatproduce.com/images/002/image-3459-43-j.webp)
Darba sākšana ar ESP32 CAM | Video straumēšana, izmantojot ESP CAM, izmantojot Wifi | ESP32 drošības kameru projekts: Šodien mēs uzzināsim, kā izmantot šo jauno ESP32 CAM plati un kā mēs varam to kodēt un izmantot kā drošības kameru un iegūt straumēšanas video, izmantojot WiFi
Darba sākšana ar ESP32 - ESP32 dēļu instalēšana Arduino IDE - ESP32 mirgojošs kods: 3 soļi
![Darba sākšana ar ESP32 - ESP32 dēļu instalēšana Arduino IDE - ESP32 mirgojošs kods: 3 soļi Darba sākšana ar ESP32 - ESP32 dēļu instalēšana Arduino IDE - ESP32 mirgojošs kods: 3 soļi](https://i.howwhatproduce.com/images/002/image-4451-12-j.webp)
Darba sākšana ar ESP32 | ESP32 dēļu instalēšana Arduino IDE | ESP32 mirgošanas kods: šajā pamācībā mēs redzēsim, kā sākt strādāt ar esp32 un kā instalēt esp32 plates Arduino IDE, un mēs programēsim esp 32, lai palaistu mirgojošu kodu, izmantojot arduino ide
ESP32 ar integrētu OLED (WEMOS/Lolin) - Darba sākšana Arduino stils: 4 soļi
![ESP32 ar integrētu OLED (WEMOS/Lolin) - Darba sākšana Arduino stils: 4 soļi ESP32 ar integrētu OLED (WEMOS/Lolin) - Darba sākšana Arduino stils: 4 soļi](https://i.howwhatproduce.com/images/003/image-8477-34-j.webp)
ESP32 ar integrētu OLED (WEMOS/Lolin) - Darba sākšana Arduino stils: ja jūs esat tāds kā es, jūs varat izmantot jaunāko un izcilāko ESP8266/utt. ESP32 neatšķiras, bet es atklāju, ka vēl nav pārāk daudz dokumentu