Inhaltsverzeichnis:
- Schritt 1: Abrufen der Firmware und Bibliotheken
- Schritt 2: Arbeiten mit MicroPython
- Schritt 3: MicroPython über seriell
Video: MicroPython auf der Sensorplatine von Complex Arts - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:16
Einer der erstaunlichsten Aspekte des ESP32-Mikrocontrollers ist seine Fähigkeit, MicroPython auszuführen. Dies kann auf zwei Arten erfolgen: Ausführen vollständiger Python-Programme oder interaktiv über eine Konsolenanwendung. Dieses Instructable zeigt, wie MicroPython in beide Richtungen mit dem Complex Arts Sensor Board verwendet wird. Wir führen zuerst eine Beispielanwendung aus, die Beschleunigungsmesserdaten von der BNO_085 IMU sammelt, dann verwenden wir ein serielles Programm, um interaktiv in Python zu programmieren.
Level: Dieses Tutorial setzt einige Python-Kenntnisse voraus und dass Python installiert ist. Es setzt auch die Kenntnis grundlegender Terminalbefehle voraus.
Tools: Die einzigen Tools, die wir benötigen, sind das Sensor Board, ein Terminalprogramm und ein serielles Konsolenprogramm. Auf einem Mac können Sie einfach das Terminal verwenden. Auf einem Windows-Computer müssen Sie ein Terminalprogramm herunterladen und installieren. Für die serielle Konsole. Spachtelmasse ist immer eine gute Wahl.
Schritt 1: Abrufen der Firmware und Bibliotheken
Um zu beginnen, müssen wir die benutzerdefinierte Firmware von Complex Arts herunterladen und dann auf das Sensor Board flashen. Die Firmware finden Sie hier:
Laden Sie die Datei firmware.bin herunter und legen Sie sie im Ordner Ihrer Wahl ab. Sie werden schließlich auch das Complex Arts-Beispielprogramm benötigen, also können Sie das gleich jetzt tun; Gehen Sie zu: https://github.com/ComplexArts/SensorBoardPython und git clone oder laden Sie es an den Ort Ihrer Wahl herunter.
Sobald Sie die Dateien haben, benötigen wir einige Pakete für die Verbindung mit dem ESP32. Das erste Paket, das wir benötigen, ist esptool.py. Um es zu installieren, geben Sie einfach ein
pip installieren esptool
im Terminal.
Sobald esptool installiert ist, können wir den Chip löschen und dann neu flashen. Geben Sie dazu ein
esptool.py --chip esp32 --port COM4 delete_flash
Geben Sie für den Port den seriellen Port ein, der mit der Sensorplatine übereinstimmt. Auf einem Mac würde das etwa so aussehen --port /dev/ttyUSB0
Sobald dies erledigt ist, flashen wir den Chip mit:
esptool.py --chip esp32 --port COM4 --baud 460800 write_flash -z 0x1000 firmware.bin
Ändern Sie auch hier den Port entsprechend.
Schritt 2: Arbeiten mit MicroPython
Wenn wir an dieser Stelle die serielle Ausgabe des Sensor Boards überprüfen, sehen wir die Python REPL (die read-eval-print-Schleife: >>>). Dazu benötigen wir ein serielles Konsolenprogramm. Putty ist eine gute Option, da es Optionen für SSH und Telnet bietet, aber auch einfache serielle Kommunikation, wie wir es hier tun werden. putty.org. Sobald Sie das installiert haben, öffnen Sie es und wählen Sie „Seriell“unter „Verbindungstyp:“Sie müssen den gleichen seriellen Portnamen eingeben, den Sie oben für das esptool eingegeben haben, dann eine Baudrate von 115200 für die Geschwindigkeit. Fahren Sie fort und klicken Sie auf "Öffnen". Und es gibt Python!
Jetzt wollen wir unseren Beispielcode hochladen und ausführen. Gehen Sie dazu in den Ordner, in dem Sie zuvor die SensorBoardPython-Beispiele gespeichert haben. Wir brauchen das fantastische Ampy-Paket von Adafruit. Das kannst du installieren mit:
pip install adafruit-ampy=0.6.3
Sobald Sie es haben, verwenden Sie ampy, um das Beschleunigungsmesser-Beispiel auf das Board hochzuladen:
ampy -p COM4 set accelerometer.py
(natürlich den Port entsprechend ändern). Setzen Sie nun Ihr Board mit der Reset-Taste zurück. Wir kehren an dieser Stelle zu Putty zurück und geben an der >>> Eingabeaufforderung ein
Beschleunigungsmesser importieren
Viola! Sie führen jetzt den accelerometer.py-Code auf der Sensorplatine aus! Der Code wird 20 Sekunden lang ausgeführt und dann angehalten. Beachten Sie, dass die blaue LED auf der Platine blinkt, während der Beschleunigungsmessercode ausgeführt wird. Für diejenigen, die besser mit Python vertraut sind, werden Sie feststellen, dass dies ohne Threading und ohne delay() erfolgt. Dies liegt an der Verwendung der Asyncio-Bibliothek von Python, die großartige Methoden zum gleichzeitigen Ausführen von Aufgaben bietet und auf eingebetteten Plattformen wie dem ESP32 sehr nützlich ist. Wenn Sie damit nicht vertraut sind, sollten Sie es sich ansehen. Hier gibt es ein großartiges Tutorial: https://github.com/peterhinch/micropython-async/b… (aber seien Sie gewarnt, es ist ein wenig berauschend).
Schritt 3: MicroPython über seriell
Zurück zur Aufgabe! Wenn der Beschleunigungsmesser-Code anhält, sehen Sie wieder Python >>>. Jetzt können wir interaktiv programmieren, indem wir das Sensor Board als unseren Python-Interpreter verwenden. Geben Sie dazu ein
>>x = 10
>>y = 11
>>x + y
21
Obwohl dies das grundlegendste Beispiel ist, können wir leicht damit beginnen, komplexeren Code zu erstellen, indem wir die Complex Arts-Bibliotheken als Ausgangspunkt verwenden. Auf diese Weise können Sie Positionsmessungen und Bewegungen im Handumdrehen mit Echtzeitsteuerung durchführen. Mit den auf der Sensorplatine verfügbaren GPIO-Pins können Sie problemlos Servos, Lichter, Sensoren, Motoren oder eine beliebige Anzahl physischer Geräte anschließen, indem Sie sie entweder interaktiv oder über ein Python-Programm verwenden. Spaß haben!
Weitere Informationen finden Sie in diesen anderen Ressourcen:
complexarts.net/home/
complexarts.net/docs/bno085/
Empfohlen:
So erstellen Sie einen Smart Pot mit NodeMCU, der von der App gesteuert wird – wikiHow
So erstellen Sie einen Smart Pot mit NodeMCU, der von einer App gesteuert wird: In dieser Anleitung bauen wir einen Smart Pot, der von einem ESP32 und einer Anwendung für Smartphones (iOS und Android) gesteuert wird. Wir verwenden NodeMCU (ESP32) für die Konnektivität und die Blynk-Bibliothek für das Cloud-IoT und die Anwendung auf dem Smartphone. Endlich haben wir
So kopieren Sie Spielstände auf einfache Weise auf eine Microsoft- oder Drittanbieter-MU.: 9 Schritte
So kopieren Sie Spielstände einfach auf eine Microsoft- oder Drittanbieter-MU.: Original-Tutorial HIER CD, die es einfach macht, genau das zu tun. Dies ist kein vollständiges Softmod-Tutorial, dies
MyPhotometrics - Gandalf: Leistungsmessgerät Zur Messung Von Lasern Im Sichtbaren Bereich Auf Basis Von "Sauron": 8 Schritte
MyPhotometrics - Gandalf: Leistungsmessgerät Zur Messung Von Lasern Im Sichtbaren Bereich Auf Basis Von "Sauron": Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International Lizenz. Eine für Menschen lesbare Zusammenfassung dieser Lizenz findet sich hier.Was ist Gandalf?Gandalf ist eine Stand-A
Wie zeichne ich einen Computerbildschirm auf einem Mac auf?: 7 Schritte
Wie zeichne ich den Computerbildschirm auf dem Mac auf?: Wie zeichne ich den Bildschirm auf dem Mac auf? Wollten Sie schon immer etwas aufzeichnen, was auf Ihrem Computer oder Telefon passiert? Vielleicht sehen Sie sich ein Video an und möchten einen Clip aufnehmen; Vielleicht versuchst du jemandem zu zeigen, wie man etwas macht, und ein Video würde es schaffen
Stativ-Kopf auf Einbeinstativ-Kopf Adapter auf 43 Cent. Wörtlich.: 6 Schritte
Stativ-Kopf auf Einbeinstativ-Kopf Adapter auf 43 Cent. Wörtlich.: Kurze Version meiner Geschichte: Ich habe eine Kamera gekauft, sie kam mit einem Bündel an Zubehör, darunter ein Samsonite 1100 Stativ. Ich habe ein Einbeinstativ. Ich möchte sehr bald Fotos mit einem Schwenkkopf auf dem Einbeinstativ machen und hatte keine 40 $, um ein L