Raspberry Pi trifft .NET: Blinkt! zum Leuchten bringen mit dem Copilot

Der Raspberry Pi ist längst nicht mehr nur ein Spielzeug für Bastler – er ist eine ernstzunehmende Plattform für IoT-Projekte. Und dank .NET wird die Entwicklung darauf nicht nur leistungsfähig, sondern auch richtig komfortabel. Dank Copilot und Co. kannst du LEDs steuern oder Sensoren auslesen, ohne dich tief in die GPIO-Dokumentation einarbeiten zu müssen. Doch macht das noch Spaß?
Let it Blinkt!
Heute schauen wir uns an, wie man mit .NET und dem Pimoroni Blinkt! HAT auf einem Raspberry Pi Spaß mit blinkenden Lichtern haben kann – und seien wir ehrlich: Wer mag keine blinkenden Lichter, vor allem wenn es ohne großes Studium von Schaltplänen und Pin-Belegungen auskommt?
Der Blinkt! HAT von Pimoroni ist eine preisgünstige und simpel anzusteuernde Möglichkeit, um mit acht mehrfarbigen und dimmbaren LE-Dioden seine Freude zu haben. Als versteckter Controller kommt hierbei ein APA102 zum Einsatz.
.NET auf dem Raspberry Pi
Installation
Noch vor wenigen Jahren war dies eine Crux und machte noch weniger Spaß als manuell Chips auf Platinen zu löten. Dies hat sich zum Glück geändert und ist heutzutage mit zwei Zeilen kopierbaren Befehlen für das Terminal getan. Microsoft hat hierzu auch eine detaillierte Anleitung auf ihrer Learn-Plattform zur Verfügung gestellt.
Raspberry Pi Modell
Ich persönlich würde hierbei zum Ausführen von .NET-Programmen mindestens ein Raspberry Pi 3 wählen, und falls man auf diesem, wie wir es machen werden, ein .NET Programm entwickelt, sollte es wohl eher mindestens ein Raspberry Pi 4 ab vier Gigabyte Arbeitsspeicher sein.
Lokal, aber doch Remote entwickeln
Da ich alt bin und für mich Raspberry Pis nur über SSH bedienbar sind – was natürlich nicht mehr stimmt -, habe ich mich entschlossen, auf meinem Windows Rechner mich via Visual Studio Code auf den Raspberry Pi zu verbinden und den Quellcode zwar direkt auf dem Pi zu schreiben, jedoch den Editor auf meinem leistungsstärkeren System laufen zu lassen. Dies funktionierte wirklich super. Da man in einer quasi komplett neuen Umgebung beziehungsweise Instanz arbeitet, müssen natürlich die benötigten Visual Studio Erweiterungen erneut installiert werden. Dies ist jedoch nicht mehr Aufwand als ein Button in der Oberfläche des Editors zu betätigen.
Natürlich wäre es mit heutigen Raspberry Pis auch möglich, direkt auf dem Pi ein Visual Studio Code zu installieren und beispielsweise den kleinen ARM-Rechner am Monitor anzuschließen oder über Raspberry Pi Connect über die Wolke den Bildschirm zu spiegeln – ähnlich wie mit VNC oder RDP.
Die Entwicklung
Falsche Freunde unterwegs
Achtung, am Anfang fiel ich auf den falschen Freund der in .NET eingebauten Klasse „APA102„ herein. Ja, dies ist ein vollwertiger Controller für den eigentlich verwendeten Baustein, allerdings sprechen wir nicht direkt mit dem APA102, sondern mit dem Blinkt! HAT, welche uns diesen Weg abstrahiert. Somit können wir diesen nicht direkt ansprechen und im Umkehrschluss können wir das eingebaute .NET Goodie nicht verwenden.
Copilot Agent, besser als erwartet
Ich mag diese neue Bastelei auch als Spielplatz für „Vibe Coding“, sprich alles von der AI, dem Copilot, entwickeln zu lassen. Anfangs ging ich davon aus, dass dieser bei so einem Nischenthema komplett auseinanderfällt – weit gefehlt. Ich war wirklich sehr erstaunt, wie viel richtig und vor allem auch funktionierend der Copilot auf das erste Mal hinbekommt.
Als Einstiegspunkt zeigte ich ihm die von Pimoroni quelloffene Python-Bibliothek zum Blinkt! und mit etwas Denken und sich selbst Korrigieren war ein erster Entwurf funktional lauffähig.
Im Anschluss ließ ich ihn noch alles im bekannten C#-Stil kommentieren, um auch noch in Zukunft zu wissen, was eigentlich hier Sache ist. Außerdem gehört zu Quelltext, welcher anderen zur Verfügung steht, eine gewisse Dokumentation einfach zu.
Vertrauen ist gut, Prüfung ist besser
Bei manchen Punkten stellte sich Copilot selbst ein Bein oder schlug die falschen Aktionen vor. Beispielsweise muss das .NET-Programm nicht mit sudo, also Root-Rechten ausgeführt werden, zudem waren manche Bezeichnungen von Variablen krumm. Dies war allerdings auch oft meinen recht ausgeprägten Entwicklungsvorstellungen, wie etwas auszusehen und strukturiert sein muss, geschuldet. Etwas, was der Copilot erst im Laufe des Projektes lernte und somit spätere Aufgaben mehr nach meinem ästhetischen Geschmack erledigte.
Quelltext ist frei verfügbar
Im Geiste aller unserer Basteleien ist der Quelltext auf GitHub frei verfügbar. Spielt gerne damit herum, erstellt neue Lichtspiele und habt einfach Spaß an der Softwareentwicklung. Amüsant hierbei: Ich habe die Readme des Repositories auch via Copilot erstellen lassen. Ich bin mir nicht sicher, ob ich diesen beliebten aber doch sehr extrovertierten Stil einer Readme wirklich möchte. Was meint ihr?
Der Spaß kann beginnen
Wie schon erwähnt ging die Entwicklung des Prototypen flott und auch der Feinschliff war eine Sache von Minuten, nicht Stunden. Nun konnte der eigentliche Spaß beginnen und Dinge zum Leuchten bringen! Ich vergaß, wie hell dieser Blinkt! eigentlich ist, und stellte schnell die Helligkeit auf 20%. Mehr muss nicht sein, um zu sehen, was passiert, und einen Suchscheinwerfer brauche ich auch (noch) nicht.
Hier kam GitHub Copilot wieder ins Spiel. Es erstellte mir verschiedene Lichtspiele auf mathematischer Basis, um mal mehr zu sehen als nur rote, grüne und blaue Lämpchen. Ich stellte wieder fest, wie befriedigend es einfach ist, etwas aus der digitalen Welt unfassbar, greifbar und visuell darzustellen. Dies löst in mir noch dieselbe Faszination aus wie damals unser Blinkt! mit Windows 10 IoT Core.
Randnotiz: Video Experiment hierzu
Wie ihr wisst, macht mir es wirklich Spaß, die Welt für Softwareentwicklung zu begeistern – vor allem, wenn es eigentlich jede/r nachmachen kann. Wie schon oft bei Dr. Windows berichtet, experimentiere ich gerne mit verschiedenen Arten der Inhaltserstellung wie vor einiger Zeit mit meinem Podcast „La-La-Laber doch!“. Dieses Mal wollte ich in die Fußstapfen von Developer Evangelists treten und ein Video dazu veröffentlichen, wie man in weniger als fünf Minuten mit Copilot und .NET eben etwas zum Blinken bekommen kann.
Hierzu müsst ihr wissen, dass ich einen Sprachfehler habe und es mich sehr viel Überwindung als auch das Verarbeiten von großer Scham kostet, in einer fremden Sprache im Internet Inhalte zu veröffentlichen oder viel mehr sie vorzubereiten – sich selbst Stottern hören beim Schneiden ist nicht gerade angenehm.
Deswegen an dieser Stelle ein großes Dankeschön an die tolle Dr. Windows Community! Euch muss man nicht Diversität und Inklusion erklären, sondern ihr seid es! Egal, was manche Despoten sagen. Danke!
Thema:
- Entwicklung
Über den Autor

Tobias Scholze
Bayrischer Open Source- und Community-Enthusiast, Verfechter des neuen Microsoft und Wandler zwischen den Betriebssystemwelten. #communityrocks Von Herzen ein Nerd mit der festen Überzeugung, dass man gemeinsam und durch den Einsatz von moderner IT die Welt für jeden ein Stückchen besser machen kann.