GPIO: Erste Schritte mit dem Raspberry Pi

Vor einiger Zeit habe ich eine Artikelserie über das Thema Hausautomatisierung geschrieben. Mittlerweile steht das ganze Zeug leider relativ ungenutzt in der Gegend rum. Das soll sich nun ändern. Und zwar möchte ich nun etwas mit GPIO rumspielen – also den Pins auf dem Raspberry. Ich habe sowohl das Model der ersten generation, als auch der zweiten Generation hier. Da die Pins vom neueren Modell vom Touch-Display belegt sind, nutze ich das ältere Modell. Aber es sollte alles auch mit der neusten Generation funktionieren.

Also habe ich mir ein Start-Kit bestellt, damit ich nicht alles einzeln zusammensuchen muss. Sicher etwas teurer, dafür hat man jede Menge Kram zum spielen dabei. Alles verpackt in einer kleinen praktischen Plastikbox.

Als erstes habe ich wiringPi installiert. Der Build dauert eine ganze Weile – also ruhig einen Kaffee holen in der Zeit.

Ob alles geklappt hat, kann man folgendermaßen testen:

Fein. Und was nun?

Also eine runde Programmieren. Wahlweise mit C, Python oder eben per Shell. Für mich auch endlich mal eine Chance, etwas in Python einzusteigen. Das hatte ich schon viel zu lange vor. Aber soll ja nicht allzu schwer sein, wenn man schon Erfahrung in C, Java, PHP o.ä. hat.

Dank dem mitgelieferten Manual, hatte ich das erste C-Programm schnell (ab)geschrieben:

Schnell kompiliert und ausgeführt:

Dann noch alles ein wenig verkabeln, und schon steht die erste kleine Anwendung: Eine blinkende LED! Der Wahnsinn, oder?

GPIO erste Schritte

Schon jetzt könnte ich meine erste kleine Anwendung schreiben: Status-LEDs für unsere Continous Integration-Umgebung. Heißt: Geht ein Build kaputt, leuchtet eine rote LED auf. Ist alles wieder heile, wird die LED grün. Cool, oder?

Wenn man keine Lust hat alles in C zu schreiben, könnte man die C-Programme natürlich auch mit anderen Sprachen (wie PHP) aufrufen und die LEDs so steuern.

Alternativ kann man die LED in diesem Beispiel natürlich auch per Shell an- und ausschalten:

Über

Jahrgang 87, gelernter Softwareentwickler und fast ein Jahrzehnt Erfahrung im Bereich Web-Entwicklung mit PHP und Web-Design. Diese Eigenschaften machen mich zu einem geeigneten und geschätzten Ansprechpartner für die Umsetzung Ihres Projektes. Weiterhin bin ich seit Ende 2013 Magento Certified Developer.