Raspberry Pi und blink(1)

Wer noch nicht weiß, was Raspberry Pi oder blink(1) ist, kann sich ja auf diesen Seiten informieren. Ich habe mir ein Raspberry Pi und ein USB RGB LED bestellt. Sehr possitiv überrascht war ich, als zwei blink(1) anstelle von dem nur einen bestellten ankam. Echt klasse, Jungs – vielen Dank.

Vorbereitung

Als erstes muss eine USB-Bibliothek installiert werden:

sudo apt-get install libusb-1.0-0-dev

Danach kann das Kommandozeilen-Tool für Raspberry von der thingm-Homepage heruntergeladen werden:

wget http://thingm.com/blink1/downloads/blink1-tool-raspi.zip

Nach dem Herunterladen muß das Archiv noch entpackt werden:

unzip blink1-tool-raspi.zip

Kontrolle

Wir stecken den blink(1) in den Raspberry uns starten das Ganze. Mit nachfolgendem Befehl sollte ein Eintrag hiddev* (der Stern steht für irgendeine Zahl) auftauchen:

ls /dev/usb/

Mit dem Kommandozeilen-Tool kann man ebenfalls die angebundenen Geräte auflisten:

sudo ./blink1-tool --list
# blink(1) list:
# id:0 - serialnum: 1A00...

Los gehts

Wir schalten die LED erstmal nur ein. Dazu verwenden wir das obige Kommandozeilen-Tool:

sudo ./blink1-tool --on
#Ausgabe: set dev:0 to rgb:0xff,0xff,0xff over 300 msec

Das sieht bei mir nun folgendermaßen aus:

Blink(1) mit dem Raspberry Pi

Das Kommandozeilen-Tool bietet eine umfangreiche Hilfe an. Dazu startet man das Tool ohne Parameter.

Usage:
  blink1-tool <cmd> [options]
where <cmd> is one of:
  --hidread                   Read a blink(1) USB HID GetFeature report
  --hidwrite <listofbytes>    Write a blink(1) USB HID SetFeature report
  --eeread <addr>             Read an EEPROM byte from blink(1)
  --eewrite <addr>,<val>      Write an EEPROM byte to blink(1)
  --blink <numtimes>          Blink on/off
  --random <numtimes>         Flash a number of random colors
  --rgb <red>,<green>,<blue>  Fade to RGB value
  --savergb <r>,<g>,<b>,<pos> Write pattern RGB value at pos
  --readrgb <pos>             Read pattern RGB value at pos
  --servertickle <on/off>     Turn on/off servertickle (uses -t msec)
  --on                        Turn blink(1) full-on white
  --off                       Turn blink(1) off
  --list                      List connected blink(1) devices
  --version                   Display blink(1) firmware version
and [options] are:
  -g -nogamma                 Disable autogamma correction
  -d dNums --id all|deviceIds Use these blink(1) ids (from --list)
//--serial <num>              Connect to blink(1) by its serial number
  -m ms,   --miilis=millis    Set millisecs for color fading (default 300)
  -t ms,   --delay=millis     Set millisecs between events (default 500)
  --vid=vid --pid=pid         Specifcy alternate USB VID & PID
  -v, --verbose               verbose debugging msgs
 
Examples
  blink1-tool -m 100 --rgb 255,0,255   # fade to #FF00FF in 0.1 seconds
  blink1-tool -t 2000 --random 100     # every 2 seconds new random color

Die nächsten Schritte

Als nächstes will ich ein kleines Skript schreiben, dass über das Netzwerk Befehle entgegennehmen kann. Dazu muß auf dem Raspberry ein Webserver installiert werden. Als Skriptsprache kommt PHP oder Perl in Betracht, da damit ein Systemaufruf einfach zu realisieren ist.

Kommentar verfassen