Cuprins:

MicroPython pe placa senzorului complex Arts: 3 pași
MicroPython pe placa senzorului complex Arts: 3 pași

Video: MicroPython pe placa senzorului complex Arts: 3 pași

Video: MicroPython pe placa senzorului complex Arts: 3 pași
Video: Getting Started with MicroPython and The Raspberry Pi Pico 2024, Noiembrie
Anonim
MicroPython pe placa senzorului complex Arts
MicroPython pe placa senzorului complex Arts
MicroPython pe placa senzorului complex Arts
MicroPython pe placa senzorului complex Arts

Unul dintre cele mai uimitoare aspecte ale microcontrolerului ESP32 este capacitatea sa de a rula MicroPython. Acest lucru se poate face în două moduri: rularea programelor Python complete sau interactiv printr-o aplicație consolă. Acest instructable va demonstra cum să utilizați MicroPython în ambele sensuri folosind placa senzorului complex Arts. Mai întâi vom rula un exemplu de aplicație care colectează date accelerometru de la BNO_085 IMU, apoi vom folosi un program serial pentru a programa interactiv în Python.

Nivel: Acest tutorial presupune unele cunoștințe despre Python și că Python este instalat. De asemenea, presupune cunoașterea comenzilor de bază ale terminalului.

Instrumente: singurele instrumente de care vom avea nevoie vor fi placa senzorului, un program terminal și un program de consolă serială. Pe un Mac, puteți utiliza pur și simplu terminalul. Pe o mașină Windows, va trebui să descărcați și să instalați un program terminal. Pentru consola serială. Chitul este întotdeauna o alegere bună.

Pasul 1: Obținerea firmware-ului și a bibliotecilor

Pentru a începe, va trebui să descărcăm firmware-ul personalizat furnizat de Complex Arts și apoi să-l trimitem pe placa senzorului. Firmware-ul poate fi găsit aici:

Descărcați fișierul firmware.bin și plasați-l în folderul pe care îl alegeți. De asemenea, veți avea nevoie de programul de exemplu Complex Arts, așa că ar putea face acest lucru acum; accesați: https://github.com/ComplexArts/SensorBoardPython și clonați git sau descărcați în locația pe care o alegeți.

După ce primiți fișierele, vom avea nevoie de câteva pachete pentru interfața cu ESP32. Primul pachet de care vom avea nevoie este esptool.py. Pentru ao instala, pur și simplu tastați

pip instala esptool

în terminal.

Odată ce esptool este instalat, putem șterge apoi reluăm cipul. Pentru a face acest lucru, introduceți

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

pentru port, introduceți portul serial care coincide cu placa senzorului. Pe un Mac, ar arăta ceva de genul --port / dev / ttyUSB0

După ce ați făcut acest lucru, vom clipi cipul cu:

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

Din nou, schimbați portul în consecință.

Pasul 2: Lucrul cu MicroPython

Lucrul cu MicroPython
Lucrul cu MicroPython

Dacă verificăm ieșirea serială a plăcii senzorilor în acest moment, vom vedea Python REPL (bucla de citire-evaluare-imprimare: >>>) Pentru a face acest lucru, vom avea nevoie de un program de consolă serială. Putty este o opțiune bună, deoarece oferă opțiuni pentru SSH și telnet, dar și comunicare în serie simplă, așa cum vom face aici. putty.org. După ce ați instalat-o, deschideți-o și selectați „Serial” sub „Tipul conexiunii:” Va trebui să introduceți același nume de port serial pe care l-ați introdus pentru esptool-ul de mai sus, apoi o rată de transmisie de 115200 pentru Speed. Continuați și dați clic pe „Deschideți”. Și există Python!

Acum vom dori să încărcăm și să rulăm exemplul nostru de cod. Pentru aceasta, accesați dosarul în care ați salvat mai devreme exemplele SensorBoardPython. Vom avea nevoie de pachetul extraordinar de ampy Adafruit. Puteți instala acest lucru cu:

pip instalare adafruit-ampy = 0.6.3

După ce îl ai, folosește ampy pentru a încărca exemplul accelerometrului pe tablă:

ampy -p COM4 pune accelerometer.py

(schimbarea portului în consecință, desigur). Acum resetați placa cu butonul de resetare. Ne vom întoarce la Putty în acest moment și la >>> prompt, tastați

accelerometru de import

Viola! Acum rulați codul accelerometer.py pe placa senzorului! Codul va rula timp de 20 de secunde, apoi se va opri. Observați că, în timp ce codul accelerometrului funcționează, LED-ul albastru de pe placă clipește. Pentru cei mai familiarizați cu Python, veți observa că acest lucru se face fără filetare și fără întârziere (). Acest lucru se datorează utilizării bibliotecii asyncio de la Python, care oferă metode excelente pentru a rula sarcini simultan și este foarte utilă pe platforme încorporate, cum ar fi ESP32. Dacă nu sunteți familiarizați cu acesta, merită să verificați; există un tutorial grozav aici: https://github.com/peterhinch/micropython-async/b… (dar fiți avertizat, este puțin cam capricios).

Pasul 3: MicroPython peste serie

Înapoi la sarcina la îndemână! Când codul accelerometrului se oprește, veți vedea din nou Python >>>. Acum putem programa interactiv folosind placa senzorului ca interpret al nostru Python. Pentru a face acest lucru, introduceți

>> x = 10

>> y = 11

>> x + y

21

Deși acesta este cel mai de bază exemple, putem începe cu ușurință să creăm coduri mai complexe folosind bibliotecile Complex Arts ca punct de plecare. Acest lucru vă permite să executați măsurători de poziție și mișcare din mers, cu control în timp real. Cu pinii GPIO disponibili pe placa senzorului, puteți conecta cu ușurință servouri, lumini, senzori, motoare sau orice alte dispozitive fizice, folosindu-le fie interactiv, fie printr-un program Python. A se distra!

Pentru mai multe informații, consultați aceste alte resurse:

complexarts.net/home/

complexarts.net/docs/bno085/

Recomandat: