Cuprins:

Noțiuni introductive despre MicroPython pe ESP8266: 10 pași (cu imagini)
Noțiuni introductive despre MicroPython pe ESP8266: 10 pași (cu imagini)

Video: Noțiuni introductive despre MicroPython pe ESP8266: 10 pași (cu imagini)

Video: Noțiuni introductive despre MicroPython pe ESP8266: 10 pași (cu imagini)
Video: arm mbed platform 2024, Noiembrie
Anonim
Noțiuni introductive despre MicroPython pe ESP8266
Noțiuni introductive despre MicroPython pe ESP8266

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

Cerințe
Cerințe
Cerințe
Cerințe
Cerințe
Cerințe
Cerințe
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?

De ce placa bazată pe ESP8266?
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

Configurarea computerului
Configurarea computerului
Configurarea computerului
Configurarea computerului
Configurarea computerului
Configurarea computerului
Configurarea computerului
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

Intermitent MicroPython Cu Esptool.py
Intermitent MicroPython Cu Esptool.py
Intermitent MicroPython Cu Esptool.py
Intermitent MicroPython 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

Utilizarea MicroPython REPL cu Rshell
Utilizarea MicroPython REPL cu Rshell
Utilizarea MicroPython REPL cu Rshell
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

Controlul pinilor folosind MicroPython
Controlul pinilor folosind MicroPython
Controlul pinilor folosind MicroPython
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

Decolorarea LED-ului
Decolorarea LED-ului
Decolorarea LED-ului
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: