Sommario:
- Passaggio 1: cos'è MicroPython?
- Passaggio 2: requisiti
- Passaggio 3: perché la scheda basata su ESP8266?
- Passaggio 4: configurazione del computer
- Passaggio 5: lampeggiare MicroPython con Esptool.py
- Passaggio 6: utilizzo di MicroPython REPL con Rshell
- Passaggio 7: controllo dei pin utilizzando MicroPython
- Passaggio 8: dissolvenza del LED
- Passaggio 9: dove si va da qui?
- Passaggio 10: conclusione
Video: Introduzione a MicroPython su ESP8266: 10 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Vuoi un modo diverso per programmare le schede basate su ESP8266 piuttosto che il metodo comune utilizzando Arduino IDE insieme al linguaggio di programmazione C/C++?
In questo tutorial impareremo chi configurare e controllare una scheda ESP8266 utilizzando MicroPython.
TEMPO DI COSTRUZIONE: 60 MINUTI DIFFICOLTÀ: CLASSIFICAZIONE: Facile
Passaggio 1: cos'è MicroPython?
MicorPython è uno dei tanti linguaggi di programmazione che possiamo usare per programmare il modulo ESP8266. È una versione snella e veloce del linguaggio di programmazione Python 3 e presenta numerosi vantaggi rispetto ai linguaggi di programmazione tradizionali come C e C++.
MicroPython è progettato per essere il più compatibile possibile con il normale Python. Ha un compilatore Python completo e runtime e fornisce un prompt interattivo noto come REPL (Read-Eval-Print Loop).
MicorPython è progettato per supportare pochi tipi diversi di microcontrollori. Ma per questo tutorial lavorerò con un solo modello: la scheda basata su ESP8266 (NodeMCU). Nota che ci sono alcune schede diverse che puoi acquistare con lo stesso chip.
Lettura e risorse:
MicroPython
NodoMCU
Passaggio 2: requisiti
Per essere in grado di seguire questo tutorial devi solo avere un'esperienza di base di codifica con Python. Non è necessario avere alcuna conoscenza precedente di microcontrollori, elettronica o persino MicroPython.
Avrai anche bisogno di un computer Windows, Mac o Linux con una porta USB libera, poiché collegherai un microcontrollore al tuo computer per programmarlo.
Parti richieste:
1 x NodeMCU (o altra scheda basata su ESP8266)
1 x LED rosso da 5 mm
1 x 220Ω resistenza 1/4W
1 x 10KΩ Potenziometro rotativo
1 x tagliere
1 x cavo da USB a MicroUSB
Fili di ponticello.
Passaggio 3: perché la scheda basata su ESP8266?
Un modo per ottenere il massimo dal tuo ESP8266 è utilizzare MicroPython. Inoltre, il modulo ESP8266 è una delle migliori piattaforme su cui imparare a usare MicroPython. Questo perché ESP8266 fornisce semplici funzioni di controllo pin GPIO e funzionalità wireless, consentendo di testare tutti gli aspetti del linguaggio di programmazione MicroPython.
Il chip ESP8266 è popolare nel settore dello sviluppo open source. Esistono molte schede di sviluppo di diversi produttori che utilizzano il chip ESP8266. MicroPython è stato progettato per fornire una porta generica che può essere eseguita sulla maggior parte di queste schede, con il minor numero possibile di limitazioni. La porta è basata sulla scheda Adafruit Feather HUZZAH Quando si utilizzano altre schede ESP8266, assicurarsi di controllare i loro schemi e schede tecniche in modo da poter identificare le differenze tra queste e la scheda Adafruit Feather HUZZAH. In questo modo, puoi adattare le differenze nel tuo codice.
Lettura e risorse:
ESP8266
Piuma di Adafruit HUZZAH
Passaggio 4: configurazione del computer
Ci sono diverse cose che devi impostare prima di usare MicroPython per programmare la tua scheda ESP8266. In questo passaggio seguiremo il processo di installazione. In questo modo saprai come configurare la scheda ESP8266 da utilizzare con MicroPython.
Prepararsi
Tutto ciò di cui hai bisogno da questo passaggio al passaggio 6 è il tuo ESP8266 e un cavo USB. Collega la tua scheda ESP8266 al tuo computer.
Come farlo…
PASSO1: Installa i driver del dispositivo
Se si dispone di un computer Linux, non è necessario installare alcun driver di dispositivo affinché i driver del microcontrollore vengano riconosciuti. Ma se si dispone di un computer Mac o Windows, è necessario un driver per consentire al computer di riconoscere il microcontrollore come dispositivo seriale.
www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers.
PASSO2: Installa Python
Gli strumenti che utilizzerai per comunicare con ESP8266 sono scritti in Python, quindi devi installare Python sul tuo computer.
Se il tuo sistema operativo non fornisce un Python preconfezionato, puoi andare su https://python.org per scaricare una build ufficiale per uno qualsiasi dei sistemi operativi supportati.
PASSO3: Installa esptool e rshell
Installa due pacchetti che ti aiuteranno a gestire la tua scheda usando pip. Per farlo apri il tuo terminale ed esegui
pip install esptool rshell
PASSO4: Scarica MicroPython
Scarica l'ultimo firmware MicroPython.bin dal seguente link:
Al momento in cui scrivo, la versione corrente è 1.11 e il file del firmware si chiama esp8266-20190529-v1.11.bin
Quando lo fai, potresti trovare una versione più recente.
Passaggio 5: lampeggiare MicroPython con Esptool.py
Prima di eseguire il flashing di un nuovo firmware nella scheda è una buona idea cancellare tutti i dati precedenti. Questa è una cosa che dovresti sempre fare in modo che il nuovo firmware funzioni da uno stato pulito.
Vai dove hai posizionato il file.bin. Usa esptool.py per cancellare il flash.
Per Linux:
esptool.py --port /dev/ttyUSB0 erase_flash
Per Windows:
esptool.py --port COM3 erase_flash
Potrebbe essere necessario modificare la porta seriale nel comando con la porta seriale a cui è collegata la scheda ESP8266. Se non conosci il numero della porta seriale del tuo ESP8266, puoi controllare nell'IDE di Arduino. Basta aprire l'IDE e quindi fare clic su Strumenti | porti. Dovresti vedere la porta seriale della tua scheda ESP8266 elencata lì. Sostituisci la porta seriale nel comando (/dev/ttyUSB0) con la porta seriale della tua scheda.
Ora che la scheda è stata completamente cancellata, puoi eseguire il flashing della build MicroPython che hai appena scaricato. Questo viene fatto anche con il comando esptool.py:
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash 0 esp8266-20190529-v1.11.bin
Questo comando scriverà il contenuto del file MicroPython.bin sulla scheda all'indirizzo 0.
Assicurati di cambiare il nome del file.bin del firmware nel comando (esp82688-2019-080529-v1.11.bin) con quello del firmware che hai scaricato.
Una volta che il firmware è stato installato con successo sulla tua scheda ESP8266, puoi accedere a REPL sulla tua scheda tramite una connessione cablata (porta seriale UART) o tramite WiFi.
Passaggio 6: utilizzo di MicroPython REPL con Rshell
Ora sei pronto per avviare MicroPython sulla tua scheda ESP8266.
Quello che ti mostrerò come connettersi al prompt Python in esecuzione sulla tua scheda. Questo è chiamato REPL, che sta per "Read-Eval-Print-Loop". Questo è il prompt standard di Python che probabilmente sei abituato a vedere quando lavori con il normale interprete Python, ma questa volta verrà eseguito sulla tua scheda e per interagire con esso utilizzerai la connessione seriale al tuo computer. Pronto?
Per connetterti alla tua scheda e aprire una sessione REPL, inserisci il seguente comando:
rshell --port
Questo comando ti porterà nel prompt di rshell. Vedi foto sopra.
Se stai seguendo questo tutorial su Windows, nota che rshell ha una cronologia di problemi durante l'esecuzione su Windows.
Quindi, per correggere quel tipo:
rshell -a --port COM3
Da questo prompt puoi eseguire attività di gestione relative alla tua scheda microcontrollore e anche avviare un REPL Python che puoi utilizzare per interagire con la scheda in tempo reale. Quindi basta inserire il seguente comando:
sostituire
Per assicurarti che tutto funzioni, digita una semplice frase Python:
print("Ciao mondo")
Passaggio 7: controllo dei pin utilizzando MicroPython
In questo passaggio, impareremo come controllare i pin ESP8266 con MicroPython. Per fare ciò, creeremo una configurazione in cui cambieremo lo stato di un LED collegato a un pin GPIO della scheda ESP8266. Questo ti aiuterà a capire come controllare le uscite digitali usando MicoPython.
Prepararsi
Avrai bisogno delle seguenti cose per realizzare questo PASSO:
1 x NodeMCU
1 x LED rosso da 5 mm
1 x 220 Resistenza
1 x tagliere
Cavi per ponticelli
la costruzione
Inizia montando il LED sulla breadboard. Collegare un'estremità del resistore da 220 alla gamba positiva del LED (la gamba positiva di un LED è solitamente quella più alta delle due gambe). Collegare l'altra estremità del resistore al pin D1 della scheda ESP8266. Quindi collegare la gamba negativa del LED al pin GND della scheda ESP8266. Il collegamento è come mostrato nello schema sopra.
Una volta completata la configurazione, collega la scheda ESP8266 al computer tramite un cavo USB.
Come farlo…
Digita il seguente codice nel tuo REPL:
# LED lampeggiante ogni 1 secondo
def blink(pin=5, time=1) # funzione di lampeggio di default pin=5, time=1s import machine # il modulo machine contiene le configurazioni dei pin e le modalità da time import sleep # import sleep per qualche ritardo LED = machine. Pin (led_pin, machine. PIN. OUT) # configura il LED come OUTPUT while True: # esegui per sempre LED.value(1) # imposta il LED su HIGH sleep(time) # aspetta 1 secondo per impostazione predefinita LED.value(0) # imposta LED to LOW sleep(time) # aspetta 1 secondo per impostazione predefinita
Digita blink() nella tua sessione RPEL per testare questo codice. Questo farà lampeggiare il LED collegato al GPIO5 ogni 1 secondo.
Puoi cambiare il pin e/o l'ora chiamando:
lampeggio (pin=, tempo=)
Premi ctrl+c per uscire dal codice in esecuzione.
È possibile utilizzare MicroPython per leggere un input da connesso a ESP8266. Procedi con il passaggio successivo per imparare a farlo.
Controlla il video se sei bloccato.
Passaggio 8: dissolvenza del LED
In questo passaggio impareremo come regolare la luminosità del LED utilizzando un potenziometro rotativo. Utilizzeremo una tecnica chiamata Pulse Width Modulation (PWM), che ci consente di attenuare il LED con un massimo di 256 impostazioni.
Avviso: tutti i pin di ESP8266 possono essere utilizzati come pin PWM tranne GPIO16 (D0).
Prepararsi:
Avrai bisogno delle seguenti cose per realizzare questo PASSO:
1 x NodeMCU
1 x LED rosso da 5 mm
1 potenziometro rotativo da 50 KΩ.
1 x tagliere
Cavi per ponticelli
la costruzione
La connessione è come mostrato nel diagramma sopra: Una volta completata l'installazione, collegare la scheda ESP8266 al computer tramite un cavo USB.
Come farlo…
Digita il seguente codice nel tuo REPL:
# Fading LED ogni 0,5 leggendo i dati dal potenziometro
import machine from time import sleep 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 oggetto e imposta la frequenza a 500Hz mentre True: LED_pwm.duty(POT.read()) # ottieni il valore dal Pot e impostalo sul ciclo di lavoro sleep(0.5) # attendi 0,5
Questo cambierà la luminosità del LED collegato a GPIO 5 cambiando il valore del potenziometro.
Premi ctrl+c per uscire dal codice in esecuzione.
Controlla il video se sei bloccato.
Passaggio 9: dove si va da qui?
Finora abbiamo visto come configurare ed eseguire MicroPython su schede basate su ESP8266. abbiamo imparato a controllare i pin per far lampeggiare un LED, quindi abbiamo aggiunto un potenziometro per controllare la luminosità del LED utilizzando la tecnica della modulazione dell'ampiezza dell'impulso.
Ora possiamo leggere i dati dal sensore e inviarli al cloud, possiamo anche creare un server HTTP dove poter stampare i nostri dati in una semplice pagina web, ecc…
Questo ci dà molte idee sull'Internet delle cose (IoT).
Passaggio 10: conclusione
Ecco qua! Vai avanti e conquista il mondo di MicroPython.
se hai qualche domanda ovviamente puoi lasciare un commento.
Per vedere di più sui miei lavori, visita il mio canale YouTube:
mioYouTube
myGitHub
myLinkedin
Grazie per aver letto questo istruttivo ^^ e buona giornata.
Ci vediamo.
Ahmed Nuira.
Consigliato:
Casco di sicurezza Covid Parte 1: un'introduzione ai circuiti di Tinkercad!: 20 passaggi (con immagini)
Casco di sicurezza Covid Parte 1: un'introduzione ai circuiti di Tinkercad!: Ciao, amico! In questa serie in due parti, impareremo come usare i circuiti di Tinkercad: uno strumento divertente, potente ed educativo per imparare come funzionano i circuiti! Uno dei modi migliori per imparare è fare. Quindi, prima disegneremo il nostro progetto personale: th
Ciambelle di gelatina conduttive - un'introduzione ai circuiti di cucito con Makey Makey: 4 passaggi (con immagini)
Ciambelle di gelatina conduttive - un'introduzione ai circuiti di cucito con Makey Makey: abbiamo notato su Twitter che molti dei nostri fanatici di Scratch e Makey Makey volevano saperne di più sui circuiti di cucito, quindi abbiamo creato questo tutorial per darti una rapida introduzione sui circuiti di cucito e come puoi cucire alcuni pezzi modulari. (Questo è
Flag di notifica - Ottima introduzione a Wi-Fi, IFTTT e Huzzah ESP8266: 9 passaggi (con immagini)
Flag di notifica - Ottima introduzione a Wi-Fi, IFTTT e Huzzah ESP8266: mi mancano sempre cose importanti… quindi ho creato Flag. Un dispositivo Internet of Things (IoT) per notificare o ricordarmi queste cose importanti! Ora, con una rapida occhiata alla mia scrivania, posso vedere se… ho un'e-mail in cui sono stato menzionato in due
Introduzione al riconoscimento vocale con Elechouse V3 e Arduino.: 4 passaggi (con immagini)
Introduzione al riconoscimento vocale con Elechouse V3 e Arduino.: Ciao…!La tecnologia di riconoscimento vocale è stata qui negli ultimi anni. Ricordiamo ancora la grande eccitazione che abbiamo avuto parlando con il primo iPhone abilitato per Siri. Da allora, i dispositivi di comando vocale sono cresciuti fino a un livello molto avanzato beyo
Introduzione alla programmazione 8051 con AT89C2051 (Guest Starring: Arduino): 7 passaggi (con immagini)
Introduzione alla programmazione dell'8051 con AT89C2051 (Guest Starring: Arduino): l'8051 (noto anche come MCS-51) è un design MCU degli anni '80 che rimane popolare oggi. I moderni microcontrollori compatibili con 8051 sono disponibili da più fornitori, in tutte le forme e dimensioni e con un'ampia gamma di periferiche. In questa istruzione