Innehållsförteckning:

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

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

Video: MicroPython på Complex Arts Sensor Board: 3 steg
Video: The Art of Micropython- using Python to create award winning art 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 fantastiska aspekterna av ESP32 -mikrokontrollern är dess förmåga att köra MicroPython. Detta kan göras på två sätt: att köra fullständiga Python -program eller interaktivt genom en konsolapplikation. Denna instruktionsbok visar hur man använder MicroPython på båda sätten genom att använda Complex Arts Sensor Board. Vi kör först ett exempelprogram som samlar in accelerometerdata från BNO_085 IMU, sedan använder vi ett seriellt program för att interaktivt programmera i Python.

Nivå: Denna handledning förutsätter viss kunskap om Python och att Python är installerat. Det förutsätter också kunskap om grundläggande terminalkommandon.

Verktyg: De enda verktygen vi behöver är Sensor Board, ett terminalprogram och ett seriekonsolprogram. På en Mac kan du helt enkelt använda terminal. På en Windows -maskin måste du ladda ner och installera ett terminalprogram. För seriekonsolen. Spackel är alltid ett bra val.

Steg 1: Skaffa firmware och bibliotek

För att komma igång måste vi ladda ner den anpassade fasta programvaran från Complex Arts och sedan blinka den till sensorkortet. Firmware hittar du här:

Ladda ner firmware.bin -filen och placera den i den mapp du väljer. Du kommer också så småningom att behöva Exempelprogrammet Complex Arts, så du kan lika gärna göra det nu; gå till: https://github.com/ComplexArts/SensorBoardPython och git klon eller ladda ner till den plats du väljer.

När du har fått filerna behöver vi några paket för att kunna ansluta till ESP32. Det första paketet vi behöver är esptool.py. För att installera det, skriv helt enkelt

pip installera esptool

i terminalen.

När esptool är installerat kan vi radera och sedan flasha chipet igen. För att göra det, ange

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

för porten, ange den serieport som sammanfaller med sensorkortet. På en Mac skulle det se ut ungefär --port /dev /ttyUSB0

När detta är gjort blinkar vi chippet med:

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

Återigen, ändra porten i enlighet därmed.

Steg 2: Arbeta med MicroPython

Arbeta med MicroPython
Arbeta med MicroPython

Om vi kontrollerar sensorkortets serieutmatning vid denna tidpunkt ser vi Python REPL (läs-eval-utskriftsslingan: >>>) För att göra detta behöver vi ett seriekonsolprogram. Kitt är ett bra alternativ eftersom det ger alternativ för SSH och telnet, men också enkel seriell kommunikation som vi kommer att göra här. putty.org. När du har installerat det öppnar du det och väljer "Serial" under "Anslutningstyp:" Du måste skriva in samma serieportnamn som du angav för esptool ovan, sedan en överföringshastighet på 115200 för hastigheten. Fortsätt och klicka på "Öppna". Och det finns Python!

Nu vill vi ladda upp och köra vår exempelkod. För att göra det, gå till mappen där du tidigare sparade SensorBoardPython -exemplen. Vi behöver Adafruits fantastiska ampy -paket. Du kan installera det med:

pip installera adafruit-ampy = 0.6.3

När du har det, använd ampy för att ladda upp accelerometerexemplet till styrelsen:

ampy -p COM4 sätt accelerometer.py

(byter porten såklart). Återställ nu ditt kort med återställningsknappen. Vi kommer att gå tillbaka till Putty vid denna tidpunkt och vid >>> prompten skriver du

importaccelerometer

Altfiol! Du kör nu accelerometer.py -koden på sensorkortet! Koden körs i 20 sekunder och stannar sedan. Lägg märke till att medan accelerometerkoden körs blinkar den blå lysdioden på kortet. För dem som är mer insatta i Python kommer du att märka att detta görs utan trådning och utan dröjsmål (). Det beror på användningen av Pythons asyncio -bibliotek, som ger bra metoder för att köra uppgifter samtidigt och är supernyttigt på inbäddade plattformar som ESP32. Om du inte känner till det är det värt att kolla in; det finns en bra handledning här: https://github.com/peterhinch/micropython-async/b… (men varnas, det är lite oroligt).

Steg 3: MicroPython Over Serial

Tillbaka till uppgiften! När accelerometerkoden stannar ser du igen Python >>>. Nu kan vi interaktivt programmera med Sensor Board som vår Python -tolk. För att göra det, ange

>> x = 10

>> y = 11

>> x + y

21

Även om detta är det mest grundläggande exemplet, kan vi enkelt börja skapa mer komplex kod med hjälp av Complex Arts -biblioteken som utgångspunkt. Detta gör att du kan köra positionsmätningar och rörelser i farten, med realtidskontroll. Med GPIO -stiften tillgängliga på sensorkortet kan du enkelt ansluta servon, lampor, sensorer, motorer eller olika fysiska enheter, antingen interaktivt eller via ett Python -program. Ha så kul!

För mer information, kolla in dessa andra resurser:

complexarts.net/home/

complexarts.net/docs/bno085/

Rekommenderad: