[Build-Ampel] 1 Die Projekt-Idee

RaspberryPi, Arduino und co. interessieren mich schon länger. Ich habe auch bereits an Workshops teilgenommen in denen kleinere Projekte umgesetzt wurden. Bisher hatte ich jedoch keine konkrete Idee, die ich umsetzen kann. Ich bin jedoch der festen Überzeugung, dass man am produktivsten ist und am meisten lernt, wenn man auf ein konkretes Ziel hinarbeitet.

Ich habe vor Jahren einen RaspberryPi der ersten Generation (256MB RAM) gekauft. Dieser war anfangs als Kodi-Mediacenter im Einsatz, verstaubt jedoch seit einiger Zeit im Regal. Was wäre also naheliegender als ihn für dieses Projekt als Controller zu benutzen. Dies war zumindest der ursprüngliche Plan.
Ok, Raspberry rausgekramt, Raspbian Linux installiert - Ready. Mir fehlten jedoch noch Komponenten (LEDs, Widerstände etc) um mit dem Experimentieren zu starten. Daraufhin habe ich mir das Sunfounder Super-Kit bestellt. Dieses umfasst vom Breadboard über LEDs, 7-Segmentanzeigen bis hin zum LCD alles was man für den Start braucht.

Während ich auf das Komponenten-Kit wartete bin ich noch sehr günstig an einen Arduino Uno gekommen. Ich begann damit zu "spielen" und als das Kit ankam ein paar Schaltungen für den Arduino zu bauen.

RaspberryPi und Arduino Uno

Das Projekt

Da ich mich in meinem Job aktuell intensiv mit Continuous Integration auseinander setze, hat sich die Projekt-Idee entwickelt eine "Build-Ampel" zu bauen, welche auf einfache Weise visualisiert, ob ein Build aktuell läuft, fehlgeschlagen ist oder erfolgreich war. Ein gutes Thema für den Einstieg, welches sich beliebig erweitern lässt.

Ideen-Skizze

Der Grundaufbau besteht aus einem Microcontroller (RaspberryPi / Arduino / etc.) welcher die Ampel entsprechend der Build-Informationen schaltet. Die Daten werden per Rest-API vom Build-Server geladen und dann verarbeitet.
Dies stellt lediglich den Basis-Aufbau dar. Man kann die Konstruktion beliebig erweitern. Denkbar wäre beispielsweise eine Uhr, die die Buildzeit darstellt, ein Lautsprecher, der auf den fertigen / fehlgeschlagenen Build hinweist, ....