Inhoudsopgave:
- Stap 1: De firmware en bibliotheken verkrijgen
- Stap 2: Werken met MicroPython
- Stap 3: MicroPython over serieel
Video: MicroPython op het Complex Arts Sensor Board - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
Een van de meest verbazingwekkende aspecten van de ESP32-microcontroller is de mogelijkheid om MicroPython uit te voeren. Dit kan op twee manieren: volledige Python-programma's draaien, of interactief via een consoletoepassing. Deze Instructable zal laten zien hoe MicroPython te gebruiken is in beide richtingen met behulp van het Complex Arts Sensor Board. We zullen eerst een voorbeeldtoepassing uitvoeren die versnellingsmetergegevens verzamelt van de BNO_085 IMU, daarna zullen we een serieel programma gebruiken om interactief te programmeren in Python.
Niveau: Deze tutorial veronderstelt enige kennis van Python en dat Python is geïnstalleerd. Het veronderstelt ook kennis van elementaire terminalcommando's.
Hulpmiddelen: de enige hulpmiddelen die we nodig hebben, zijn het sensorbord, een terminalprogramma en een serieel consoleprogramma. Op een Mac kun je gewoon terminal gebruiken. Op een Windows-computer moet u een terminalprogramma downloaden en installeren. Voor de seriële console. Putty is altijd een goede keuze.
Stap 1: De firmware en bibliotheken verkrijgen
Om te beginnen, moeten we de aangepaste firmware van Complex Arts downloaden en deze vervolgens naar het sensorbord flashen. De firmware is hier te vinden:
Download het bestand firmware.bin en plaats het in de map van uw keuze. Je zult uiteindelijk ook het Complex Arts-voorbeeldprogramma nodig hebben, dus je kunt dat net zo goed nu doen; ga naar: https://github.com/ComplexArts/SensorBoardPython en git clone of download naar de locatie van uw keuze.
Zodra je de bestanden hebt, hebben we een paar pakketten nodig voor de interface met de ESP32. Het eerste pakket dat we nodig hebben is esptool.py. Om het te installeren, typt u gewoon
pip install esptool
in de terminal.
Zodra esptool is geïnstalleerd, kunnen we de chip wissen en opnieuw flashen. Voer hiervoor in
esptool.py --chip esp32 --poort COM4 erase_flash
voer voor de poort de seriële poort in die samenvalt met de sensorkaart. Op een Mac zou dat er ongeveer zo uitzien --port /dev/ttyUSB0
Zodra dit is gebeurd, flitsen we de chip met:
esptool.py --chip esp32 --poort COM4 --baud 460800 write_flash -z 0x1000 firmware.bin
Wijzig de poort opnieuw dienovereenkomstig.
Stap 2: Werken met MicroPython
Als we nu de seriële uitvoer van het sensorbord controleren, zien we de Python REPL (de read-eval-print-lus: >>>). Om dit te doen, hebben we een serieel consoleprogramma nodig. Putty is een goede optie omdat het opties biedt voor SSH en telnet, maar ook eenvoudige seriële communicatie zoals we hier zullen doen. putty.org. Zodra je dat hebt geïnstalleerd, open je het en selecteer je "Serial" onder "Connection type:" Je moet dezelfde seriële poortnaam typen die je hebt ingevoerd voor de esptool hierboven, en vervolgens een baudrate van 115200 voor de snelheid. Ga je gang en klik op "Openen". En daar is Python!
Nu willen we onze voorbeeldcode uploaden en uitvoeren. Ga hiervoor naar de map waar u eerder de SensorBoardPython-voorbeelden hebt opgeslagen. We hebben het geweldige ampy-pakket van Adafruit nodig. Dat kan je installeren met:
pip install adafruit-ampy=0.6.3
Als je het eenmaal hebt, gebruik je ampy om het voorbeeld van de versnellingsmeter naar het bord te uploaden:
ampy -p COM4 put accelerometer.py
(natuurlijk de poort dienovereenkomstig wijzigen). Reset nu je board met de reset-knop. We gaan op dit punt terug naar Putty en typ bij de >>> prompt
acceleratiemeter importeren
Altviool! U voert nu de accelerometer.py-code uit op het sensorbord! De code wordt 20 seconden uitgevoerd en stopt dan. Merk op dat terwijl de accelerometercode loopt, de blauwe LED op het bord knippert. Voor degenen die meer bekend zijn met Python, je zult merken dat dit wordt gedaan zonder threading en zonder vertraging (). Dat komt door het gebruik van de asyncio-bibliotheek van Python, die geweldige methoden biedt om taken tegelijkertijd uit te voeren en super handig is op embedded platforms zoals de ESP32. Als je er niet bekend mee bent, is het de moeite van het bekijken waard; er is hier een geweldige tutorial: https://github.com/peterhinch/micropython-async/b… (maar wees gewaarschuwd, het is een beetje bedwelmend).
Stap 3: MicroPython over serieel
Terug naar de taak bij de hand! Wanneer de accelerometercode stopt, zie je opnieuw de Python >>>. Nu kunnen we interactief programmeren met het Sensor Board als onze Python-interpreter. Voer hiervoor in
>>x = 10
>>j = 11
>>x + y
21
Hoewel dit de meest elementaire voorbeelden zijn, kunnen we gemakkelijk beginnen met het maken van complexere code met behulp van de Complex Arts-bibliotheken als uitgangspunt. Dit stelt u in staat om positiemetingen en beweging on-the-fly uit te voeren, met realtime controle. Met de GPIO-pinnen die beschikbaar zijn op het sensorbord, kunt u eenvoudig servo's, lichten, sensoren, motoren of een willekeurig aantal fysieke apparaten aansluiten, hetzij interactief, hetzij via een Python-programma. Veel plezier!
Bekijk deze andere bronnen voor meer informatie:
complexarts.net/home/
complexarts.net/docs/bno085/
Aanbevolen:
Hoe maak je professionele PCB's (is het het waard?): 5 stappen
Hoe maak je professionele PCB's (is het het waard?): Ik wil graag mijn "PCB-ervaringen" delen met jou
Raspberry Pi Oled-klok Bekijk het, hoor het en voel het: 5 stappen (met afbeeldingen)
Raspberry Pi Oled Clock Watch It Hear It and Feel It: dit is een slimme klok die de tijd op een OLED-display weergeeft en je kunt ook de tijd horen op verschillende tijdsintervallen die hulpvol zijn voor blinden en het verandert ook de led-kleur met de tijd zoals licht in de schemering licht in de avond wordt oranje naar geel en houdt van t
Schrijf het ! Maak het ! Deel het!: 4 stappen
Schrijf het ! Maak het ! Deel het!: Mijn leerlingen hebben Lego gebruikt om creativiteit toe te voegen aan hun schrijven, de organisatie van het schrijven en om hun werk digitaal te presenteren met hun familie en met hun leeftijdsgenoten in de klas
Hoe muziek te krijgen van BIJNA ELKE (Haha) website (zolang je het kunt horen, kun je het krijgen Ok prima als het in Flash is ingesloten, kun je dat misschien niet) BEWERKT !!!!! Info toegevoegd: 4 stappen
Hoe muziek te krijgen van BIJNA ELKE (Haha) website (zolang je het kunt horen, kun je het krijgen … Ok prima als het in Flash is ingesloten, kun je dat misschien niet) BEWERKT !!!!! Toegevoegde info: als je ooit naar een website gaat en een nummer speelt dat je leuk vindt en wilt, dan is hier de instructie voor jou, niet mijn schuld als je iets verknoeit (de enige manier waarop het zal gebeuren is als je dingen begint te verwijderen zonder reden )ik heb muziek kunnen krijgen voor
Waterdichte luidsprekers die drijven - "Het drijft, het draagt en het rockt de noten!": 7 stappen (met afbeeldingen)
Waterdichte luidsprekers die drijven - "It Floats, It Totes and It Rocks the Notes!": Dit waterdichte luidsprekerproject is geïnspireerd op vele reizen naar de Gila-rivier in Arizona (en SNL's "I'm on a Boat!" ). We zullen de rivier afdrijven of lijnen aan de kust bevestigen zodat onze drijvers vlak bij onze camping blijven. Iedereen he