Schlagwort-Archive: Raspberry Pi

info-beamer-nodes auf dem Raspberry Pi laufen lassen

Schon eine ganze Weile lang steht im Verschwoerhaus mein alter Fernseher, der per HDMI und info-beamer-pi mit Inhalten beschickt wird – bisher fast nur Platzhalter, ein paar Bilder, die Uhrzeit.

Das wollte ich schon lange mal huebscher machen. So wie die Infoscreens beim Congress zum Beispiel. Mit kommenden Veranstaltungen. Und was da alles dazugehoert. Wann immer ich da aber eingestiegen bin, kam ich mir wie beim wildesten Yak Shaving vor: Die neueren Beispiele fuer info-beamer-Displays sind allesamt Packages fuer info-beamer-hosted, und so einfach laufen die nicht auf einem Pi, wenn man die Architektur von -hosted nicht kennt.

Nachdem ich aber heute ein paar der Fallstricke herausgefunden habe, hier mal fuer die Nachwelt erhalten:

In der Regel gibt es zwei bis drei Dinge zu beachten. Erstens: Beim Start von python2 service bricht der Prozess mit folgender Fehlermeldung ab:

[hosted.py] updated config
initialized hosted.py
Traceback (most recent call last):
  File "service", line 11, in <module>
    from hosted import CONFIG, NODE
  File "/home/pi/package-gpn15/hosted.py", line 184, in <module>
    NODE = Node(os.environ['NODE'])
  File "/usr/lib/python2.7/UserDict.py", line 23, in __getitem__
    raise KeyError(key)
KeyError: 'NODE'

Hier fehlt die Umgebungsvariable, wie der node heisst, an den die Uhrzeit geschickt werden soll. Das ist der root-node, der sich ueber die Konsole recht leicht ermitteln laesst:

In diesem Fall hilft ein vorheriges export NODE=package-gpn15 und alles funktioniert.

Zweitens: Die Config-Dateien. Die muessen aus den meist vorhandenen config.example.json angepasst werden. Was fuer den Fahrplan hilft ist ein Link auf ein frab-XML(!) in schedule_url in der config.json. Entweder ein kommendes Event aussuchen, das seinen Fahrplan ueber frab ausspielt, oder selber eins bauen. Das service-Script laedt das dann herunter und baut es in das etwas eigene json-Format um. Im package-conference-room-Readme ist das tatsaechlich beschrieben, das muss man aber erstmal finden 😉

Die 33c3-Infoscreens habe ich so leider trotzdem nicht zum Laufen bekommen, da ist die Konfiguration wohl noch ein wenig anstrengender. Aber immerhin verstehe ich jetzt ein wenig besser, wie info-beamer funktioniert. Jetzt muss ich nur noch herausfinden, warum der Bildschirminhalt trotz aller Overscan-Einstellungen ueber den Bildschirmrand hinauslaeuft (also keine schwarzen Rahmen, die gibts allenfalls in der Konsole, sondern abgeschnittene Raender rundum)

/edit: Rausgefunden, wie das mit den Raendern geht: X- und Y-Nullpunkt und dann die horizontale und vertikale Skalierung anpassen. In unserem Fall:


export INFOBEAMER_TARGET_X=50
export INFOBEAMER_TARGET_Y=30
export INFOBEAMER_TARGET_W=94%
export INFOBEAMER_TARGET_H=94%

Lebenszeichen

Wer hier mitliest, koennte meinen, ich existiere gar nicht mehr – ich kann wahlweise beruhigen oder enttaeuschen, dem ist nicht so.

Die letzten Monate waren ein wenig turbulent: Diplomarbeitsendspurt und -abschlussvortrag, nahtloser Uebergang in SoNaFe-Hilfsorganisatortaetigkeit wider Willen, parallel Arbeit im Mobilitaetsreferat, der datalove-Arbeitsgruppe, ein Open-Data-Workshop beim SWR in Stuttgart… was man eben so tut 😉

Die kommenden Wochen bleiben voller spannender Projekte: Ab Freitag abend bin ich in Berlin zum offiziellen Start von Code for Germany, ausserdem habe ich einige Texte zu Open Data und Nahverkehr auf dem Backburner, und Dominik und ich prototypen gerade Libraries fuer neue Busabfahrtsdisplays auf GTFS-Basis. Da Farnell element 14 uns hier freundlicherweise mit Hardware unterstuetzt, gibt’s bald auch eine Variante zum einfach-nur-installieren-und-verwenden – aber erstmal klinke ich mich nun in Richtung Berlin aus 🙂

Bis dahin ein Sneak Peak:

Jahresendloeten

Vermutlich haben mich die Twitter-Mitlese und die sporadisch geschauten Streams des 29C3 endgueltig aufgerafft: Ich habe jetzt endlich ein serielles Konsolenkabel fuer meinen Raspberry PI.

Wenn ich den an der Uni an eine Public-Access-LAN-Dose haenge, koennte ich zwar aus dem Uni-WLAN heraus auch per SSH auf den Pi, so geht’s nun aber auch ganz ohne Netzwerk. Vorausschauenderweise hatte ich mir vor ewigen Zeiten mal bei lipoly ein FTDI-Breakout-Board von DFRobot gekauft, dessen Signalpegel per Jumper von 5V auf (PI-kompatible) 3,3V umgestellt werden koennen.

Wenn man nun noch weiss, dass die TX- und RX-Pins des Boards falsch beschriftet ist und man nicht TX mit RX und RX mit TX verbinden muss, sondern TX/TXO und RX/RXI (sic), hat man mit drei Draehtchen (RX, TX und Masseleitung fuer stoerungsfreie Kommunikation) und einem

screen /dev/ttyUSB0 115200

einen Shell-Login auf dem Pi 😉