Sommario:

Introduzione a MicroPython su ESP8266: 10 passaggi (con immagini)
Introduzione a MicroPython su ESP8266: 10 passaggi (con immagini)

Video: Introduzione a MicroPython su ESP8266: 10 passaggi (con immagini)

Video: Introduzione a MicroPython su ESP8266: 10 passaggi (con immagini)
Video: PYTHON SU ESP32: INSTALLARE E UTILIZZARE MICROPYTHON 2024, Novembre
Anonim
Iniziare con MicroPython su ESP8266
Iniziare con MicroPython su ESP8266

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

Requisiti
Requisiti
Requisiti
Requisiti
Requisiti
Requisiti
Requisiti
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?

Perché la scheda basata su ESP8266?
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

Configurazione del computer
Configurazione del computer
Configurazione del computer
Configurazione del computer
Configurazione del computer
Configurazione del computer
Configurazione del computer
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

MicroPython lampeggiante con Esptool.py
MicroPython lampeggiante con Esptool.py
MicroPython lampeggiante con Esptool.py
MicroPython lampeggiante 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

Utilizzo di MicroPython REPL con Rshell
Utilizzo di MicroPython REPL con Rshell
Utilizzo di MicroPython REPL con Rshell
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

Controllo dei pin utilizzando MicroPython
Controllo dei pin utilizzando MicroPython
Controllo dei pin utilizzando MicroPython
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

Dissolvenza del LED
Dissolvenza del LED
Dissolvenza del LED
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: