Skip to content

fnordlicht

5 posts with the tag “fnordlicht”

Give Away: fnordlichtmini Platinen

GPL v3 Logo

Für das fnordlichtmini (flm) von Alexander Neumann gibt es nun auch ein EAGLE CAD Layout: /stv0g/hardware/fnordlicht/fnordlichtmini_v4 . Zuvor war leider nur ein Schaltplan offen verfügbar. Gleichzeitig habe ich auch meine restlichen Hardware Projekte ( /stv0g/hardware ) aufgeräumt und sie unter der OSHW Lizenz GPL veröffentlicht.

Vielleicht habt ihr ja Lust ein kleines Ambilight zu basteln? Ich habe noch ne Menge der Platinen übrig, die ich gerne in Aachen verschenken oder tauschen würde. Sind dir LEDs sind dir zu langweilig? Ich hab auch noch andere Platinen übrig…

/_astro/OpenHardwareLogo.Bu4nXpNz.png /_astro/flm_layout.BYPUw9gY.png /_astro/flm_night.BZ1NOriH.jpg /_astro/flm_platinen.CH4-XI7N.png

In meinen älteren Beträgen (hier und hier) gibt es auch noch ein paar kleine Anregungen was man alles mit dem flm so anstellen kann.

fnordstripe

fnordstripe Modul
fnordstripe Modul.

In diesem und folgendem Beitrag geht es wieder um fnordlichter. Ja genau, ich habe schon vor einem Jahr mal darüber geschrieben.

fnordlichter sind kleine LED Module die über einen gemeinsamen Bus angesteuert werden können. Ich nutze diese Module zur intelligenten Beleuchtung unserer Wohnung. Sie können uns über neue Mails, den aktuellen Stromverbrauch, das Wetter oder den Serverstatus benachrichtigen oder einfach als Stimmungs-Licht oder Party-Beleuchtung genutzt werden.

Da die einzelnen Module leider nicht genügen um damit mein ganzes Zimmer zu beleuchten, habe ich mich entschieden für diesen Zweck eigene Hardware zu entwickeln.

Wie der Name dieses Betrages es bereits andeutet können meine fnordstripe Module ganze Bänder/Streifen von LEDs ansteuern. Ausgehend von dem fnordlichtmini Design habe ich die LEDs und Konstantstromquellen durch drei MOSFETs ersetzt, die jeweils einige hundert LEDs betreiben können. Im Bild oben wurden die MOSFETs aus Platzgründen auf der Unterseite der Platine verlötet.

Cron Jobs für Sonnenauf- & untergang

Nicht selten kommt es mal vor, dass sich ein Rechner nach astronomischen Zyklen orientiert. Die zur Berechnung der Osterfeiertage häufig verwendete Gaußsche Osterformel basiert so z.T. auf der Mondgleichung.

Unser Problem stellte sich etwas anders dar: Die LED-Flurbeleuchtung in unserem Flur wird durch den Router geregelt und lief bisher in der Regel 24/7. Mit dem hier vorgestellten Programm haben wir es nun geschafft die Laufzeit auf die Nachtstunden zu begrenzen, indem wir die von unserer geografischen Position abhängige Sonnenuntergangszeit nutzen um die Lampen erst bei Dämmerung einzuschalten.

UPDATE: Ich habe nochmal etwas Arbeit in das Tool investiert und es in ein eigenes Projekt ausgelagert. Das neue Tool liefert wesentliche genauere Ergebnisse und mehr Funktionen. Zu finden ist es hier: calcelestial.

Das neue Tool besitzt eine Reihe weiterer nützlicher Funktionen:

Terminal window
$ sun
usage: sun mode [options]
mode is one of: rise, set, noon, daytime, nighttime
following OPTIONS are available
-t, --twilight use special twilight (nautic|civil|astro)
-d, --date calculcate for specified date (eg. 2011-12-25)
-f, --format output format (eg. %H:%M:%S)
-a, --lat geographical latitude (-90° to 90°)
-o, --lon geographical longitude (-180° to 180°)
-q, --query query geonames.org for geographical position
-z, --zone use timezone for output
-h, --help show this help
-v, --version show version
A combination of --lat, --lon or --query is required!

Die einfachste Variante nutzt das Unix Tool at:

Terminal window
echo ~/bin/enable-lightning | at $(sun set -q Frankfurt -t civil)

Mit folgenden Cronjobs, lässt sich dieses Prinzip auch leicht auf andere Anwendungen übertragen:

0 0 * * * echo 'fnctl stop && fnctl fade -c 000000' | at $(sun rise -q Aachen)
0 0 * * * echo 'fnctl start' | at $(sun set -q Frankfurt)

Mit dem Tool nvram-wakeup, lässt sich so beispielsweise der Rechner jeden Tag 10 Minuten for Sonnenaufgang automatisch starten:

Terminal window
nvram-wakeup -s $(date -d "-10min $(sun rise -q Berlin)" +%s)

Oder möchtest du deinen Rechner nach Sonnenuntergang automatisch herunterfahren?

Terminal window
shutdown $(date -d +10min $(src/sun set --lat=50.55 --lon=-6.2) +%H:%M)

fnordlicht VU Meter

Last time, I presented some code for visualizing your power consumption using the Fnordlicht modules. Today, we continue the journey in a similar direction: I’ve written a small C program to control the modules according to the current audio volume.

The software monitors the audio signal of my system (Ubuntu 10.10 with Pulseaudio). So you can dance to everything that can play audio 😄…

Update: As preparation for an upcoming exam, I added a Discrete Fourier Analysis (DFT). Unfortunately, the serial bus is to slow to visualize the audio spectrogram in real time . The bars are colored with their complex phase->hue (HSV) equivalent.

fnordlicht FFT Visualization
fnordlicht FFT Visualization.

The software uses libfn a C-library for controlling fnordlichts and is available at Codeberg: /stv0g/libfn/src/fnvum.c .

Ich benutze PulseAudio um mich in die Soundkarte des Systems einzuklinken. Das Programm tarnt sich als Recording-Tool. Und kann dadurch den kompletten Audio-Output oder nur bestimmte Programme visualisieren. Sogar das Mikrofon kann ich benutzen 😜.

PulseAudio liefert mir einen einfachen PCM Stream (44,1kHz Samplingrate, Mono & 16-Bit signed Integers). Derzeit addiere ich immer nur x Werte dieses Byte Streams und mittele diese Summe dann über einen kurzen Zeitraum.

Geplant ist noch eine FFT-Analyse um die Amplituden verschiedener Frequenzen gemäß der “Ohrkurve”, der Empfindlichkeit des menschlichen Gehörs, gewichten zu können. Der Schritt zur Spektral Darstellung (jedes meiner 10 fnordlichter als VU-Meter für ein bestimmtes Frequenzband) ist dann hoffentlich auch nicht mehr so weit.

Ohrkurve
Ohrkurve.

Visualize your Power Consumption with fnordlicht LED Modules

fnordlicht Power Consumption Visualizer

Gerade zurückgekommen vom elektro:camp(<<2010>>) aus Kaiserslautern, blogge ich heute über mein neustes Spielzeug: zehn fnordlichtmini’s.

Vor ein paar Wochen bin ich auf das Projekt von Alexander Neumann aufmerksam geworden, um den Eingang neuer Mails, Nachrichten und meinen Stromverbrauch darzustellen. Meine 10 Module waren schnell aufgebaut. Sie bestehen aus je 3x3 LED’s (RGB) und einem ATMega8 Mikrocontroller, der die PWM-Ansteuerung und die Kommunikation über einen seriellen Bus übernimmt.

Leider gab es bisher nur kein in Ruby geschriebenen Code zum Testen der Ansteuerung der Lichter über einen Rechner ( /fd0/fnordlicht/tests ). Daher ergriff ich die Gelegenheit und schrieb eine kleine C++-Bibliothek zur Ansteuerung der fnordlicht Module über die serielle Schnittstelle. Die Bibliothek sowie ein Beispiel-Programm für die Linux-Konsole gibt es auf Codeberg: /stv0g/libfn .

Mit der Ethernet-RS232 Bridge von ethersex (Y-Port) konnte ich sogar die Ansteuerung über das Internet testen. Dies wird auch von der Library unterstützt.

/_astro/IMG_3749.B-334MuJ.jpg /_astro/IMG_3754.Bzfs4Xvn.jpg /_astro/IMG_3756.CHWvRnKD.jpg /_astro/IMG_3760.M_alROZc.jpg /_astro/IMG_3765.C_mUVNnl.jpg /_astro/IMG_3766.Z-Mb1uBh.jpg /_astro/IMG_3770.BDw74amh.jpg