Përmbajtje:

Fillimi me MicroPython në ESP8266: 10 hapa (me fotografi)
Fillimi me MicroPython në ESP8266: 10 hapa (me fotografi)

Video: Fillimi me MicroPython në ESP8266: 10 hapa (me fotografi)

Video: Fillimi me MicroPython në ESP8266: 10 hapa (me fotografi)
Video: Как использовать ESP32 WiFi и Bluetooth с Arduino IDE, полная информация с примерами и кодом. 2024, Nëntor
Anonim
Fillimi me MicroPython në ESP8266
Fillimi me MicroPython në ESP8266

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

Kërkesat
Kërkesat
Kërkesat
Kërkesat
Kërkesat
Kërkesat
Kërkesat
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?

Pse bordi i bazuar në ESP8266?
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

Vendosja e kompjuterit tuaj
Vendosja e kompjuterit tuaj
Vendosja e kompjuterit tuaj
Vendosja e kompjuterit tuaj
Vendosja e kompjuterit tuaj
Vendosja e kompjuterit tuaj
Vendosja e kompjuterit tuaj
Vendosja e 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

MicroPython që ndizet me Esptool.py
MicroPython që ndizet me Esptool.py
MicroPython që ndizet me Esptool.py
MicroPython që ndizet 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

Përdorimi i REPL MicroPython Me Rshell
Përdorimi i REPL MicroPython Me Rshell
Përdorimi i REPL MicroPython Me Rshell
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

Kontrolli i kunjave duke përdorur MicroPython
Kontrolli i kunjave duke përdorur MicroPython
Kontrolli i kunjave duke përdorur MicroPython
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

Zbehja e LED -it
Zbehja e LED -it
Zbehja e LED -it
Zbehja e LED -it

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: