RaspiLight – Mein erstes Projekt mit dem Raspberry Pi

Bestellt habe ich ihn vor Monaten, geliefert wurde er nach Wochen, etwas eigenes ausprobiert habe ich, naja, mittlerweile auch vor einigen Wochen – der Artikel musste warten. Von was ich rede? Vom Mini-Computer Raspberry Pi, von dem zur Zeit immer wieder zu lesen ist.

Was ich in meinem ersten „Projekt“ realisieren wollte wusste ich schon lange ganz genau: Eine kleine Lichtersteuerung, die ich passend zu Musiktiteln einstellen kann.

Das ist RaspiLight

Raspberry Pi

Der Raspberry Pi

Raspberry Pi - Größe

Der Raspberry Pi ist so groß wie eine Kreditkarte … oder mein Studentenausweis 😉 .

Die Sterne

Das sind die Sterne des „RaspiLight“

Die Verdrahtung

Die Verdrahtung von oben

RaspiLight-Webseite

Die Webseite: Zum Einstellen, Testen und Abspielen.

Grobe Umsetzung

Das meiste der Umsetzung ist in etwa drei Tagen (bzw. Nächten) entstanden. Auf der SD-Karte, die ist sozusagen die Festplatte des Raspberry Pi, ist das empfohlene Debian-Betriebssystem Raspbian “wheezy” installiert. Dazu kamen noch Java, der Apache Webserver, PHP und FFmpeg (zur Musikwiedergabe).

Auf einer kleinen Webseite mit etwas HTML5, PHP und JavaScript kann ich eingestellte Musik-Dateien direkt abspielen und dazu ein passendes Blinkmuster, ganz einfach mit der Maus „einklicken“. Dieses Muster wird dann per Knopfdruck in eine Textdatei gespeichert. Die Datei wiederum kann von einem Java-Programm ausgelesen werden, welches mit der Bibliothek Pi4J die Ausgänge schaltet und somit die Lichter ansteuert.

Die Lämpchen stammen aus einer zerlegten Lichterkette. Zwischen diesen und dem Raspberry Pi sind Relais geschalten, damit die Anschlüsse des Raspberry Pi nicht überlastet und dabei beschädigt werden.

Mit dem Button „play“ auf der Webseite lässt sich jederzeit die gigantische *räusper* Light-Show starten – zusammen mit der Musik natürlich 😎 .

RaspiLight – In Aktion


Das Video zeigt eine Mini-Lightshow zu „Skifoan“ von Wolfgang Ambros. Die Musik muss man sich leider selbst dazu denken oder abspielen – aus rechtlichen Gründen 😐 .

Wenn jemand an näheren Details interessiert ist oder selbst etwas probieren möchte, dabei aber noch Startprobleme hat – einfach einen Kommentar schreiben! Auch der Code ist nicht geheim, falls irgendwo an der Umsetzung Interesse besteht 🙂 .

7 Gedanken zu “RaspiLight – Mein erstes Projekt mit dem Raspberry Pi

  1. Wow! Das ist ein spannendes Projekt.
    Seitdem mir die Bilder von amerikanischen Christmas Light Houses untergekommen sind, muss ich beim Anblick einer Lichterkette sofort an eine Lichtorgel denken. Echt beeindruckend, dass du so eine selbst bauen konntest! Hast du ihr schon was von Skrillex beigebracht? 😉

  2. Danke!
    Skifoan ist bis jetzt der einzige Titel neben einem kleinen Test, aber wenn mehr daraus wird, dann ist das natürlich ein muss 😉 .
    Ich hab Zuhause mit den entsprechenden Videos vorsorglich alle vor dem nächsten Winter gewarnt 😀 .

  3. Hallo,
    Deine Implemetierung für die Lichterkette macht einen tollen Eindruck !

    Magst Du mir verraten, wie Du die Ankopplung der Lichterkette an den Raspberry Pi MiniComputer realisiert hast (per USB, RS232, …) ?

    Vermutlich ist dafür zusätzliche Peripherie notwendig, welchen Baustein hast Du dafür verwendet ?

    Vielen Dank
    Josef Pointner

  4. Danke, gerne versuche ich meinen Aufbau zu erklären 🙂 :

    Der Raspberry Pi verfügt über eine sogenannte GPIO Schnittstelle (im ersten Bild ist diese oben rechts zu sehen). Die einzelnen Anschlüsse, also Pins können direkt über Software geschalten werden. Also 0V oder +3,3V. Diese Pins habe ich auch hier verwendet.

    Eine einzelne Led kann man mit dem entsprechenden Vorwiederstand direkt an einen solchen Pin anschließen. Meine Lichterketten brauchen aber 12V und vor allem eine höhere Stromstärke, die der Raspi selbst nicht hergeben kann. (Achtung, nicht ausprobieren, sonst wird etwas beschädigt 😉 .)

    Aus dem Grund betreibe ich meine Lichterketten an einem eigenen 12V Netzteil. Zwischen je einem GPIO-Pin und einer Lichterkette steht ein Relais. Das funktioniert wie ein Schalter: Sobald die 3,3V des Raspi auf der einen Seite des Relais anliegen, macht es *klick* und auf der anderen Seite wird der 12V-Stromkreis der Lichterkette geschlossen. Also man drückt sozusagen nicht selbst auf diesen Schalter (oder eher Taster), sondern diese 3,3V. Ich verwende also keine komplexen Schnittstellen wie USB oder RS232.

    Ich wollte jetzt eigentlich den Direktlink zu den Relais, die ich verwende einstellen, aber leider sind sie im Shop nicht mehr vorhanden. Das ist Schade, denn die haben zwar laut „geklackert“, aber waren super einfach. Für jede Lichterkette habe ich einen „Bausatz Relaiskarte K1“, Best-Nr. 810044 von Pollin.de verwendet. Bestellnummer und Suche führen derzeit leider nur ins Leere, vielleicht gibt es den Bausatz ja nur temporär nicht. (Ein wenig löten, nach einer einfachen Anleitung, wäre notwendig gewesen.)

    Jetzt noch zur Software: Die Ansteuerung habe ich über ein kleines Java-Programm realisiert, das war für mich und meinen Verwendungszweck das passendste.
    Da ich ein wenig Java kann, war es für mich mit „Pi4J“, einer Implementierung der GPIO-Schnittstelle für Java, sehr einfach das umzusetzen.
    Hier sieht man ein Code-Beispiel und auch welche Pins des Raspberry mit Pi4J verwendet werden können:
    http://pi4j.com/example/control.html

    Ich hoffe, dass ich ein wenig helfen konnte – wenn noch Fragen offen sind, einfach erneut Fragen 🙂 .

  5. Pingback: Logo mit LED-Beleuchtung | Alex.

  6. Hi Alexander

    Google hat mich zu deinem Projekt geführt. Ich würde das Projekt gerne für eine Idee meinerseits umsetzen und bin am Sourcecode als Starthilfe interessiert. Ich möchte die Steuerung via RaspberryPi und dem 8-Kanal Ethernet Relais 16A – ETH008 von Devantech für meine Xmas Beleuchtung umschreiben.
    Würdest Du den Code z.Bsp. auf Github öffentlich machen? Ich würde meine Änderungen natürlich auch einfliessen lassen.

    Weihnachtliche Grüsse

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.