Përmbajtje:
- Hapi 1: Bordi Wemos D1 Mini ESP8266
- Hapi 2: Përgatitja për MicroPython në çipin ESP
- Hapi 3: Fillimi me MiPy-ESP
- Hapi 4: Arkitektura Kuadër MiPy-ESP
- Hapi 5: Përgatitja e Kodit të Projektit tuaj
- Hapi 6: Përpilimi dhe Ngarkimi i Kodit te Mikrokontrolluesi
Video: Fillimi me Python për ESP8266 & ESP32: 6 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:10
Toka e bazës
ESP8266 dhe vëllai i tij më i vogël ESP32 janë mikroçipa me kosto të ulët Wi-Fi me një pirg të plotë TCP/IP dhe aftësi mikro-kontrolluese. Çipi ESP8266 erdhi për herë të parë në vëmendjen e komunitetit prodhues në vitin 2014. Që atëherë, çmimi i ulët (<5 dollarë), aftësia e tij Wi-Fi, një memorie flash e integruar prej 1 ose 4 MB dhe një larmi zhvillimesh në dispozicion bordet, e ka bërë çipin ESP një nga mikrokontrolluesit më të njohur për projektet WiFi dhe IoT DIY.
MicroPython është një zbatim i dobët dhe efikas i gjuhës programuese gjithnjë e më popullore Python që përfshin një nëngrup të vogël të bibliotekës standarde Python dhe është optimizuar për të punuar në mikrokontrollues.
Kombinimi i këtyre të dyjave është një opsion shumë interesant për projektet DIY, si për fillestarët ashtu edhe për përdoruesit më të avancuar.
Projekti MiPy-ESP
Në vitin 2015 projektet e mia të para me ESP8266 filluan me çipin ESP-01 duke përdorur Arudions për ekzekutimin e komandave të çipave AT mbi lidhjen serike. Pas kësaj, gjatë viteve të ardhshme aplikova bërthamën Arduino për ESP8266 për programimin e çipave me gjuhën C ++. Kjo funksionon mirë, por për një entuziast të Python, zbulimi im i zbatimit të MicroPython të Python 3 ishte një lajm i shkëlqyeshëm.
Projekti MiPy-ESP është një kornizë fleksibël që aplikon MicroPython për projekte të plota Python IoT në mikrokontrolluesit e familjes ESP.
Korniza është zhvilluar nga Ekipi Zhvillues i Komitetit Teknik LeGarage (LG-TC-SWDT-01) që synon zëvendësimin e kodit të krijuar tashmë të bazuar në C ++ për aplikacionet tona të mikrokontrolluesve.
Projekti ofron veçori themelore si p.sh
- Procedurat e lidhjes me rrjetin
- Ueb -serveri i pikës së hyrjes së çipit (për lidhje wifi dhe shërbim të uebfaqeve të çipit për të dhënat I/O)
- Funksionalitetet MQTT
- Regjistrimi/korrigjimi
- Programimi i ngjarjeve të mikrokontrolluesit
- Rutinat e hyrjes/daljes së harduerit
Me një skript kryesor të kodit kompakt (main.py), të gjithë me konfigurim global (config.py).
Ky kod mictocontroller funksionon me mirëmbajtje të fuqishme të lidhjeve të çipave në rrjetin WiFi dhe ndërmjetësit MQTT. Modulet ekzistuese MicroPython për pajisje të ndryshme mund të integrohen lehtësisht në sistem.
Kuadri MiPy-ESP është bërë shtylla kurrizore e të gjitha projekteve tona hobi elektronike IoT që përfshijnë mikrokontrolluesit e familjes ESP. Shtë testuar në disa borde të familjes ESP, si bordet NodeMCU, Wemos dhe Lolin.
Udhëzimi i mëposhtëm është një udhëzues se si të filloni me mikrokontrolluesit e familjes ESP dhe MicroPython duke përdorur kuadrin MiPy-ESP.
Hapi 1: Bordi Wemos D1 Mini ESP8266
Kuadri MiPy-ESP punon me shumicën e mikrokontrolluesve të bazuar në ESP8266.
Mini bordi i zhvillimit Wemos D1 bazohet në çipin ESP-8266EX. Në një gjurmë prej 2.5 x 3.5 cm, ai përmban memorie flash 4MB, 11 kunja hyrëse/dalëse dixhitale, të gjitha kunjat mbështesin ndërprerjen, PWM, I2C, SPI, serial dhe 1 hyrje analoge me hyrje maksimale 3.3V, mund të funksionojnë me fuqi 5V, ka lidhje mikro USB dhe është i pajtueshëm me breadboard. Çmimi i ulët dhe madhësia e tij e vogël e ka bërë atë bordin tim të preferuar të ESP.
Për më tepër, versioni mini D1 i bordit vjen me opsionin për lidhjen e një antene të jashtme, duke rritur në mënyrë të konsiderueshme gamën e lidhjes (diapazoni +100 m). Duke i shtuar kësaj, bordi gjithashtu vjen me një shumëllojshmëri të bordeve të bordeve të zgjatjes jashtë kutisë me madhësi të ngjashme kompakte.
Hapi 2: Përgatitja për MicroPython në çipin ESP
Në këtë hap të parë, ju do
- Lidhni bordin ESP përmes USB me kompjuterin tuaj
- Instaloni programin Esptool për ndezjen e çipit
- Fshini kujtesën e çipit
- Ndizni çipin me firmuerin MicroPython
- Instaloni Rshell për të mundësuar ndërveprimin e linjës së komandës me çipin tuaj
- Instaloni mpy-cross (për përpilimin e skedarëve.py në binar)
Lidhja e bordit me kompjuterin tuaj nëpërmjet USBBoards me një portë serike të integruar USB e bëjnë UART të disponueshëm për kompjuterin tuaj dhe është opsioni më i lehtë për të filluar. Për tabelat pa lidhje USB, një modul FTDI me USB në serial mund të përdoret për të lidhur kunjat GPIO për ndezje të lidhura me botën e jashtme, por kjo nuk përfshihet në këtë udhëzues.
Për MicroPython që përdor kodin MiPy-ESP, kërkesa minimale për madhësinë e flashit të çipit është 1MB. Ekziston gjithashtu një strukturë e veçantë për bordet me 512kB, por kjo nuk ka mbështetje për një sistem skedarësh, nga i cili varet MiPy-ESP.
Kur përdorni një kabllo USB, bordi fuqizohet nga kompjuteri juaj ndërsa është i lidhur. Kjo gjithashtu lejon programimin dhe korrigjimin e lidhjes serike. Kur kodi i projektit ngarkohet dhe projekti juaj vendoset, fuqia e jashtme aplikohet mbi kunjat e furnizimit me energji të tabelës.
Informacioni rreth softuerit Esptool mund të gjendet në depon Esptool GitHub. Nëse dëshironi të përdorni Windows/Linux/OSX (MAC), lidhja e mësipërme gjithashtu e mbulon atë. Paketa Python mund të instalohet nga
pip instaloni esptool
Për përdoruesit e Linux, paketat për Esptool mirëmbahen për Debian dhe Ubuntu, dhe gjithashtu mund të instalohen me
sudo apt install esptool
Duke fshirë kujtesën flash ESP Duke përdorur Esptool, atëherë fshini kujtesën flash ESP me komandën
esptool.py --port /dev /ttyUSB0 erase_flash
Firmware i MicroPython gjendet në një skedar.bin që mund të shkarkohet nga faqja e internetit e MicroPython.
Projekti aktual dega kryesore e repos është testuar dhe është funksionale me Micropython v.1.12. Për të siguruar sukses me kuadrin MiPY-ESP, shkarkoni skedarin 'esp8266-20191220-v1.12.bin' nga kjo lidhje dhe shkruani firmuerin në çip me komandën:
esptool.py --port /dev /ttyUSB0 --baud 460800 write_flash --flash_size = zbulo 0 esp8266-20191220-v1.12.bin
Paketa Rshell mundëson ndërveprimin e linjës së komandës me mjedisin tuaj MicroPython të instaluar në çip. Mund të gjendet në këtë lidhje. Rshell është një guaskë e thjeshtë që funksionon në host dhe përdor REPL të papërpunuar të MicroPython për të dërguar copa python në dërrasën e pyjeve në mënyrë që të marrë informacionin e sistemit të skedarëve dhe të kopjojë skedarët nga dhe nga sistemi i skedarëve të MicroPython. REPL qëndron për Read Evaluate Print Loop dhe është emri i dhënë në kërkesën ndërvepruese të MicroPython që mund të përdorni në ESP8266. Përdorimi i REPL është mënyra më e lehtë për të provuar kodin tuaj dhe për të ekzekutuar komandat. Instaloni Rshell me komandën:
sudo pip instaloni rshell
Instalimi i përpiluesit mpy-cross MicroPython mund të aplikohet me ascii.py skedarë të ngarkuar në sistemin e skedarëve të çipit. MicroPython gjithashtu përcakton konceptin e skedarëve.mpy i cili është një format skedar binar binar që mban kodin e parakompiluar dhe i cili mund të importohet si një modul normal.py. Duke përpiluar skedarët.py në.mpy, më shumë memorie RAM do të jetë e disponueshme për kodin tuaj të funksionimit - dhe kjo është e nevojshme për të pasur një modul bazë funksionues të kornizës MiPy -ESP.
Për vendosjen e kodit MiPy-ESP, një përpilues mpy-cross MicroPython kryq përpilon skriptet.py në.mpy para ngarkimit të çipit. Instaloni paketën mpy-cross sipas udhëzimeve në këtë lidhje. Përndryshe, komanda mpy-cross mund të instalohet nga komanda Python pip ose të ekzekutohet nga rruga e dosjes mpy-cross nëse klononi depon MicroPython nga GitHub këtu.
Tani keni MicroPython dhe të gjitha mjetet e nevojshme të instaluara për të filluar me ndërtimin e projektit tuaj të parë MiPy-ESP
Hapi 3: Fillimi me MiPy-ESP
Në këtë hap do të
Shkarkoni kuadrin MyPy-ESP
Projekti MiPy-ESP mund të gjendet në GitHub në këtë depo kodesh. Nga GitHub mund të shkarkoni strukturën e skedarit të depove, ose ta klononi atë në kompjuterin tuaj duke
git klon
Me depon e kodeve të instaluar në kompjuterin tuaj, tani keni të gjitha modulet e kodit që ju nevojiten për ndërtimin e një projekti të jashtëm të kutisë ESP IoT. Më shumë detaje në kutinë e veglave në hapin tjetër.
Hapi 4: Arkitektura Kuadër MiPy-ESP
Në këtë hap do të
mësoni rreth rrjedhës së punës së kodit MiPy-ESP
Arkitektura e kodit MiPy-ESP
Të gjitha modulet kornizë Python gjenden në dosjen /src të depove të kodeve MiPY-ESP. Dosja src/core përmban modulet bazë që hyjnë në çdo projekt. Dosja src/drivers ka një përzgjedhje modulesh për pajisje të ndryshme që lidhen me çipin tuaj. Dosja src/utilities përmban module opsionale të shërbimeve për t'u përfshirë në projektin tuaj.
Skedarët main.py dhe config.py gjenden në src/ folder. Këto janë skedarët kryesorë për të redaktuar për ndërtimin e projektit tuaj:
config.py:
Ky skedar është skedari i konfigurimit global për projektin tuaj. Ka cilësime të ndryshme, të gjitha me komente përshkruese në skedar.
main.py:
Ky është skenari kryesor për lakun e kodit të mikro-kontrolluesit. Ai përmban kodin specifik të aplikacionit në kornizë. Pas nisjes së çipit, main.py ekzekuton dhe importon të gjitha modulet e varura nga projekti me hyrje të dhëna nga skedari config.py. Diagrami i mësipërm tregon paraqitjen e shkrimit main.py.
Figura e mësipërme përshkruan rrjedhën e punës të main.py:
- Me fillimin, kodi përpiqet të lidhë çipin me rrjetin Wi-Fi. Rrjetet e aplikuara më parë dhe fjalëkalimet e tyre (të koduara në çip) ruhen në memorie flash. SSID-të e rrjetit dhe fjalëkalimet e tyre mund të sigurohen në skedarin wifi.json në formatin {" SSID1 ":" Fjalëkalimi "," SSID ":" Fjalëkalimi2 "}. Rrjetet e dhëna në këtë skedar ruhen, fjalëkalimet janë të koduara dhe skedari fshihet pas nisjes.
- Nëse nuk janë gjetur tashmë rrjete, kodi krijon një server të pikës së hyrjes (AP). Serveri AP i çipit SSID dhe fjalëkalimi janë vendosur në skedarin config.py. Duke u regjistruar në SSID të çipit, një faqe në internet për hyrjen e çipit në Wi-Fi shërbehet në 192.168.4.1. Rrjetet e zbuluara shfaqen në një menu, ose SSID mund të futet me dorë (rrjete të fshehura) së bashku me fjalëkalimin Wi-Fi Me Me lidhjen e suksesshme të çipit me Wi-Fi, serveri AP fiket dhe kodi main.py vazhdon në hapat e tij të ardhshëm.
-
Në pjesën Setup të main.py,
- përcaktohen funksionet për punët dhe thirrjet (etj. thirrjet MQTT) dhe ngjarjet e rregullta.
- Janë caktuar punë të ndryshme të kohës për funksionimin e funksioneve.
- Clientshtë krijuar klienti i ndërmjetësit MQTT
-
Kodi pastaj futet në lakin kryesor të mikrokontrolluesit,
- kontrollimi i vazhdueshëm i lidhjeve të ndërmjetësit të rrjetit dhe MQTT,
- Abonimet MQTT,
- harduer I/O
- dhe punët e planifikuara.
- Me humbjen e rrjetit ose lidhjen e ndërmjetësit MQTT, kodi përpiqet të rivendoset.
Hapi 5: Përgatitja e Kodit të Projektit tuaj
Në këtë hap do të
- mësoni rreth strukturës së skedarit të depove MiPy-ESP
- përgatitni kodin e projektit tuaj për ngarkimin e çipit
Struktura e dosjeve depozituese Figura e mësipërme përshkruan strukturën e dosjes së depove dhe liston modulet aktuale të kornizës. Projekti juaj është në faza në src/ folder. Modulet bazë të kornizës MiPy-ESP banojnë në src/core, module opsionale të shërbimeve në src/shërbime dhe module harduerike në src/drejtues.
Bibliotekat më të disponueshme të pajisjeve MicroPython mund të futen në drejtuesit/ dosjen pa asnjë modifikim. Të gjithë drejtuesit e tanishëm janë testuar me kornizën MiPy-ESP. Lidhur me modulet në shërbimet/ dosjen, më shumë do të shtohen ndërsa vijnë në jetë.
Kodi i projektit tuaj specifik duhet të vendoset në src/ folder. Tashmë atje, janë skedarët main.py dhe config.py që mund të redaktoni. Gjithashtu kopjoni shërbimet e projektit të kërkuar nga src/utilities dhe src/drivers në src/.
Në rast se dëshironi të siguroni rrjete Wi-Fi dhe fjalëkalime të njohura në çip, shtoni skedarin wifi.json në src/.
Një Makefile me kusht mund të aplikohet për përgatitjen e skedarëve për transferim në çip duke përpiluar.py fotografi në / src, duke përpiluar modulet bazë dhe transferimin e skedarëve të përpiluar në një dosje të re të quajtur build / me komandë
bëj ndërtim
Skedarët në ndërtim janë gati për tu ngarkuar në sistemin e skedarëve të çipit. Si parazgjedhje, main.py dhe config.py nuk përpilohen në binar, në mënyrë që të kenë qasje të lehtë në to për inspektimin e çipave të vendosur. Komanda:
pastroje
Fshin strukturën/ dosjen dhe përmbajtjen e saj.
Hapi 6: Përpilimi dhe Ngarkimi i Kodit te Mikrokontrolluesi
Në këtë pjesë do të
- ngarkoni skedarët e përgatitur në ndërtim/ nga pjesa e fundit
- filloni dhe monitoroni kodin që funksionon
Ngarkimi i ndërtimit/ skedarëve me Rshell
Ngarkoni të gjithë skedarët në /ndërtoni drejtorinë në çipin ESP duke përdorur Rshell. Me mikrokontrolluesin e lidhur me USB, nga build/ folder filloni Rshell me komandën
rshell -p /dev /ttyUSB0
Pastaj inspektoni skedarët e çipave (nëse ka) nga
ls /tabela
Të gjithë skedarët në çip mund të fshihen nga
rm /pyboard/*.*
Kopjoni të gjithë skedarët e projektit të ndërtuar/ në çip:
cp *. * /tabela
Pastaj filloni terminalin ndërveprues Python me komandën
repl
Tani mund të thërrasësh komandat Python ose të importosh module dhe të monitorosh daljen serike të çipit nga moduli i regjistruesit MiPy-ESP.
Rinisni çipin duke shtypur butonin e rivendosjes, ose nga rreshti i komandës nga
importi kryesor
ose
makinë importi
dhe pastaj
makinë. rivendos ()
Në varësi të cilësimeve tuaja të regjistrimit/korrigjimit në skedarin e konfigurimit të projektit, repl tani do të tregojë mesazhe të korrigjimit nga çipi ESP mbi lidhjen serike.
Kjo me shpresë duhet t’ju fillojë.
Recommended:
Arduino Fillimi me Pajisje dhe Softuer & Udhëzime Arduino: 11 hapa
Arduino Fillimi me Pajisjet dhe Softuerët & Arduino Tutorials: Në ditët e sotme, Krijuesit, Zhvilluesit po preferojnë Arduino për zhvillimin e shpejtë të prototipimit të projekteve. Arduino është një platformë elektronike me burim të hapur e bazuar në pajisje dhe softuer të lehtë për t’u përdorur. Arduino ka një komunitet shumë të mirë të përdoruesve. Bordi Arduino d
Fillimi me ESP32 CAM - Transmetimi i videos duke përdorur ESP CAM mbi Wifi - Projekti i kamerës së sigurisë ESP32: 8 hapa
Fillimi me ESP32 CAM | Transmetimi i videos duke përdorur ESP CAM mbi Wifi | Projekti i Kamerave të Sigurisë ESP32: Sot do të mësojmë se si ta përdorim këtë tabelë të re ESP32 CAM dhe si mund ta kodojmë atë dhe ta përdorim atë si një kamerë sigurie dhe të marrim një video streaming përmes wifi
Fillimi me ESP32 - Instalimi i bordeve ESP32 në Arduino IDE - ESP32 Blink Code: 3 hapa
Fillimi me ESP32 | Instalimi i bordeve ESP32 në Arduino IDE | ESP32 Blink Code: Në këtë udhëzues do të shohim se si të fillojmë të punojmë me esp32 dhe si të instalojmë bordet esp32 në Arduino IDE dhe do të programojmë esp 32 që të ekzekutojë kodin e blinkimit duke përdorur arduino ide
Fillimi me modulin Bluetooth HC05 & Arduino [Tutorial]: 6 hapa
Fillimi Me HC05 Bluetooth Module & Arduino [Tutorial]: Ju mund të lexoni këtë dhe mësime të tjera të mahnitshme në faqen zyrtare të ElectroPeak Në këtë tutorial, do të mësoni se si të komunikoni dhe dërgoni të dhëna me Bluetooth duke përdorur HC05 Bluetooth Module dhe bordin Arduino. Në fund të këtij artikulli, do të mësoni
DIY MusiLED, LED të sinkronizuara me muzikë me aplikacionin Windows & Linux me një klik (32-bit & 64-bit). Lehtë për t’u rikrijuar, e lehtë për t’u përdorur, e lehtë për t’u portuar .: 3 hapa
DIY MusiLED, LED të sinkronizuara me muzikë me aplikacionin Windows & Linux me një klik (32-bit & 64-bit). Lehtë për t'u rikrijuar, e lehtë për t'u përdorur, e lehtë për t'u transferuar.: Ky projekt do t'ju ndihmojë të lidhni 18 LED (6 të kuqe + 6 blu + 6 të verdhë) në bordin tuaj Arduino dhe të analizoni sinjalet e Kartës së Zërit të kompjuterit tuaj në kohë reale dhe t'i transmetoni ato në LED për t'i ndezur ato sipas efekteve të rrahjes (Snare, High Hat, Kick)