Raspberry Pi und USB-LED blink(1): Installation und Inbetriebnahme
Im Gegensatz zu anderen Hardware-Komponenten ist der blink(1) keine Plug-and-Play-Hardware, wie ein WLAN-Adapter, eine USB-Tastatur oder ein USB-Stick. Der blink(1) hat eine spezifische Funktion, die einzurichten oder zu programmieren ist. Zwar wird der blink(1) von Raspbian Jessie am Raspberry Pi erkannt. Allerdings ist nur mit einer zusätzlichen Software die Steuerung des blink(1) möglich. Die ist nachträglich zu installieren.
Was ist das blink(1)?
blink(1) von ThingM ist ein USB-Stick mit einer RGB-Leuchtdiode, die man per Software steuern kann. Dabei kann blink(1) jede RGB-Farbe annehmen und benutzerdefiniert blinken, blitzen oder einfach nur dauerhaft leuchten. Interessant ist das für jede Art von Status-Anzeige, ohne Elektronik- oder andere Hardware-Basteleien.
Eine erste Anlaufstelle sollte die offizielle Dokumentation auf Github sein. Denn hier bekommt man auch die Software bzw. den Quellcode zum Compilieren.
Allerdings ist die Dokumentation sehr unübersichtlich und enthält Lücken. Das macht die Installation und Inbetriebnahme am Raspberry Pi sehr umständlich. Deshalb an dieser Stelle eine Alternative zur offiziellen Anleitung.
Schritt-für-Schritt-Anleitung für den blink(1) am Raspberry Pi
- Einstecken und Hardware-Erkennung prüfen
- Installation der Steuerungs-Software
- Steuerungs-Software systemweit verfügbar machen (optional)
- Berechtigung für normale Benutzer setzen (optional)
Nach diesen vier Schritten ist blink(1) mit seiner Steuerungs-Software vollwertig ins System integriert und kann uneingeschränkt genutzt werden.
0. Schritt: Am Anfang schon an das Ende denken
Einleitend gibt es ein paar Dinge zu beachten. Also bevor man loslegt und am Ende zu scheitern droht.
Bei einer USB-Spannung von 5,16 bis 4,78 Volt schwankt der Stromverbrauch zwischen 0,001 bis 0,05 Ampere.
Beim Einstecken im laufenden Betrieb ist ein Raspberry Pi (1) B reproduzierbar abgestürzt und hat sich dabei neugestartet. Bei PC und Notebooks trat dieses Problem nicht auf. Das deutet auf ein bekanntes Problem mit der Stromversorgung hin. Es ist davon auszugehen, dass der blink(1) beim Einstecken erst mal viel Strom zieht und die üblichen Steckernetzteile, die für den Raspberry Pi verwendet werden, in die Knie zwingt. Allerdings kam es bei einem Raspberry Pi 2 B und 3 B mit dem selben Netzteil zu keinem Absturz.
Einen stabilen Betrieb kann man mit einem Raspberry Pi 2 B und 3 B als bestätigt ansehen. Andere Modelle wurden nicht geprüft.
1. Schritt: Einstecken und Hardware-Erkennung prüfen
Zuerst steckt man den blink(1) in eine freie USB-Buchse. Der blink(1)-USB-Stick wird in der Regel automatisch erkannt. Ob die Hardware vom System erkannt wurde ist zu prüfen.
lsusb
Bei erfolgreicher Hardware-Erkennung meldet sich der blink(1) mit der mit der ID "27b8:01ed" als "ThingM blink(1)" an.
Es kann sein, dass der Beschreibungstext leer ist. Die Hardware wurde trotzdem erkannt. Hier muss nur die Liste der USB-IDs (Vendor-ID : Device-ID) aktualisiert werden.
sudo update-usbids
2. Schritt: Installation der Steuerungs-Software
Zum Steuern des blink(1) braucht man eine Steuerungs-Software. Das so genannte "blink1-tool". Das kann man für verschiedene Betriebssysteme und auch Raspbian direkt herunterladen, entpacken und ausführen. Diese Vorgehensweise ist allerdings NICHT zu empfehlen, weil es sich um eine veraltete Version handeln kann.
wget http://thingm.com/blink1/downloads/blink1-tool-raspi.zip unzip blink1-tool-raspi.zip sudo ./blink1-tool --list
Zu empfehlen ist, den aktuellen Quellcode von Github herunterzuladen und selber zu kompilieren.
Die Installation und Compilierung der Steuerungs-Software und alle weiteren Installationsschritte sollte man als Root vornehmen. Das macht weniger Probleme.
sudo -i
Zuerst sind einige Pakete nachträglich zu installieren, um die Software von Github erfolgreich zu laden compilieren zu können.
apt-get update apt-get install git build-essential pkg-config libusb-1.0.0
Dann lädt man den Quellcode von Github herunter und compiliert anschließend die Software.
git clone https://github.com/todbot/blink1.git cd blink1/commandline make
In jedem Fall werden jetzt einige Meldungen über den Bildschirm laufen. Das müssen aber keine Fehlermeldungen sein. In der Regel sollte alles klappen. Wenn nicht, dann fehlen in der Regel Pakete zum Compilieren.
Nach erfolgreicher Compilierung kann man das Tool testen.
./blink1-tool --list
Wenn ein blink(1)-Stick erkannt wurde, dann sollte hier einer angezeigt werden. Sind mehrere dieser Sticks eingesteckt, dann werden die an ihrer ID unterschieden.
Prinzipiell kann man jetzt schon mit dem blink(1) arbeiten. Allerdings nicht besonders komfortabel. Es empfiehlt sich die weiteren Installationsschritte ebenfalls abzuarbeiten.
3. Schritt: Steuerungs-Software systemweit verfügbar machen
Aktuell muss man sich im aktuellen Pfad befinden oder jedes mal den vollständigen Pfad des blink1-tool-Kommandos angeben. Wenn man es systemweit ausführbar machen will, dann muss man es noch verschieben.
cp blink1-tool /usr/local/bin ls /usr/local/bin which blink1-tool
Wenn sich die Datei in diesem Verzeichnis befindet, dann kann man es von jedem Verzeichnis aus aufrufen.
cd / blink1-tool
4. Schritt: Berechtigung für normale Benutzer setzen
Nun darf man die Steuerungs-Software aber nur als Benutzer "root" oder als normaler Benutzer mit dem Kommandozeilenzusatz "sudo" ausführen. Wenn man die Ausführung als normaler Benutzer erlauben möchte, dann ist noch eine UDEV-Regel zu ergänzen.
Dazu ist eine neue UDEV-Rules-Datei zu öffnen:
nano /etc/udev/rules.d/51-blink1.rules
Hier sind folgende Zeilen einzutragen:
SUBSYSTEM=="input", GROUP="input", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="27b8", ATTRS{idProduct}=="01ed", MODE:="666", GROUP="plugdev"
Anschließend die Datei speichern, schließen und die UDEV-Rules neu laden.
udevadm control --reload-rules
blink(1) ausstecken und erneut einstecken. Danach den Benutzer "root" verlassen und die Steuerungs-Software als normaler Benutzer ausführen.
exit blink1-tool --list
Weitere verwandte Themen:
- Raspberry Pi: USB-LED blink(1) von ThingM
- blink(1) von ThingM kaufen
- Raspberry Pi und USB-LED blink(1): Steuerung mit dem blink1-tool
- Raspberry Pi und USB-LED blink(1): Blink- und Blitz-Licht
- Raspberry Pi und USB-LED blink(1): RGB-Farben
Hardware-nahes Programmieren mit dem Raspberry Pi, Python und GPIO Zero
Das "Elektronik-Set Raspberry Pi Edition" ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit Python und GPIO Zero.
- LED: Einschalten, ausschalten, blinken und Helligkeit steuern
- Taster: Verschiedene Zustände auswerten und anzeigen lassen
- LED mit Taster einschalten und ausschalten
- Relais-Board steuern
- LED, Relais-Board und Motor über ULN2003A steuern
- Ampel- und Lauflicht-Steuerung
- Herunterfahren per Taster
- Reaktionsspiel mit Tastern und LEDs
- Eigene Steuerungen programmieren
Teilen:
Elektronik-Set Raspberry Pi Edition
Elektronik erleben mit dem Raspberry Pi mit Python und GPIO Zero
- Leichter Einstieg ins Hardware-nahe Programmieren mit Python und GPIO Zero
- Experimentieren und Programmieren ohne Vorkenntnisse
- Sofort Loslegen mit All-in-one-Set
Elektronik-Fibel
Elektronik einfach und leicht verständlich
Die Elektronik-Fibel ist ein Buch über die Grundlagen der Elektronik, Bauelemente, Schaltungstechnik und Digitaltechnik.