Innholdsfortegnelse:

MicroPython på Complex Arts Sensor Board: 3 trinn
MicroPython på Complex Arts Sensor Board: 3 trinn

Video: MicroPython på Complex Arts Sensor Board: 3 trinn

Video: MicroPython på Complex Arts Sensor Board: 3 trinn
Video: Moving from Arduino to MicroPython - 10 Things you need to know. 2024, November
Anonim
MicroPython på Complex Arts Sensor Board
MicroPython på Complex Arts Sensor Board
MicroPython på Complex Arts Sensor Board
MicroPython på Complex Arts Sensor Board

En av de mest fantastiske aspektene ved ESP32 -mikrokontrolleren er dens evne til å kjøre MicroPython. Dette kan gjøres på to måter: kjøring av fulle Python -programmer, eller interaktivt gjennom en konsollapplikasjon. Denne instruksen vil demonstrere hvordan du bruker MicroPython på begge måter ved å bruke Complex Arts Sensor Board. Vi kjører først et eksempelprogram som samler akselerometerdata fra BNO_085 IMU, deretter bruker vi et serielt program til interaktivt å programmere i Python.

Nivå: Denne opplæringen forutsetter viss kunnskap om Python, og at Python er installert. Det forutsetter også kunnskap om grunnleggende terminalkommandoer.

Verktøy: De eneste verktøyene vi trenger vil være Sensor Board, et terminalprogram og et serielt konsollprogram. På en Mac kan du bare bruke terminal. På en Windows -maskin må du laste ned og installere et terminalprogram. For seriekonsollen. Kitt er alltid et godt valg.

Trinn 1: Få fastvare og bibliotek

For å komme i gang må vi laste ned den egendefinerte fastvaren fra Complex Arts og deretter blinke den til sensorkortet. Fastvaren finner du her:

Last ned firmware.bin -filen og legg den i mappen du velger. Du vil etter hvert også trenge Complex Arts -eksempelprogrammet, så det kan du like gjerne gjøre nå; gå til: https://github.com/ComplexArts/SensorBoardPython og git klon eller last ned til stedet du ønsker.

Når du har fått filene, trenger vi noen pakker for grensesnitt med ESP32. Den første pakken vi trenger er esptool.py. For å installere det, bare skriv inn

pip installer esptool

i terminalen.

Når esptool er installert, kan vi slette brikken og deretter blinke den på nytt. For å gjøre det, skriv inn

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

for porten, angi den serielle porten som sammenfaller med sensorkortet. På en Mac vil det se ut som --port /dev /ttyUSB0

Når dette er gjort, blinker vi brikken med:

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

Endre porten tilsvarende.

Trinn 2: Arbeide med MicroPython

Jobber med MicroPython
Jobber med MicroPython

Hvis vi sjekker den serielle utgangen til Sensor Board på dette tidspunktet, ser vi Python REPL (les-eval-print loop: >>>) For å gjøre dette trenger vi et serielt konsollprogram. Kitt er et godt alternativ, ettersom det gir alternativer for SSH og telnet, men også enkel seriell kommunikasjon slik vi skal gjøre her. putty.org. Når du har installert det, åpner du det og velger "Serial" under "Tilkoblingstype:" Du må skrive inn det samme serieportnavnet du skrev inn for esptoolet ovenfor, deretter en overføringshastighet på 115200 for hastigheten. Fortsett og klikk "Åpne". Og det er Python!

Nå vil vi laste opp og kjøre eksempelkoden vår. For å gjøre det, gå til mappen der du tidligere lagret SensorBoardPython -eksemplene. Vi trenger Adafruit sin fantastiske ampy -pakke. Du kan installere det med:

pip installer adafruit-ampy = 0.6.3

Når du har det, bruk ampy for å laste opp akselerometereksemplet til brettet:

ampy -p COM4 sette akselerometer. py

(endrer porten tilsvarende, selvfølgelig). Tilbakestill nå brettet ditt med tilbakestillingsknappen. Vi går tilbake til Putty på dette tidspunktet, og ved >>> ledeteksten skriver du inn

import akselerometer

Bratsj! Du kjører nå akselerometer.py -koden på sensorbrettet! Koden vil kjøre i 20 sekunder, og deretter stoppe. Legg merke til at mens akselerometerkoden kjører, blinker den blå LED -en på tavlen. For de som er mer kjent med Python, vil du legge merke til at dette gjøres uten tråding og uten forsinkelse (). Det skyldes bruk av Pythons asyncio -bibliotek, som gir gode metoder for å kjøre oppgaver samtidig og er super nyttig på innebygde plattformer som ESP32. Hvis du ikke er kjent med det, er det verdt å sjekke ut; det er en flott opplæring her: https://github.com/peterhinch/micropython-async/b… (men vær advart, det er litt heftig).

Trinn 3: MicroPython Over Serial

Tilbake til oppgaven! Når akselerometerkoden stopper, ser du igjen Python >>>. Nå kan vi interaktivt programmere ved hjelp av Sensor Board som vår Python -tolk. For å gjøre det, skriv inn

>> x = 10

>> y = 11

>> x + y

21

Selv om dette er det mest grunnleggende eksemplet, kan vi enkelt begynne å lage mer kompleks kode ved å bruke Complex Arts -bibliotekene som utgangspunkt. Dette lar deg kjøre posisjonsmålinger og bevegelse i farten, med sanntidskontroll. Med GPIO -pinnene som er tilgjengelige på sensorbordet, kan du enkelt koble til servoer, lys, sensorer, motorer eller mange fysiske enheter, enten ved å bruke dem interaktivt eller via et Python -program. Ha det gøy!

For mer informasjon, sjekk ut disse andre ressursene:

complexarts.net/home/

complexarts.net/docs/bno085/

Anbefalt: