Cuprins:
- Pasul 1: Ce este MicroPython?
- Pasul 2: Cerințe
- Pasul 3: De ce placa bazată pe ESP8266?
- Pasul 4: Configurarea computerului
- Pasul 5: MicroPython intermitent cu Esptool.py
- Pasul 6: Utilizarea MicroPython REPL cu Rshell
- Pasul 7: Controlul pinilor folosind MicroPython
- Pasul 8: decolorarea LED-ului
- Pasul 9: Unde să mergem de aici?
- Pasul 10: Concluzie
Video: Noțiuni introductive despre MicroPython pe ESP8266: 10 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
Doriți un mod diferit de a programa plăcile bazate pe ESP8266, mai degrabă decât metoda obișnuită folosind Arduino IDE împreună cu limbajul de programare C / C ++?
În acest tutorial vom învăța pe cine să configurăm și să controlăm o placă ESP8266 folosind MicroPython.
TIMP DE CONSTRUCȚIE: 60 MINUTE DIFICULTATE: EVALUARE: Ușor
Pasul 1: Ce este MicroPython?
MicorPython este unul dintre multele limbaje de programare pe care le putem folosi pentru a programa modulul ESP8266. Este o versiune slabă și rapidă a limbajului de programare Python 3 și are mai multe avantaje față de limbajele de programare tradiționale precum C și C ++.
MicroPython este conceput pentru a fi compatibil cu Python normal cât mai mult posibil. Are un compilator Python complet și un timp de execuție și oferă un prompt interactiv cunoscut sub numele de REPL (Read-Eval-Print Loop).
MicorPython este conceput pentru a suporta câteva tipuri diferite de microcontrolere. Dar pentru acest tutorial voi lucra cu un singur model: placa bazată pe ESP8266 (NodeMCU). Rețineți că există câteva plăci diferite pe care le puteți cumpăra cu același cip.
Lectură și resurse:
MicroPython
NodeMCU
Pasul 2: Cerințe
Pentru a putea urma acest tutorial, trebuie doar să aveți o experiență de codare de bază cu Python. Nu trebuie să aveți cunoștințe anterioare despre microcontrolere, electronice sau chiar MicroPython.
De asemenea, veți avea nevoie de un computer Windows, Mac sau Linux cu un port USB gratuit, deoarece veți conecta un microcontroler la computer pentru al programa.
Piese necesare:
1 x NodeMCU (sau altă placă bazată pe ESP8266)
1 x LED roșu de 5 mm
1 x 220Ω rezistor 1 / 4W
1 x Potențiometru rotativ de 10KΩ
1 x panou de pâine
1 x cablu USB la MicroUSB
Sârme jumper.
Pasul 3: De ce placa bazată pe ESP8266?
O modalitate prin care puteți profita la maximum de ESP8266 este folosind MicroPython. De asemenea, modulul ESP8266 este una dintre cele mai bune platforme pe care să înveți cum să folosești MicroPython. Acest lucru se datorează faptului că ESP8266 oferă funcții simple de control al pinului GPIO, precum și funcționalitate fără fir, permițându-vă să testați toate aspectele limbajului de programare MicroPython.
Cipul ESP8266 este popular în industria de dezvoltare open source. Există multe plăci de dezvoltare de la diferiți producători care utilizează cipul ESP8266. MicroPython a fost conceput pentru a oferi un port generic care poate rula pe majoritatea acestor plăci, cu cât mai puține limitări posibil. Portul se bazează pe placa Adafruit Feather HUZZAH Atunci când utilizați alte plăci ESP8266, asigurați-vă că le verificați schemele și fișele tehnice, astfel încât să puteți identifica diferențele dintre acestea și placa Adafruit Feather HUZZAH. În acest fel, puteți adapta diferențele din cod.
Lectură și resurse:
ESP8266
Adafruit Feather HUZZAH
Pasul 4: Configurarea computerului
Există mai multe lucruri pe care trebuie să le configurați înainte de a utiliza MicroPython pentru a vă programa placa ESP8266. Vom trece prin procesul de configurare în acest pas. În acest fel veți ști cum să configurați placa ESP8266 pentru a fi utilizată cu MicroPython.
Se pregateste
Tot ce aveți nevoie de la acest pas până la pasul 6 este ESP8266 și un cablu USB. Conectați placa ESP8266 la computer.
Cum să o facă…
PASUL 1: Instalați driverele de dispozitiv
Dacă aveți un computer Linux, atunci nu este necesar să instalați niciun driver de dispozitiv pentru ca driverele microcontrolerului să fie recunoscute. Dar dacă aveți un computer Mac sau Windows, este necesar un driver pentru a permite computerului să recunoască microcontrolerul. ca dispozitiv serial.
www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers.
PASUL 2: Instalați Python
Instrumentele pe care le veți folosi pentru a comunica cu ESP8266 sunt scrise în Python, deci trebuie să instalați Python pe computer.
Dacă sistemul dvs. de operare nu oferă un Python preambalat, puteți accesa https://python.org pentru a descărca o versiune oficială pentru oricare dintre sistemele de operare acceptate.
PASUL 3: Instalați esptool și rshell
Instalați două pachete care vă vor ajuta să vă gestionați placa folosind pip. Pentru aceasta, deschideți terminalul și rulați
pip instala esptool rshell
PASUL 4: Descărcați MicroPython
Descărcați cel mai recent firmware.bin de la următorul link:
În momentul în care scriu acest lucru, versiunea actuală este 1.11, iar fișierul firmware se numește esp8266-20190529-v1.11.bin
Până când faceți acest lucru, este posibil să găsiți o versiune mai nouă.
Pasul 5: MicroPython intermitent cu Esptool.py
Înainte de a afișa un nou firmware pe placă, este o idee bună să ștergeți orice date anterioare. Acesta este un lucru pe care ar trebui să îl faceți întotdeauna pentru ca noul firmware să ruleze dintr-o stare curată.
Mergeți unde ați plasat fișierul.bin. Utilizați esptool.py pentru a șterge blițul.
Pentru Linux:
esptool.py --port / dev / ttyUSB0 erase_flash
Pentru Windows:
esptool.py --port COM3 erase_flash
Este posibil să trebuiască să schimbați portul serial din comanda dvs. la portul serial la care este conectată placa ESP8266. Dacă nu cunoașteți numărul portului serial al ESP8266, puteți verifica IDE-ul Arduino. Trebuie doar să deschideți IDE și apoi să faceți clic pe Instrumente | Porturi. Ar trebui să vedeți portul serial al plăcii dvs. ESP8266 listat acolo. Înlocuiți portul serial din comandă (/ dev / ttyUSB0) cu portul serial al plăcii dvs.
Acum, când placa este complet ștearsă, puteți bloca construcția MicroPython pe care tocmai ați descărcat-o. Aceasta se face și cu comanda esptool.py:
esptool.py --port / dev / ttyUSB0 --baud 460800 write_flash 0 esp8266-20190529-v1.11.bin
Această comandă va scrie conținutul fișierului.bin MicroPython pe placa la adresa 0.
Asigurați-vă că schimbați numele fișierului.bin firmware din comandă (esp82688-2019-080529-v1.11.bin) cu cel al firmware-ului pe care l-ați descărcat.
Odată ce firmware-ul este instalat cu succes pe placa ESP8266, puteți accesa REPL pe placa dvs. printr-o conexiune cu fir (port serial UART) sau prin WiFi.
Pasul 6: Utilizarea MicroPython REPL cu Rshell
Acum sunteți gata să porniți MicroPython pe placa ESP8266.
Ce vă voi arăta cum să vă conectați la promptul Python care rulează pe placa dvs. Aceasta se numește REPL, care înseamnă „Read-Eval-Print-Loop”. Acesta este promptul standard Python pe care probabil îl obișnuiți să vedeți când lucrați cu interpretul obișnuit Python, dar de data aceasta va rula pe placa dvs. și, pentru a interacționa cu acesta, veți utiliza conexiunea serială la computer. Gata?
Pentru a vă conecta la placa dvs. și a deschide o sesiune REPL, introduceți următoarea comandă:
rshell --port
Această comandă vă va aduce în promptul rshell. Vezi fotografia de mai sus.
Dacă urmați acest tutorial pe Windows, rețineți că rshell are un istoric de probleme atunci când rulează pe Windows.
Deci, pentru a remedia acest tip:
rshell -a --port COM3
Din acest prompt puteți efectua sarcini de gestionare legate de placa de microcontroler și, de asemenea, puteți porni un Python REPL pe care îl puteți utiliza pentru a interacționa cu placa în timp real. Deci, introduceți următoarea comandă:
repl
Pentru a vă asigura că totul funcționează, tastați o propoziție simplă Python:
print („Hello World”)
Pasul 7: Controlul pinilor folosind MicroPython
În acest pas, vom învăța cum să controlăm pinii ESP8266 cu MicroPython. Pentru a face acest lucru, vom veni cu o configurare în care vom comuta starea unui LED conectat la un pin GPIO al plăcii ESP8266. Acest lucru vă va ajuta să înțelegeți cum să controlați ieșirile digitale utilizând MicoPython.
Se pregateste
Veți avea nevoie de următoarele lucruri pentru a realiza acest PAS:
1 x NodeMCU
1 x LED roșu de 5 mm
1 x 220 Ω Rezistor
1 x panou de pâine
Sârme jumper
Clădirea
Începeți prin montarea LED-ului pe panoul de control. Conectați un capăt al rezistorului de 220 Ω la piciorul pozitiv al LED-ului (piciorul pozitiv al unui LED este de obicei cel mai înalt dintre cele două picioare). Conectați celălalt capăt al rezistorului la pinul D1 al plăcii ESP8266. Apoi conectați piciorul negativ al LED-ului la pinul GND al plăcii ESP8266. Conexiunea este așa cum se arată în diagrama de mai sus.
După finalizarea configurării, conectați placa ESP8266 la computer printr-un cablu USB.
Cum să o facă…
Tastați următorul cod în REPL:
# LED intermitent la fiecare 1 secundă
intermitent def (pin = 5, timp = 1) # funcție intermitent implicit pin = 5, timp = 1s mașină de import # modulul mașinii deține configurațiile și modurile de pin din timp somn de import # somn de import pentru o anumită întârziere LED = mașină. Pin (led_pin, machine. PIN. OUT) # configurați LED-ul ca OUTPUT în timp ce este adevărat: # rulează pentru totdeauna LED.value (1) # setați LED-ul la modul HIGH sleep (timp) # așteptați 1 secundă în mod implicit LED.value (0) # setați LED-ul până la somn LOW (timp) # așteptați 1 secundă în mod implicit
Tastați blink () în sesiunea dvs. RPEL pentru a testa acest cod. Aceasta va clipi LED-ul conectat la GPIO5 la fiecare 1 secundă.
Puteți schimba pinul și / sau ora apelând:
clipi (pin =, time =)
Apăsați ctrl + c pentru a ieși din codul de rulare.
Puteți utiliza MicroPython pentru a citi o intrare de la conectat la ESP8266. Continuați cu pasul următor pentru a afla cum să faceți acest lucru.
Verificați videoclipul dacă ați blocat.
Pasul 8: decolorarea LED-ului
În acest pas, vom învăța cum să reglați luminozitatea LED-ului folosind un potențiometru rotativ. Vom folosi o tehnică numită Modularea lățimii pulsului (PWM), ne permite să estompăm LED-ul cu până la 256 de setări.
Notă: Toți pinii ESP8266 pot fi folosiți ca pin PWM, cu excepția GPIO16 (D0).
Se pregateste:
Veți avea nevoie de următoarele lucruri pentru a realiza acest PAS:
1 x NodeMCU
1 x LED roșu de 5 mm
1 x Potențiometru rotativ de 50 KΩ.
1 x panou de pâine
Sârme jumper
Clădirea
Conexiunea este așa cum se arată în diagrama de mai sus: Odată ce configurarea este finalizată, conectați placa ESP8266 la computer printr-un cablu USB.
Cum să o facă…
Tastați următorul cod în REPL:
# LED-ul de decolorare la fiecare 0,5 prin citirea datelor din potențiometru
import mașină din timp import somn led_pin = 5 # led pin POT = machine. ADC (0) # ADC0 pin LED = machine. Pin (led_pin) # creați obiect LED LED_pwm = machine. PWM (LED, frecvență = 500) # crea LED_pwm obiect și setați frecvența la 500Hz în timp ce True: LED_pwm.duty (POT.read ()) # obțineți valoarea din Pot și setați-o la ciclul de funcționare sleep (0,5) # așteptați 0,5
Aceasta va schimba luminozitatea LED-ului conectat la GPIO 5 prin schimbarea valorii potențiometrului.
Apăsați ctrl + c pentru a ieși din codul de rulare.
Verificați videoclipul dacă ați blocat.
Pasul 9: Unde să mergem de aici?
Până acum am văzut cum să configurăm și să rulăm MicroPython pe plăci bazate pe ESP8266. am învățat cum să controlăm pinii pentru a clipi un LED, apoi am adăugat un potențiometru pentru a controla luminozitatea LED-ului folosind tehnica de modulare a lățimii pulsului.
Acum putem citi datele de la senzor și le putem trimite în cloud, putem crea, de asemenea, un server HTTP unde puteți imprima datele noastre într-o pagină web simplă, etc …
Acest lucru ne oferă multe idei despre Internetul lucrurilor (IoT).
Pasul 10: Concluzie
Iată-l! Mergeți mai departe și cuceriți lumea MicroPython.
dacă aveți orice întrebare, desigur, puteți lăsa un comentariu.
Pentru a vedea mai multe despre lucrările mele, vă rugăm să vizitați canalul meu YouTube:
myYouTube
myGitHub
myLinkedin
Vă mulțumim că ați citit acest instructabil ^^ și să aveți o zi plăcută.
Ne mai vedem.
Ahmed Nouira.
Recomandat:
Noțiuni introductive despre Ham Radio: 5 pași (cu imagini)
Noțiuni introductive despre Ham Radio: Ca licențiat de șuncă recent creată, vreau să trec de-a lungul procesului pe care l-am luat pentru a intra în ham radio. M-a ademenit aspectul de încredere în sine al hobby-ului, oferindu-le oamenilor o modalitate de a comunica atunci când alte metode sunt întrerupte. Dar este, de asemenea, plăcut să
Noțiuni introductive despre camera M5StickV AI + IOT: 6 pași (cu imagini)
Noțiuni introductive despre camera M5StickV AI + IOT: prezentare succintă M5StickV este o cameră mică AI + IOT aproape cu diametrul de 2 monede, prețul este în jur de 27,00 USD, care pentru unii ar putea părea scump pentru o cameră atât de mică, dar conține unele specificații decente. Camera este alimentată de incredibil
Noțiuni introductive despre La COOL Board: 4 pași (cu imagini)
Noțiuni introductive despre La COOL Board: Introducere „Când ne-a venit ideea pentru La COOL Board, mi-am imaginat un amestec între un Arduino cu WiFi și o stație meteo agronomică modulară. Trebuia să consume foarte puțină energie pentru o funcționare autonomă și am vrut să pot controla
Noțiuni introductive despre NeoPixel / WS2812 RGB LED: 8 pași (cu imagini)
Noțiuni introductive despre LED-ul RGB NeoPixel / WS2812: [Redare video] În acest manual, vom explora despre LED-ul RGB adresabil (WS2812) sau cunoscut popular ca Adafruit NeoPixel. NeoPixel este o familie de inele, benzi, plăci & bastoane de LED-uri miniaturale pulsatoare, colorate. Acestea sunt lanțabile
Noțiuni introductive despre Arduino: Ce trebuie să știți: 4 pași (cu imagini)
Noțiuni introductive despre Arduino: Ce trebuie să știți: lucrez cu Arduino și electronice de mulți ani și învăț în continuare. În această lume în continuă expansiune a microcontrolerelor, este ușor să vă pierdeți și să rulați cercuri în jurul vostru încercând să găsiți informații. În acest instructabil