Aus Raspberry Pi Geek 02/2019

Trinket M0 mit Python programmieren (Seite 3)

Das Programm demonstriert den Einsatz von I2C-Bausteinen, denn es liest zusätzlich die aktuelle Uhrzeit aus einer per I2C angeschlossenen Echtzeituhr (ab Zeile 9 sowie Zeile 72). Da die internen Pullups auf dem I2C-Bus nicht greifen, benötigen Sie hier noch je einen Widerstand gegen VCC für die beiden Pins SDA und SCL.

Serielle Konsole

Neben der seriellen USB-Konsole besitzt der Trinket noch eine weitere, hardwareunterstützte serielle Schnittstelle auf Pin 3 und Pin 4, die sich nutzen lässt, um Sensoren anzuschließen. Im Folgenden geht es aber ausschließlich um die USB-Schnittstelle.

Wie im Beispiel zu sehen, schreiben Sie einfach per print() von Python aus auf die Schnittstelle. Am angeschlossenen Rechner öffnen Sie dann ein Terminal auf dem entsprechenden Device. Unter Raspbian geht das zum Beispiel mit Screen (Listing 3). Unter Windows nutzen Sie ein Programm wie etwa Putty und stellen als Port etwa COM3 ein – den passenden Port finden Sie im Gerätemanager. Einfacher geht es aber mit dem im nächsten Abschnitt vorgestellten Mu-Editor.

Listing 3

$ screen /dev/ttyACM0 115200

Eine Besonderheit der seriellen Schnittstelle stellt der sogenannte REPL-Modus dar, ein spezielles eingebautes Programm des Trinkets. Das Kürzel steht für Read-Evaluate-Print-Loop. Diesen Modus erreichen Sie über [Strg]+[C] in der Konsole. Sie finden sich auf einer Python-Kommandozeile wieder, in der Sie jeden gültigen Python-Befehl eintippen dürfen. Sie starten dabei mit einer sauberen, neuen Python-Umgebung.

Nach einem Druck auf die Eingabetaste liest (Read) das Programm die Zeile, wertet sie aus (Evaluate), druckt das Ergebnis (Print) und startet von vorne (Loop). So geben Sie nun bei Bedarf Ihr Programm Zeile für Zeile ein und sehen, was es macht – ideal für das Debuggen oder Testzwecke.

Beim Verlassen des REPL-Modus über [Strg]+[D] lädt der Trinket das zuletzt ausgeführte Programm und startet es erneut. Mit [Strg]+[C][Strg]+[D] haben Sie also einen komfortablen Weg an der Hand, das Programm neu zu starten – besser als der Reset-Taster, der jegliche Verbindung zum PC trennt.

Der Mu-Editor

Zur Programmentwicklung bietet sich ein Editor mit Python-Support an, der farbliche Syntax-Hervorhebung, korrekte Einrückung, Klammerverfolgung und weiteren Komfort bietet. Besonders gut abgestimmt auf die M0-Boards ist der Mu-Editor. Er wurde explizit für Einsteiger entworfen, aber auch Profis profitieren von seinen Fähigkeiten: Neben der reinen Editor-Funktion besitzt Mu eine eingebaute serielle Konsole, die Installation eines weiteren Programms erledigt sich also (Abbildung 4).

Abbildung 4: Der Mu-Editor bringt eine serielle Konsole mit, der die Kommunikation mit dem Trinket direkt aus dem Programm ermöglicht.

Abbildung 4: Der Mu-Editor bringt eine serielle Konsole mit, der die Kommunikation mit dem Trinket direkt aus dem Programm ermöglicht.

Die Dokumentation [5] zu Mu beschreibt die Installation recht gut; unter Raspbian genügen dazu die beiden Befehle aus Listing 4. Neuere Pixel-Versionen bieten dafür sogar einen direkten Eintrag im Menü unter Einstellungen | Empfohlene Software an.

Listing 4

$ sudo apt-get update
$ sudo apt-get -y install mu-editor

Beim ersten Start fragt der Editor den gewünschten Modus ab. Hier wählen Sie Adafruit CircuitPython. Mu beschwert sich unter Raspbian, dass er die Hardware nicht automatisch erkennt, aber das ist kein Beinbruch. Beim Laden und Speichern von Dateien navigieren Sie dann zum Verzeichnis, in dem Sie den Trinket eingehängt haben.

Die Menüleiste des Editors fällt schlicht aus. Entweder erzeugen Sie mit New eine neue Datei oder laden mit Load ein existierendes Programm. Der Button Save schreibt die Änderungen zurück. In der Menüzeile des Editors aktivieren Sie bei Bedarf die serielle Konsole.

Daneben gibt es noch den Schalter Plotter, der allerdings auf dem RasPi fehlt, da eine dafür notwendige Bibliothek aktuell fehlt. Schade, denn mit dieser Funktion wäre es möglich, die Messwerte aus dem Programm gleich grafisch anzuzeigen.

Fazit

Die M0-Boards bieten einen schnellen Einstieg in die Welt der Mikrocontroller, beim Trinket sogar besonders kostengünstig. Die steile Lernkurve für C oder sogar Assembler entfällt.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 6 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben