Indholdsfortegnelse:

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

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

Video: MicroPython på Complex Arts Sensor Board: 3 trin
Video: MicroPython for XBee Setup using XCTU 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

Et af de mest fantastiske aspekter ved ESP32 -mikrokontrolleren er dens evne til at køre MicroPython. Dette kan gøres på to måder: at køre fulde Python -programmer eller interaktivt via en konsolapplikation. Denne instruktion vil demonstrere, hvordan man bruger MicroPython på begge måder ved hjælp af Complex Arts Sensor Board. Vi kører først et eksempelprogram, der samler accelerometerdata fra BNO_085 IMU, derefter bruger vi et serielt program til interaktivt at programmere i Python.

Niveau: Denne vejledning forudsætter en vis viden om Python, og at Python er installeret. Det forudsætter også kendskab til grundlæggende terminalkommandoer.

Værktøjer: De eneste værktøjer, vi skal bruge, er Sensor Board, et terminalprogram og et serielt konsolprogram. På en Mac kan du simpelthen bruge terminal. På en Windows -maskine skal du downloade og installere et terminalprogram. Til den serielle konsol. Spartel er altid et godt valg.

Trin 1: Hentning af firmware og biblioteker

For at komme i gang skal vi downloade den brugerdefinerede firmware fra Complex Arts og derefter blinke den til Sensor Board. Firmwaren kan findes her:

Download firmware.bin -filen, og placer den i den mappe, du vælger. Du får også i sidste ende brug for programmet Complex Arts, så du kan lige så godt gøre det nu; gå til: https://github.com/ComplexArts/SensorBoardPython og git klon eller download til det sted, du vælger.

Når du har fået filerne, skal vi bruge et par pakker til grænseflade med ESP32. Den første pakke, vi skal bruge, er esptool.py. For at installere det skal du blot skrive

pip installere esptool

i terminalen.

Når esptool er installeret, kan vi slette og derefter blinke chippen igen. For at gøre det skal du indtaste

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

for porten, skal du indtaste den serielle port, der falder sammen med sensorkortet. På en Mac ville det ligne noget lignende --port /dev /ttyUSB0

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

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

Igen, skift porten i overensstemmelse hermed.

Trin 2: Arbejde med MicroPython

Arbejde med MicroPython
Arbejde med MicroPython

Hvis vi kontrollerer sensorens serielle output på dette tidspunkt, ser vi Python REPL (læse-eval-print loop: >>>) For at gøre dette har vi brug for et serielt konsolprogram. Putty er en god mulighed, da den giver muligheder for SSH og telnet, men også enkel seriel kommunikation, som vi vil gøre her. putty.org. Når du har installeret det, skal du åbne det og vælge "Serial" under "Forbindelsestype:" Du skal indtaste det samme serielle portnavn, som du indtastede for esptool ovenfor, derefter en baudhastighed på 115200 for hastigheden. Fortsæt og klik på "Åbn". Og der er Python!

Nu vil vi uploade og køre vores eksempelkode. For at gøre det skal du gå til den mappe, hvor du tidligere gemte SensorBoardPython -eksemplerne. Vi får brug for Adafruit's fantastiske ampy -pakke. Du kan installere det med:

pip installer adafruit-ampy = 0.6.3

Når du har det, skal du bruge ampy til at uploade accelerometereksemplet til tavlen:

ampy -p COM4 put accelerometer.py

(naturligvis ændring af porten). Nulstil nu dit bræt med nulstillingsknappen. Vi vender tilbage til Putty på dette tidspunkt og ved >>> prompten skriver du

import accelerometer

Viola! Du kører nu accelerometer.py -koden på sensorbrættet! Koden kører i 20 sekunder og stopper derefter. Bemærk, at mens accelerometerkoden kører, blinker den blå LED på tavlen. For dem, der er mere fortrolige med Python, vil du bemærke, at dette sker uden trådning og uden forsinkelse (). Det skyldes brugen af Pythons asyncio -bibliotek, som giver gode metoder til at køre opgaver samtidigt og er super nyttig på integrerede platforme såsom ESP32. Hvis du ikke er bekendt med det, er det værd at tjekke; der er en fantastisk tutorial her: https://github.com/peterhinch/micropython-async/b… (men vær advaret, det er lidt berusende).

Trin 3: MicroPython Over Serial

Tilbage til opgaven! Når accelerometerkoden stopper, ser du igen Python >>>. Nu kan vi interaktivt programmere ved hjælp af Sensor Board som vores Python -tolk. For at gøre det skal du indtaste

>> x = 10

>> y = 11

>> x + y

21

Selvom dette er det mest basale af eksempler, kan vi let begynde at oprette mere kompleks kode ved hjælp af Complex Arts -bibliotekerne som udgangspunkt. Dette giver dig mulighed for at køre positionsmålinger og bevægelse i farten med kontrol i realtid. Med GPIO -benene til rådighed på Sensor Board kan du let tilslutte servoer, lys, sensorer, motorer eller et hvilket som helst antal fysiske enheder ved hjælp af dem enten interaktivt eller via et Python -program. Hav det sjovt!

For mere information, tjek disse andre ressourcer:

complexarts.net/home/

complexarts.net/docs/bno085/

Anbefalede: