Taula de continguts:

MicroPython a la placa del sensor d’arts complexes: 3 passos
MicroPython a la placa del sensor d’arts complexes: 3 passos

Vídeo: MicroPython a la placa del sensor d’arts complexes: 3 passos

Vídeo: MicroPython a la placa del sensor d’arts complexes: 3 passos
Vídeo: Blinking LED Tutorial: ESP32 with MicroPython 2024, De novembre
Anonim
MicroPython a la placa del sensor d’arts complexes
MicroPython a la placa del sensor d’arts complexes
MicroPython a la placa del sensor d’arts complexes
MicroPython a la placa del sensor d’arts complexes

Un dels aspectes més sorprenents del microcontrolador ESP32 és la seva capacitat per executar MicroPython. Això es pot fer de dues maneres: executant programes Python complets o de manera interactiva mitjançant una aplicació de consola. Aquest instructiu demostrarà com s'utilitza MicroPython de totes dues maneres mitjançant la placa del sensor d'arts complexes. Primer executarem un exemple d’aplicació que recopila dades de l’acceleròmetre de l’IMO BNO_085 i, a continuació, utilitzarem un programa en sèrie per programar de forma interactiva a Python.

Nivell: aquest tutorial suposa alguns coneixements de Python i que Python està instal·lat. També assumeix el coneixement de les ordres bàsiques del terminal.

Eines: les úniques eines que necessitarem seran la placa del sensor, un programa de terminal i un programa de consola en sèrie. En un Mac, només podeu utilitzar el terminal. En una màquina Windows, haureu de descarregar i instal·lar un programa de terminal. Per a la consola sèrie. Massilla sempre és una bona opció.

Pas 1: Obtenir el microprogramari i les biblioteques

Per començar, haurem de descarregar el microprogramari personalitzat subministrat per Complex Arts i, després, fer-lo passar a la placa del sensor. El firmware es pot trobar aquí:

Baixeu-vos el fitxer firmware.bin i col·loqueu-lo a la carpeta que trieu. Finalment, també necessitareu el programa d’exemples d’Arts complexes, de manera que podríeu fer-ho ara; aneu a: https://github.com/ComplexArts/SensorBoardPython i cloneu el git o baixeu-lo a la ubicació que trieu.

Un cop tingueu els fitxers, necessitarem uns quants paquets per a la interfície amb l’ESP32. El primer paquet que necessitarem és esptool.py. Per instal·lar-lo, només cal que escriviu

pip instal·lar esptool

al terminal.

Un cop instal·lat l’esptool, podem esborrar i tornar a flaixar el xip. Per fer-ho, entreu

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

per al port, introduïu el port sèrie que coincideix amb la placa del sensor. En un Mac, semblaria semblar a --port / dev / ttyUSB0

Un cop fet això, farem flaixar el xip amb:

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

Novament, canvieu el port en conseqüència.

Pas 2: Treballar amb MicroPython

Treballar amb MicroPython
Treballar amb MicroPython

Si comprovem la sortida sèrie de la placa del sensor en aquest moment, veurem el Python REPL (el bucle read-eval-print: >>>) Per fer-ho, necessitarem un programa de consola sèrie. Putty és una bona opció, ja que proporciona opcions per a SSH i telnet, però també una comunicació en sèrie simple, com farem aquí. putty.org. Un cop ho hàgiu instal·lat, obriu-lo i seleccioneu "Sèrie" a "Tipus de connexió". Haureu d'escriure el mateix nom de port sèrie que heu introduït per a l'esptool anterior i, a continuació, una velocitat en bauds de 115200 per a la velocitat. Seguiu endavant i feu clic a "Obre". I hi ha Python!

Ara voldrem carregar i executar el nostre codi d'exemple. Per fer-ho, aneu a la carpeta on anteriorment heu desat els exemples de SensorBoardPython. Necessitarem l’impressionant paquet d’ampis d’Adafruit. Podeu instal·lar-ho amb:

pip install adafruit-ampy = 0.6.3

Un cop el tingueu, utilitzeu ampy per penjar l’exemple de l’acceleròmetre al tauler:

ampy -p COM4 posa accelerometer.py

(canviant el port en conseqüència, és clar). Ara restableix el tauler amb el botó de restabliment. Tornarem a Putty en aquest moment i, en el moment >>> indicat, escriviu

acceleròmetre d’importació

Viola! Ara esteu executant el codi accelerometer.py a la placa del sensor. El codi s’executarà durant 20 segons i després s’aturarà. Fixeu-vos que mentre el codi de l’acceleròmetre funciona, el LED blau de la placa parpelleja. Per a aquells que estiguin més familiaritzats amb Python, notareu que això es fa sense fils i sense demora (). Això es deu a l’ús de la biblioteca asyncio de Python, que proporciona excel·lents mètodes per executar tasques simultàniament i és molt útil en plataformes incrustades com l’ESP32. Si no ho coneixeu, val la pena consultar-lo; hi ha un fantàstic tutorial aquí: https://github.com/peterhinch/micropython-async/b… (però alerta, és una mica embogidor).

Pas 3: MicroPython per sèrie

Torna a la tasca que ens ocupa. Quan el codi de l’acceleròmetre s’atura, tornareu a veure Python >>>. Ara podem programar de manera interactiva mitjançant la placa sensor com a intèrpret de Python. Per fer-ho, entreu

>> x = 10

>> y = 11

>> x + y

21

Tot i que aquest és el més bàsic d’exemples, podem començar fàcilment a crear codi més complex utilitzant les biblioteques de Complex Arts com a punt de partida. Això us permet executar mesures de posició i moviment sobre la marxa, amb control en temps real. Amb els pins GPIO disponibles a la placa del sensor, podeu connectar fàcilment servos, llums, sensors, motors o qualsevol dispositiu físic, utilitzant-los de manera interactiva o mitjançant un programa Python. Diverteix-te!

Per obtenir més informació, consulteu aquests altres recursos:

complexarts.net/home/

complexarts.net/docs/bno085/

Recomanat: