Taula de continguts:
- Pas 1: què és MicroPython?
- Pas 2: Requisits
- Pas 3: Per què el tauler basat en ESP8266?
- Pas 4: Configuració de l'ordinador
- Pas 5: MicroPython intermitent amb Esptool.py
- Pas 6: utilitzar el MicroPython REPL amb Rshell
- Pas 7: Control de pins mitjançant MicroPython
- Pas 8: esvair el LED
- Pas 9: cap a on des d’aquí?
- Pas 10: Conclusió
Vídeo: Introducció a MicroPython a l'ESP8266: 10 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
Voleu una manera diferent de programar les plaques basades en ESP8266 en lloc del mètode comú que utilitza Arduino IDE juntament amb el llenguatge de programació C / C ++?
En aquest tutorial aprendrem qui ha de configurar i controlar una placa ESP8266 mitjançant MicroPython.
TEMPS DE CONSTRUCCIÓ: 60 MINUTS DIFICULTAT: VALORACIÓ: Fàcil
Pas 1: què és MicroPython?
MicorPython és un dels molts llenguatges de programació que podem utilitzar per programar el mòdul ESP8266. És una versió senzilla i ràpida del llenguatge de programació Python 3 i té diversos avantatges respecte als llenguatges de programació tradicionals com C i C ++.
MicroPython està dissenyat per ser compatible amb Python normal tant com sigui possible. Té un compilador i un temps d'execució complet de Python i proporciona un avís interactiu conegut com REPL (Read-Eval-Print Loop).
MicorPython està dissenyat per admetre pocs tipus diferents de microcontroladors. Però per a aquest tutorial treballaré amb un sol model: la placa basada en ESP8266 (NodeMCU). Tingueu en compte que hi ha alguns taulers diferents que podeu comprar amb el mateix xip.
Lectura i recursos:
MicroPython
NodeMCU
Pas 2: Requisits
Per poder seguir aquest tutorial només cal tenir experiència bàsica en codificació amb Python. No cal tenir cap coneixement previ de microcontroladors, electrònica o fins i tot MicroPython.
També necessitareu un ordinador Windows, Mac o Linux amb un port USB gratuït, ja que connectareu un microcontrolador a l’ordinador per programar-lo.
Parts necessàries:
1 x NodeMCU (o una altra placa base ESP8266)
1 x LED vermell de 5 mm
1 x 220Ω 1 / 4W resistència
Potenciòmetre rotatiu 1 x 10KΩ
1 x Taula de pa
1 x cable USB a MicroUSB
Filferros de pont.
Pas 3: Per què el tauler basat en ESP8266?
Una manera de treure el màxim profit del vostre ESP8266 és mitjançant MicroPython. A més, el mòdul ESP8266 és una de les millors plataformes per aprendre a utilitzar MicroPython. Això es deu al fet que l’ESP8266 proporciona funcions de control de pin GPIO senzilles, així com una funcionalitat sense fils, que us permetrà provar tots els aspectes del llenguatge de programació MicroPython.
El xip ESP8266 és popular a la indústria del desenvolupament de codi obert. Hi ha moltes plaques de desenvolupament de diferents fabricants que utilitzen el xip ESP8266. MicroPython ha estat dissenyat per proporcionar un port genèric que es pot executar a la majoria d’aquestes plaques, amb el mínim de limitacions possibles. El port es basa en la placa Adafruit Feather HUZZAH Quan utilitzeu altres plaques ESP8266, assegureu-vos de comprovar els seus esquemes i fulls tècnics perquè pugueu identificar les diferències entre ells i la placa Adafruit Feather HUZZAH. D’aquesta manera, podeu adaptar les diferències del vostre codi.
Lectura i recursos:
ESP8266
Ploma d'Adafruit HUZZAH
Pas 4: Configuració de l'ordinador
Hi ha diverses coses que heu de configurar abans d’utilitzar MicroPython per programar la vostra placa ESP8266. Passarem pel procés de configuració en aquest pas. D'aquesta manera sabreu com configurar la placa ESP8266 per utilitzar-la amb MicroPython.
Preparant-se
Tot el que necessiteu d’aquest pas al pas 6 és el vostre ESP8266 i un cable USB. Connecteu la vostra placa ESP8266 a l'ordinador.
Com fer-ho…
PAS 1: instal·leu els controladors de dispositiu
Si teniu un ordinador Linux, no cal que instal·leu cap controlador de dispositiu perquè es reconeguin els controladors del microcontrolador, però si teniu un equip Mac o Windows, cal un controlador que permeti a l’ordinador reconèixer el microcontrolador. com a dispositiu de sèrie.
www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers.
PAS 2: instal·leu Python
Les eines que utilitzeu per comunicar-vos amb l’ESP8266 s’escriuen a Python, de manera que heu d’instal·lar Python al vostre ordinador.
Si el vostre sistema operatiu no proporciona Python pre-empaquetat, podeu anar a https://python.org per descarregar una versió oficial de qualsevol dels sistemes operatius admesos.
PAS 3: instal·leu esptool i rshell
Instal·leu dos paquets que us ajudaran a gestionar el tauler mitjançant pip. Per fer-ho, obriu el terminal i executeu-lo
pip install esptool rshell
PAS 4: descarregueu MicroPython
Descarregueu el microprogramari.bin més recent de MicroPython des del següent enllaç:
En el moment que escric això, la versió actual és 1.11 i el fitxer de microprogramari s’anomena esp8266-20190529-v1.11.bin
En fer-ho, és possible que trobeu una versió més recent.
Pas 5: MicroPython intermitent amb Esptool.py
Abans d’introduir un nou microprogramari a la placa, és una bona idea esborrar qualsevol dada anterior, cosa que sempre heu de fer perquè el nou microprogramari funcioni en estat net.
Aneu a on heu col·locat el fitxer.bin. Utilitzeu esptool.py per esborrar el flaix.
Per a Linux:
esptool.py --port / dev / ttyUSB0 erase_flash
Per a Windows:
esptool.py --port COM3 erase_flash
És possible que hagueu de canviar el port sèrie de la vostra ordre pel port sèrie al qual està connectada la vostra placa ESP8266. Si no coneixeu el número de port sèrie del vostre ESP8266, podeu comprovar-lo a l'IDE Arduino. Només heu d’obrir l’IDE i fer clic a Eines | Ports. Hi hauríeu de veure el port sèrie de la vostra placa ESP8266. Substituïu el port sèrie de l'ordre (/ dev / ttyUSB0) pel port sèrie de la vostra placa.
Ara que el tauler està completament esborrat, podeu fer flaixar la versió de MicroPython que acabeu de descarregar. Això també es fa amb l'ordre esptool.py:
esptool.py --port / dev / ttyUSB0 --baud 460800 write_flash 0 esp8266-20190529-v1.11.bin
Aquesta ordre escriurà el contingut del fitxer.bin de MicroPython al tauler a l’adreça 0.
Assegureu-vos de canviar el nom del fitxer.bin del firmware a l’ordre (esp82688-2019-080529-v1.11.bin) pel que fa al firmware que heu baixat.
Una vegada que el microprogramari s’hagi instal·lat correctament a la vostra placa ESP8266, podeu accedir a REPL a la vostra placa mitjançant una connexió per cable (port sèrie UART) o WiFi pensada.
Pas 6: utilitzar el MicroPython REPL amb Rshell
Ja esteu a punt per iniciar MicroPython a la vostra placa ESP8266.
El que us mostraré com connectar-vos a la sol·licitud de Python que s’executa al vostre tauler. Això s’anomena REPL, que significa "Read-Eval-Print-Loop". Aquesta és la sol·licitud estàndard de Python que probablement esteu acostumat a veure quan es treballa amb l’intèrpret normal de Python, però aquesta vegada s’executarà a la vostra placa i, per interactuar-hi, utilitzeu la connexió sèrie al vostre ordinador.. A punt?
Per connectar-vos al tauler i obrir una sessió REPL, introduïu l'ordre següent:
rshell --port
Aquesta ordre us portarà a la sol·licitud rshell. Veure la foto superior.
Si seguiu aquest tutorial al Windows, tingueu en compte que rshell té un historial de problemes quan s’executa al Windows.
Per tal de solucionar aquest tipus:
rshell -a --port COM3
Des d’aquest avís podeu realitzar tasques de gestió relacionades amb la vostra placa de microcontroladors i també iniciar un Python REPL que podeu utilitzar per interactuar amb la placa en temps real. Per tant, només cal que introduïu l’ordre següent:
resposta
Per assegurar-vos que tot funciona, escriviu una frase Python senzilla:
imprimir ("Hello World")
Pas 7: Control de pins mitjançant MicroPython
En aquest pas, aprendrem a controlar els pins ESP8266 amb MicroPython. Per fer-ho, trobarem una configuració on canviarem l'estat del LED connectat a un pin GPIO de la placa ESP8266. Això us ajudarà a entendre com controlar les sortides digitals mitjançant MicoPython.
Preparant-se
Necessiteu les coses següents per dur a terme aquest PAS:
1 x NodeMCU
1 x LED vermell de 5 mm
1 x 220 Ω resistència
1 x Taula de pa
Filferros de pont
El Build
Comenceu muntant el LED a la pissarra. Connecteu un extrem de la resistència de 220 Ω a la pota positiva del LED (la pota positiva d’un LED sol ser la més alta de les dues potes). Connecteu l'altre extrem de la resistència al pin D1 de la placa ESP8266. A continuació, connecteu la pota negativa del LED al pin GND de la placa ESP8266. La connexió és la que es mostra al diagrama anterior.
Un cop finalitzada la configuració, connecteu la placa ESP8266 a l'ordinador mitjançant un cable USB.
Com fer-ho…
Escriviu el següent codi al vostre REPL:
# LED parpellejant cada 1 segon
parpelleig per defecte (pin = 5, temps = 1) # funció de parpelleig per defecte pin = 5, temps = 1 s màquina d'importació # el mòdul de la màquina conté les configuracions i modes del pin des de la importació del temps de suspensió # importació de la suspensió per un cert retard LED = màquina. (led_pin, machine. PIN. OUT) # configurar el LED com a SORTIDA mentre és cert: # s'executa per sempre LED.value (1) # estableix el LED a HIGH sleep (temps) # espera 1 segon per defecte LED.value (0) # estableix el LED a BAIX dormir (temps) # espereu 1 segon per defecte
Escriviu blink () a la vostra sessió RPEL per provar aquest codi. Això farà parpellejar el LED connectat al GPIO5 cada 1 segon.
Podeu canviar el pin i / o l'hora trucant a:
parpellejar (pin =, time =)
Premeu Ctrl + C per sortir del codi en execució.
Podeu utilitzar MicroPython per llegir una entrada connectada a l’ESP8266. Aneu al següent pas per obtenir informació sobre com fer-ho.
Comproveu el vídeo si us heu quedat atrapats.
Pas 8: esvair el LED
En aquest pas, aprendrem a ajustar la brillantor del LED mitjançant un potenciòmetre rotatiu. Utilitzarem una tècnica anomenada Pulse Width Modulation (PWM), que ens permet atenuar el LED amb fins a 256 paràmetres.
Avís: tots els pins de l’ESP8266 es poden utilitzar com a pins PWM excepte GPIO16 (D0).
Preparant-se:
Necessiteu les coses següents per dur a terme aquest PAS:
1 x NodeMCU
1 x LED vermell de 5 mm
Potenciòmetre rotatiu 1 x 50 KΩ.
1 x Taula de pa
Filferros de pont
El Build
La connexió és la que es mostra al diagrama anterior: un cop finalitzada la configuració, connecteu la placa ESP8266 a l'ordinador mitjançant un cable USB.
Com fer-ho…
Escriviu el codi següent al vostre REPL:
# Esvaïment del LED cada 0,5 llegint dades del potenciòmetre
importa la màquina des de la importació del temps led_pin = 5 # led pin POT = machine. ADC (0) # ADC0 pin LED = machine. Pin (led_pin) # create LED object LED_pwm = machine. PWM (LED, freq = 500) # create LED_pwm objecte i estableix la freqüència a 500Hz mentre és cert: LED_pwm.duty (POT.read ()) # obté el valor de la pota i posa-ho al repòs del cicle de treball (0,5) # espera 0,5
Això canviarà la brillantor del LED connectat a GPIO 5 canviant el valor del potenciòmetre.
Premeu Ctrl + C per sortir del codi en execució.
Comproveu el vídeo si us heu quedat atrapats.
Pas 9: cap a on des d’aquí?
Fins ara hem vist com configurar i executar MicroPython en plaques basades en ESP8266. vam aprendre a controlar els pins per parpellejar un LED i després vam afegir un potenciòmetre per controlar la brillantor del LED mitjançant la tècnica de modulació d’amplada de pols.
Ara podem llegir les dades del sensor i enviar-les al núvol, també podem crear un servidor HTTP on pugueu imprimir les nostres dades en una pàgina web senzilla, etc.
Això ens dóna molta idea de la Internet de les coses (IoT).
Pas 10: Conclusió
Aquí el teniu! Sortiu i conqueriu el món de MicroPython.
si teniu alguna pregunta, és clar, podeu deixar un comentari.
Per obtenir més informació sobre les meves obres, visiteu el meu canal de YouTube:
myYouTube
myGitHub
myLinkedin
Gràcies per llegir aquest instructiu ^^ i tingueu un bon dia.
Ens veiem.
Ahmed Nouira.
Recomanat:
Reconeixement d'imatges amb plaques K210 i Arduino IDE / Micropython: 6 passos (amb imatges)
Reconeixement d’imatges amb plaques K210 i Arduino IDE / Micropython: ja vaig escriure un article sobre com executar demostracions d’OpenMV a Sipeed Maix Bit i també vaig fer un vídeo de demostració de detecció d’objectes amb aquesta placa. Una de les moltes preguntes que la gent ha formulat és: com puc reconèixer un objecte que la xarxa neuronal no és tr
Conductes de gelatina: introducció als circuits de costura amb Makey Makey: 4 passos (amb imatges)
Conductive Jelly Donuts: Introducció als circuits de costura amb Makey Makey: a Twitter ens vam adonar que molts dels nostres fanàtics de Scratch i Makey Makey volien saber més sobre els circuits de costura. i com es poden cosir algunes peces modulars. (Això és
Bandera de notificacions: introducció fantàstica a Wi-Fi, IFTTT i Huzzah ESP8266: 9 passos (amb imatges)
Bandera de notificacions: gran introducció a Wi-Fi, IFTTT i Huzzah ESP8266: sempre em falten coses importants … així que he creat Flag. Un dispositiu Internet de les Coses (IoT) per notificar-me o recordar-me aquestes coses importants. Ara, amb una mirada ràpida al meu escriptori, puc veure si … Tinc un correu electrònic que em van esmentar en un twe
Introducció al reconeixement de veu amb Elechouse V3 i Arduino .: 4 passos (amb imatges)
Introducció al reconeixement de veu amb Elechouse V3 i Arduino: Hola … La tecnologia de reconeixement de veu ha estat aquí durant els darrers anys. Encara recordem la gran il·lusió que vam tenir mentre parlàvem amb el primer iPhone habilitat per Siri. Des de llavors, els dispositius d'ordres de veu han crescut fins a un nivell molt avançat
Introducció a la programació 8051 amb AT89C2051 (convidat destacat: Arduino): 7 passos (amb imatges)
Introducció a la programació 8051 amb AT89C2051 (convidat destacat: Arduino): el 8051 (també conegut com MCS-51) és un disseny MCU dels anys 80 que continua sent popular avui en dia. Els microcontroladors moderns compatibles amb 8051 estan disponibles a diversos proveïdors, en totes les formes i mides, i amb una àmplia gamma de perifèrics. En aquesta instrucció