Përmbajtje:
- Hapi 1: Çfarë është MicroPython?
- Hapi 2: Kërkesat
- Hapi 3: Pse bordi i bazuar në ESP8266?
- Hapi 4: Konfigurimi i kompjuterit tuaj
- Hapi 5: Ndezja e MicroPython Me Esptool.py
- Hapi 6: Përdorimi i REPL MicroPython Me Rshell
- Hapi 7: Kontrolli i kunjave duke përdorur MicroPython
- Hapi 8: Zbehja e LED
- Hapi 9: Ku nga këtu?
- Hapi 10: Përfundimi
Video: Fillimi me MicroPython në ESP8266: 10 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:19
Dëshironi një mënyrë tjetër për të programuar tabelat e bazuara në ESP8266 sesa metodën e zakonshme duke përdorur Arduino IDE së bashku me gjuhën e programimit C/C ++?
Në këtë tutorial do të mësojmë se kë të konfiguroni dhe kontrolloni një bord ESP8266 duke përdorur MicroPython.
KOHA E NDRTIMIT: 60 MINUTA VIFSHTIRSI: VLERSIMI: Lehtë
Hapi 1: Çfarë është MicroPython?
MicorPython është një nga shumë gjuhët e programimit që mund të përdorim për të programuar modulin ESP8266. Shtë një version i dobët dhe i shpejtë i gjuhës programuese Python 3 dhe ka disa përparësi ndaj gjuhëve tradicionale të programimit siç janë C dhe C ++.
MicroPython është krijuar për të qenë në përputhje me Python normale sa më shumë që të jetë e mundur. Ka një përpilues të plotë Python dhe kohën e funksionimit, dhe siguron një kërkesë ndërvepruese të njohur si REPL (Loop Read-Eval-Print).
MicorPython është krijuar për të mbështetur disa lloje të ndryshme të mikrokontrolluesve. Por për këtë tutorial do të punoj me vetëm një model: bordin e bazuar në ESP8266 (NodeMCU). Vini re se ka disa borde të ndryshme që mund të blini me të njëjtin çip.
Leximi & Burimet:
MikroPitoni
NodeMCU
Hapi 2: Kërkesat
Për të qenë në gjendje të ndiqni këtë tutorial, thjesht duhet të keni përvojë themelore të kodimit me Python. Nuk keni nevojë të keni ndonjë njohuri të mëparshme për mikrokontrolluesit, elektronikën, apo edhe MicroPython.
Ju gjithashtu do të keni nevojë për një kompjuter Windows, Mac ose Linux me një port USB falas, pasi do të lidhni një mikrokontrollues me kompjuterin tuaj për ta programuar atë.
Pjesët e kërkuara:
1 x NodeMCU (ose bord tjetër i bazuar në ESP8266)
1 x LED i kuq 5 mm
1 x 220Ω 1/4W Rezistencë
1 x Potenciometër rrotullues 10KΩ
1 x Breadboard
1 x kabllo USB në MicroUSB
Telat Jumper.
Hapi 3: Pse bordi i bazuar në ESP8266?
Një mënyrë se si mund të përfitoni sa më shumë nga ESP8266 juaj është duke përdorur MicroPython. Gjithashtu, moduli ESP8266 është një nga platformat më të mira në të cilat mund të mësoni se si të përdorni MicroPython. Kjo ndodh sepse ESP8266 siguron funksione të thjeshta të kontrollit të kunjave GPIO, si dhe funksionim pa tel, duke ju lejuar të provoni të gjitha aspektet e gjuhës programuese MicroPython.
Çipi ESP8266 është i popullarizuar në industrinë e zhvillimit me burim të hapur. Ka shumë borde zhvillimi nga prodhues të ndryshëm që përdorin çipin ESP8266. MicroPython është krijuar për të siguruar një portë të përgjithshme që mund të funksionojë në shumicën e atyre bordeve, me sa më pak kufizime të jetë e mundur. Porti bazohet në tabelën Adafruit Feather HUZZAH Kur përdorni tabela të tjera ESP8266, sigurohuni që të kontrolloni skemat dhe fletët e të dhënave të tyre në mënyrë që të identifikoni ndryshimet midis tyre dhe bordit Adafruit Feather HUZZAH. Në atë mënyrë, ju mund të akomodoni ndryshimet në kodin tuaj.
Leximi & Burimet:
ESP8266
Pendë Adafruit HUZZAH
Hapi 4: Konfigurimi i kompjuterit tuaj
Ka disa gjëra që duhet të vendosni para se të përdorni MicroPython për të programuar bordin tuaj ESP8266. Ne do të kalojmë procesin e konfigurimit në këtë hap. Në këtë mënyrë ju do të dini se si të konfiguroni bordin ESP8266 që do të përdoret me MicroPython.
Duke u bërë gati
E tëra që ju nevojitet nga ky hap në hapin 6 është ESP8266 dhe një kabllo USB. Lidhni bordin tuaj ESP8266 me kompjuterin tuaj.
Si ta bëni…
HAPI 1: Instaloni drejtuesit e pajisjes
Nëse keni një kompjuter Linux, atëherë nuk keni nevojë të instaloni asnjë drejtues pajisjesh që shoferët të njihen nga mikrokontrolluesi. Por nëse keni një Mac ose një makinë Windows, nevojitet një drejtues për të lejuar kompjuterin të njohë mikrokontrolluesin si një pajisje serike.
www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers.
HAPI 2: Instaloni Python
Mjetet që do të përdorni për të komunikuar me ESP8266 janë të shkruara në Python, kështu që ju duhet të instaloni Python në kompjuterin tuaj.
Nëse sistemi juaj operativ nuk siguron një Python të para-paketuar, mund të shkoni në https://python.org për të shkarkuar një version zyrtar për ndonjë nga sistemet operative të mbështetura.
HAPI 3: Instaloni esptool dhe rshell
Instaloni dy pako që do t'ju ndihmojnë të menaxhoni bordin tuaj duke përdorur pip. Për ta bërë këtë, hapni terminalin tuaj dhe ekzekutoni
pip instaloni esptool rshell
HAPI 4: Shkarkoni MicroPython
Shkarkoni firmware.bin më të fundit të MicroPython nga lidhja e mëposhtme:
Në kohën që po e shkruaj këtë, versioni aktual është 1.11, dhe skedari i firmware quhet esp8266-20190529-v1.11.bin
Deri sa ta bëni këtë, mund të gjeni një lëshim më të ri.
Hapi 5: Ndezja e MicroPython Me Esptool.py
Para se të futni një firmware të ri në tabelë është një ide e mirë të fshini çdo të dhënë të mëparshme. Kjo është diçka që duhet ta bëni gjithmonë në mënyrë që firmware i ri të funksionojë nga një gjendje e pastër.
Shkoni atje ku keni vendosur skedarin.bin. Përdorni esptool.py për të fshirë blicin.
Për Linux:
esptool.py --port /dev /ttyUSB0 erase_flash
Për Windows:
esptool.py --port COM3 erase_flash
Ju mund të keni nevojë të ndryshoni portin serik në komandën tuaj në portin serik me të cilin është lidhur bordi juaj ESP8266. Nëse nuk e dini numrin e portit serik të ESP8266 tuaj, mund të kontrolloni në Arduino IDE. Thjesht hapni IDE dhe pastaj klikoni në Tools | Portet. Ju duhet të shihni portin serik të bordit tuaj ESP8266 të listuar atje. Zëvendësoni portën serike në komandën (/dev/ttyUSB0) me portën serike të bordit tuaj.
Tani që bordi është fshirë plotësisht, mund të ndizni ndërtimin e MicroPython që sapo keni shkarkuar. Kjo bëhet gjithashtu me komandën esptool.py:
esptool.py --port /dev /ttyUSB0-baud 460800 write_flash 0 esp8266-20190529-v1.11.bin
Kjo komandë do të shkruajë përmbajtjen e skedarit.bin MicroPython në tabelë në adresën 0.
Sigurohuni që të ndryshoni emrin e skedarit.bin të firmware në komandën (esp82688-2019-080529-v1.11.bin) në atë të firmuerit që keni shkarkuar.
Pasi firmueri të jetë instaluar me sukses në tabelën tuaj ESP8266, mund të hyni në REPL në bordin tuaj nëpërmjet një lidhjeje me tel (porta serike UART) ose WiFi të menduar.
Hapi 6: Përdorimi i REPL MicroPython Me Rshell
Tani jeni gati për të filluar MicroPython në tabelën tuaj ESP8266.
Ajo që do t'ju tregoj se si të lidheni me kërkesën Python që funksionon në tabelën tuaj. Kjo quhet REPL, e cila qëndron për "Lexo-Eval-Print-Loop". Ky është kërkesa standarde e Python që ndoshta jeni mësuar të shihni kur punoni me përkthyesin e zakonshëm Python, por këtë herë do të funksionojë në bordin tuaj dhe për të bashkëvepruar me të do të përdorni lidhjen serike me kompjuterin tuaj Me Gati?
Për t'u lidhur me bordin tuaj dhe për të hapur një sesion REPL, futni komandën e mëposhtme:
rshell --port
Ky komandë do t'ju çojë në kërkesën rshell. Shihni foton më lart.
Nëse po ndiqni këtë udhëzues në Windows, vini re se rshell ka një histori problemesh kur funksionon në Windows.
Pra, për të rregulluar atë lloj:
rshell -a --port COM3
Nga kjo kërkesë ju mund të kryeni detyra menaxhimi që lidhen me bordin tuaj të mikrokontrolluesit, dhe gjithashtu të filloni një Python REPL që mund ta përdorni për të bashkëvepruar me bordin në kohë reale. Pra, vetëm duke futur komandën e mëposhtme:
repl
Për t'u siguruar që gjithçka po funksionon, shkruani një fjali të thjeshtë Python:
print ("Përshëndetje Botë")
Hapi 7: Kontrolli i kunjave duke përdorur MicroPython
Në këtë hap, ne do të mësojmë se si të kontrollojmë kunjat ESP8266 me MicroPython. Për ta bërë këtë, ne do të dalim me një konfigurim ku do të kalojmë gjendjen e një LED të lidhur me një pin GPIO të bordit ESP8266. Kjo do t'ju ndihmojë të kuptoni se si të kontrolloni daljet dixhitale duke përdorur MicoPython.
Duke u bërë gati
Ju do të keni nevojë për gjërat e mëposhtme për të kryer këtë HAP:
1 x NodeMCU
1 x LED e kuqe 5 mm
1 x 220 Ω Rezistencë
1 x Breadboard
Telat Jumper
Ndërtimi
Filloni duke montuar LED në tabelën e bukës. Lidhni një skaj të rezistencës 220 Ω në këmbën pozitive të LED (këmba pozitive e një LED është zakonisht më e larta nga dy këmbët). Lidhni skajin tjetër të rezistencës me kunjin D1 të bordit ESP8266. Pastaj lidhni këmbën negative të LED me pinin GND të bordit ESP8266. Lidhja është siç tregohet në diagramin e mësipërm.
Pasi të përfundojë konfigurimi, lidhni bordin ESP8266 me kompjuterin tuaj përmes një kabllo USB.
Si ta bëni…
Shkruani kodin e mëposhtëm në REPL tuaj:
# ndezje LED çdo 1 sekondë
def blink (pin = 5, koha = 1) # funksion blink me parazgjedhje pin = 5, time = 1s makinë importi # moduli i makinës mban konfigurimet dhe modalitetet e kunjave nga koha e importimit të gjumit # importo gjumin për disa vonesa LED = makinë. Pin (led_pin, machine. PIN. OUT) # konfiguroni LED si OUTPUT ndërsa e vërtetë: # drejtoni përgjithmonë LED. vlera (1) # vendosni LED në gjumë të lartë (kohë) # prisni 1 sekondë si parazgjedhje LED. vlera (0) # vendos LED për të LOW fle (koha) # prit 1 sekondë si parazgjedhje
Shkruani blink () në sesionin tuaj RPEL për të testuar këtë kod. Kjo do të ndezë LED -in e lidhur me GPIO5 çdo 1 sekondë.
Ju mund të ndryshoni pin dhe/ose kohën duke telefonuar:
vezullim (pin =, koha =)
Shtypni ctrl+c për të dalë nga kodi i funksionimit.
Mund të përdorni MicroPython për të lexuar një hyrje nga e lidhur me ESP8266. Vazhdoni në hapin tjetër për të mësuar se si ta bëni atë.
Kontrolloni videon nëse keni ngecur.
Hapi 8: Zbehja e LED
Në këtë hap, ne do të mësojmë se si të rregullojmë shkëlqimin e LED duke përdorur një potenciometër rrotullues. Ne do të përdorim një teknikë të quajtur Pulse Width Modulation (PWM), kjo na lejon të zbehim LED me deri në 256 cilësime.
Shënim: Të gjitha kunjat e ESP8266 mund të përdoren si kunj PWM përveç GPIO16 (D0).
Duke u bërë gati:
Ju do të keni nevojë për gjërat e mëposhtme për të kryer këtë HAP:
1 x NodeMCU
1 x LED i kuq 5 mm
Potenciometër rrotullues 1 x 50 KΩ.
1 x Breadboard
Telat Jumper
Ndërtimi
Lidhja është siç tregohet në diagramin e mësipërm: Pasi të ketë përfunduar konfigurimi, lidhni bordin ESP8266 me kompjuterin tuaj përmes një kabllo USB.
Si ta bëni…
Shkruani kodin e mëposhtëm në REPL tuaj:
# Zbehet LED çdo 0.5 duke lexuar të dhëna nga Potentiometri
makinë importi nga koha import gjumë led_pin = 5 # led pin POT = makinë. ADC (0) # ADC0 pin LED = makinë. Pin (led_pin) # krijo objekt LED LED_pwm = makinë. PWM (LED, freq = 500) # krijo LED_pwm objekt dhe vendosni frekuencën në 500Hz ndërsa e vërtetë: LED_pwm.duty (POT.read ()) # merrni vlerën nga Pot dhe vendoseni në gjumin e ciklit të punës (0.5) # prisni 0.5
Kjo do të ndryshojë shkëlqimin e LED të lidhur me GPIO 5 duke ndryshuar vlerën e potenciometrit.
Shtypni ctrl+c për të dalë nga kodi i funksionimit.
Kontrolloni videon nëse keni ngecur.
Hapi 9: Ku nga këtu?
Deri më tani kemi parë se si të konfiguroni dhe ekzekutoni MicroPython në bordet e bazuara në ESP8266. mësuam se si të kontrollojmë kunjat për të ndezur një LED pastaj shtuam një potenciometër në mënyrë që të kontrollojmë shkëlqimin e LED duke përdorur teknikën e modulimit të gjerësisë së pulsit.
Tani mund të lexojmë të dhëna nga sensori dhe t'i dërgojmë në re, gjithashtu mund të krijojmë një server HTTP ku mund të printoni të dhënat tona në një faqe të thjeshtë në internet, etj…
Kjo na jep shumë ide për Internetin e Gjërave (IoT).
Hapi 10: Përfundimi
Aty e keni! Shkoni përpara dhe pushtoni botën e MicroPython.
nëse keni ndonjë pyetje sigurisht që mund të lini një koment.
Për të parë më shumë rreth punimeve të mia, ju lutemi vizitoni kanalin tim në YouTube:
myYouTube
myGitHub
myLinkedin
Faleminderit që lexuat këtë udhëzues ^^ dhe keni një ditë të bukur.
Shihemi.
Ahmed Nouira.
Recommended:
Fillimi me Radio Ham: 5 hapa (me fotografi)
Fillimi me Radio Ham: Si një i licencuar i proshutës së prerë së fundmi, unë dua të kaloj përgjatë procesit që mora për të hyrë në radio proshutë. Unë u josha nga aspekti i vetë-mbështetjes së hobi, duke u dhënë njerëzve një mënyrë komunikimi kur ndërpriten metodat e tjera. Por është gjithashtu shpërblyese për
Fillimi i pikturës së lehtë (pa Photoshop): 5 hapa (me fotografi)
Fillimi i Pikturës së Dritës (pa Photoshop): Kohët e fundit bleva një aparat të ri dhe po hetoja disa nga veçoritë e tij kur hasa në internet me pikturë të lehtë, ose fotografi me ekspozim të gjatë. Shumica prej nesh do të kenë parë formën themelore të pikturës së dritës me një fotografi në një qytet me rrugë
Fillimi Me Kamera M5StickV AI + IOT: 6 hapa (me fotografi)
Fillimi Me Kamera M5StickV AI + IOT: Vështrim i shkurtërM5StickV është një aparat i vogël AI + IOT pothuajse me madhësi në diametër prej 2 monedhash, çmimi është rreth 27,00 dollarë, i cili për disa mund të duket i shtrenjtë për një aparat të tillë të vogël, por paketon disa specifikime të mira Kamera mundësohet nga një sistem i pabesueshëm
Fillimi me Bordin La COOL: 4 hapa (me fotografi)
Fillimi me Bordin La COOL: Hyrje " Kur erdhëm me idenë për La COOL Board, imagjinova një përzierje midis një Arduino me WiFi dhe një stacioni modular agronomik të motit. Duhej të konsumonte shumë pak energji për funksionimin autonom dhe unë doja të isha në gjendje të kontrolloja
Fillimi me NeoPixel / WS2812 RGB LED: 8 hapa (me fotografi)
Fillimi Me NeoPixel / WS2812 RGB LED: [Luaj Video] Në këtë Udhëzues, ne do të eksplorojmë rreth LED RGB të adresueshëm (WS2812) ose të njohur gjerësisht si Adafruit NeoPixel. NeoPixel është një familje unazash, shiritash, dërrasash & shkopinj të LED -ve miniaturë pulsuese, shumëngjyrëshe. Këto janë zinxhirë