För att enkelt kunna styra LED-listerna från olika miljöer har jag valt att använda en server som man kan skicka kommandon till. Den finns på https://github.com/tom-2015/rpi-ws2812-server och installeras enligt följande.
Först måste vi slå av ljudfunktionerna i vår paj då det är den PWM-utgången (normalt GPIO 18) som används. Lägg till
blacklist snd_bcm2835
i /etc/modprobe.d/snd-blacklist.conf (skapa filen om den inte finns) och kommentera bort
# Enable audio (loads snd_bcm2835)
# dtparam=audio=on
i /boot/config.txt. Starta sedan om pajen.
Nu kan man installera servern med
sudo apt-get update
sudo apt-get install git
cd /usr/local/bin
sudo git clone https://github.com/tom-2015/rpi-ws2812-server.git
cd rpi-ws2812-server
sudo make NO_JPEG=1 NO_PNG=1
sudo chmod +x ws2812svr
För att servern ska starta automatiskt får man skapa filen ws2812svr.service i /lib/systemd/system med följande innehåll:
[Unit]
Description=ws2812svr
After=multi-user.target
[Service]
Type=idle
ExecStart=/usr/local/bin/rpi-ws2812-server/ws2812svr -tcp 9999
[Install]
WantedBy=multi-user.target
Kör sedan
sudo chmod 644 /lib/systemd/system/ws2812svr.service
sudo systemctl daemon-reload
sudo systemctl enable ws2812svr.service
så ska den starta automatiskt vid omstart. För att testa skriver man
nc 127.0.0.1 9999
och kan sedan skicka kommandon till servern.