LED-Laufschrift fürs Vereinsheim: Unterschied zwischen den Versionen

Zur Navigation springen Zur Suche springen
→‎Lumino-intern: Links zur Doku aktualisiert
K (→‎Installation des neuen rootfs: scp Befehl korrigiert)
(→‎Lumino-intern: Links zur Doku aktualisiert)
 
(7 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Im Lumino befinden sich ein STM32F4Discovery, das die 5 LED-Panels ansteuert sowie ein Raspberry Pi, das die Funktion eines Display-Servers übernimmt und Zeichenfunktionen über das Netzwerk zur Verfügung stellt.
 
Das Lumino besteht aus 5 LED-Panels, auf denen sich jeweils 32x24 LEDs befinden. Diese sind wiederum in Blöcken von 4x8 LEDs organisiert, wobei jeder Block von einem Treiberbaustein angesteuert wird. Innerhalb dieser 4x8-Blöcke ist die Anordnung der LEDs willkürlich gewählt, allerdings sind alle Blöcke gleich ([https://rhodecodegithub.bytewerk.orgcom/Bytewerk/LED-SchildLumino/filesblob/master/Dokumentation/Text/mapping.txt Dokumentation zum LED-Mapping]). Die Zuordnung eines Bits aus dem Framebuffer auf die richtige LED wird durch das STM32F4Discovery vorgenommen.
 
Die Kommunikation des Raspberry Pis mit dem STM32F4Discovery erfolgt über [https://rhodecodegithub.bytewerk.orgcom/Bytewerk/LED-SchildLumino/filesblob/master/Dokumentation/Text/UART-Protokoll.txt UART]. Es werden grundsätzlich vollständige Frames übertragen.
 
Auf dem Raspberry Pi läuft der Display-Server, der die Ansteuerung des Displays auf höherer Ebene ermöglicht. Dazu wartet er auf TCP-Port 12345 auf Befehle (siehe [https://rhodecodegithub.bytewerk.orgcom/Bytewerk/LED-SchildLumino/filesblob/master/Dokumentation/Text/API.txt API-Doku]). Zur vereinfachten Anzeige von Text wird ein zweizeiliger Textbereich („textarea“) zur Verfügung gestellt, der beliebig platziert werden kann. Ist der gesetzte Text zu groß für den Textbereich, wird automatisch gescrollt.
 
echo "on" | nc ledschild.bingo 65000
echo "off" | nc ledschild.bingo 65000
 
===Extern (Client-Skript)===
 
* Anzeige des MPD-Status (laufendes Lied, aktueller Fortschritt u.ä.)
* Begrüßung von Mitgliedern, die sich in das [http://mactracker.bingo/[NDATool]] eingetragen haben (dies hat Vorrang vor dem MPD-Status)
 
Dazu kommuniziert das Skript sowohl mit dem Music Player Daemon als auch dem MACTracker-Skript, das eine Liste der anwesenden Personen generiert. Kommt jemand neu hinzu, wird dieser 1 Minute lang begrüßt, ansonsten wird der aktuelle MPD-Status angezeigt.
 
Ausserdem wird der schalter an der Rueckseite des Geraets auf '''GPIO2''' eingelesen.
Dieser Schalter wird von einem Skript ausgewertet, welches das Schild erst einschaltet, wenn der Schalter seinen Zustand gegenüber dem Startzeitpunkt des Skripts geändert hat.
Es ist noch kein Zweck fuer diesen Schalter vorgesehen.
Das selbe Skript lauscht auch auf Port 65000, wo es die Kommandos `on` und `off` akzeptiert.
 
 
 
$ sudo -s
# cd /home/bingo/chroots/gentoo
# ./init_chrootsetup_chroot.sh
# chroot . /bin/bash
(chroot) # source /etc/profile
root@ledschild # mount -o remount,ro /boot
root@ledschild # echo 1 > /proc/sys/kernel/sysrq
root@ledschild # echo b > /proc/sysrq_triggersysrq-trigger
<Broken Pipe ;-) >
 
 
* [[Busanzeige|Bus-Schild]] <strike>fehlt komplett</strike> [[Benutzer:Coffee|coffee]] hat [[https://github.com/bytewerk/busschild ein neues Bus-Schild-Skript]], welches auch die Wettervorhersage und Freifunk-Statistiken anzeigen kann.
** Treiber für xPortEdgePort-vierfach-USB-RS232-Adapter in Kernel einkompilieren
** Python und pyserial installieren (gewisse weitere Abhängigkeiten des Skripts (BeautifulSoup und requests) werden eventuell überflüssig)
 
359

Bearbeitungen

Navigationsmenü