Sommario:

MicroPython sulla scheda sensore Complex Arts: 3 passaggi
MicroPython sulla scheda sensore Complex Arts: 3 passaggi

Video: MicroPython sulla scheda sensore Complex Arts: 3 passaggi

Video: MicroPython sulla scheda sensore Complex Arts: 3 passaggi
Video: ESP 32 + MICROPYTHON: CREARE UN ANTIFURTO CON DASHBOARD DI CONTROLLO 2024, Novembre
Anonim
MicroPython sulla scheda sensore Complex Arts
MicroPython sulla scheda sensore Complex Arts
MicroPython sulla scheda sensore Complex Arts
MicroPython sulla scheda sensore Complex Arts

Uno degli aspetti più sorprendenti del microcontrollore ESP32 è la sua capacità di eseguire MicroPython. Questo può essere fatto in due modi: eseguendo programmi Python completi o interattivamente tramite un'applicazione console. Questo Instructable dimostrerà come utilizzare MicroPython in entrambi i modi utilizzando la Complex Arts Sensor Board. Eseguiremo prima un'applicazione di esempio che raccoglie i dati dell'accelerometro dall'IMU BNO_085, quindi utilizzeremo un programma seriale per programmare in modo interattivo in Python.

Livello: questo tutorial presuppone una certa conoscenza di Python e che Python sia installato. Presuppone inoltre la conoscenza dei comandi di base del terminale.

Strumenti: gli unici strumenti di cui avremo bisogno saranno la Sensor Board, un programma terminale e un programma console seriale. Su un Mac, puoi semplicemente usare il terminale. Su una macchina Windows, dovrai scaricare e installare un programma terminale. Per la console seriale. Il mastice è sempre una buona scelta.

Passaggio 1: ottenere il firmware e le librerie

Per iniziare, dovremo scaricare il firmware personalizzato fornito da Complex Arts e quindi installarlo sulla Sensor Board. Il firmware può essere trovato qui:

Scarica il file firmware.bin e mettilo nella cartella che preferisci. Alla fine avrai anche bisogno del programma di esempio Complex Arts, quindi potresti anche farlo ora; vai su: https://github.com/ComplexArts/SensorBoardPython e git clone o scarica nella posizione che preferisci.

Una volta ottenuti i file, avremo bisogno di alcuni pacchetti per l'interfaccia con ESP32. Il primo pacchetto di cui avremo bisogno è esptool.py. Per installarlo, digita semplicemente

pip install esptool

nel terminale.

Una volta installato esptool, possiamo cancellare e quindi eseguire nuovamente il flashing del chip. Per farlo, entra

esptool.py --chip esp32 --port COM4 erase_flash

per la porta inserire la porta seriale che coincide con la Sensor Board. Su un Mac, sarebbe simile a --port /dev/ttyUSB0

Fatto ciò, lampeggeremo il chip con:

esptool.py --chip esp32 --port COM4 --baud 460800 write_flash -z 0x1000 firmware.bin

Di nuovo, cambia la porta di conseguenza.

Passaggio 2: lavorare con MicroPython

Lavorare con MicroPython
Lavorare con MicroPython

Se controlliamo l'uscita seriale della Sensor Board a questo punto, vedremo il REPL Python (il ciclo read-eval-print: >>>) Per fare ciò, avremo bisogno di un programma di console seriale. Putty è una buona opzione in quanto fornisce opzioni per SSH e telnet, ma anche una semplice comunicazione seriale come faremo qui. putty.org. Una volta installato, aprilo e seleziona "Seriale" sotto "Tipo di connessione:" Dovrai digitare lo stesso nome della porta seriale che hai inserito per esptool sopra, quindi una velocità di trasmissione di 115200 per la velocità. Vai avanti e fai clic su "Apri". E c'è Python!

Ora vorremmo caricare ed eseguire il nostro codice di esempio. Per farlo, vai alla cartella in cui hai precedentemente salvato gli esempi di SensorBoardPython. Avremo bisogno del fantastico pacchetto di Adafruit. Puoi installarlo con:

pip install adafruit-ampy = 0.6.3

Una volta che lo hai, usa ampy per caricare l'esempio dell'accelerometro sulla scheda:

ampy -p COM4 put accelerometer.py

(cambiando la porta di conseguenza, ovviamente). Ora ripristina la tua scheda con il pulsante di ripristino. Torneremo a Putty a questo punto e al prompt >>>, digitare

importare accelerometro

Viola! Ora stai eseguendo il codice accelerometer.py sulla Sensor Board! Il codice verrà eseguito per 20 secondi, quindi si fermerà. Notare che mentre il codice dell'accelerometro è in esecuzione, il LED blu sulla scheda lampeggia. Per chi ha più familiarità con Python, noterai che questo viene fatto senza threading e senza delay(). Ciò è dovuto all'uso della libreria asyncio di Python, che fornisce ottimi metodi per eseguire attività contemporaneamente ed è super utile su piattaforme integrate come ESP32. Se non lo conosci, vale la pena dare un'occhiata; c'è un ottimo tutorial qui: https://github.com/peterhinch/micropython-async/b… (ma attenzione, è un po' inebriante).

Passaggio 3: MicroPython su seriale

Torna al compito a portata di mano! Quando il codice dell'accelerometro si ferma, vedrai di nuovo il Python >>>. Ora possiamo programmare in modo interattivo usando la Sensor Board come nostro interprete Python. Per farlo, entra

>>x = 10

>>y = 11

>>x + y

21

Sebbene questo sia l'esempio più elementare, possiamo facilmente iniziare a creare codice più complesso utilizzando le librerie Complex Arts come punto di partenza. Ciò consente di eseguire misurazioni di posizione e movimento al volo, con controllo in tempo reale. Con i pin GPIO disponibili sulla Sensor Board, puoi facilmente collegare servi, luci, sensori, motori o qualsiasi numero di dispositivi fisici, utilizzandoli in modo interattivo o tramite un programma Python. Divertiti!

Per ulteriori informazioni, dai un'occhiata a queste altre risorse:

complexarts.net/home/

complexarts.net/docs/bno085/

Consigliato: