Raspberry Pi Dashboard mit Dashing

Raspberry Pi Dashboard mit Dashing

 26.07.2014,  02.01.2020 -  Sebastian Pech -  ~3 Minuten

Dashing bietet ein Framework um Raspberry Pi Dashboards einfach zu erstellen. Wenige Handgriffe reichen zum Anzeigen des Dashboards im Kioskmodus. Dadurch lassen sich wichtige Daten im Büro oder zuhause in seiner gesamten Größe darstellen.

Smashing Dashing installieren

Mit einem aktuellen Ruby kann mittels gem direkt aufgerufen werden um Dashing zu installieren.

$ sudo apt-get install ruby-dev
$ sudo apt-get install nodejs
$ sudo /usr/bin/gem install dashing
$ sudo /usr/bin/gem install bundler
$ dashing new sweet_dashboard_project
$ cd sweet_dashboard_project
$ bundle
$ dashing start

Das Dashboard ist nun erreichbar unter der Adresse localhost:3030.

UPDATE 20.09.2017: Dashing ist eingestellt und der Nachfolger heißt Smashing . Die Installation ist aber ähnlich wie folgt.

$ sudo apt-get install ruby-dev
$ sudo apt-get install nodejs
$ sudo gem install bundler
$ sudo gem install smashing
$ smashing new dashboard_project
$ cd dashboard_project
$ bundle
$ smashing start

Falls Fehler aufgrund einer zu kleinen Ruby Version auftreten gibt es hier ein Skript für die Installation von Ruby 2.4. Danach die folgenden Kommandos ausführen und wieder mit der Installation von oben weitermachen.

$ gem install rubygems-update
$ sudo update_rubygems
$ sudo gem install rack-test -v 0.7.0

Chromium und Mauszeiger verstecken

Durch unclutter kann der Mauszeiger versteckt werden. Chromium bietet einen einfachen Webbrowser mit Kioskmodus und X11VNC ist ein schlanker XServer. Ist der Raspberry Pi mit einer grafischen Oberfläche installiert kann auch der dort vorhandene XServer genutzt werden.

$ sudo apt-get install unclutter x11vnc chromium-browser

Erster Test

Jetzt ist es an der Zeit für den Test des Raspberry Pi Dashboards.

$ startx &
$ export DISPLAY=:0.0
$ chromium-browser --kiosk --ignore-certificate-errors --disable-sync
--disable-restore-session-state http://localhost:3030

Der Fehler „Failed to load NSS libraries“ wird durch den folgenden Aufruf behoben.

$ sudo ln -s /usr/lib/arm-linux-gnueabihf/nss/ /usr/lib/nss

Autostart

Damit das Raspberry Pi Dashboard immer beim Start erscheint ist eine Anpassung der Konfiguration notwendig ( Referenz ).

$ cd ~/.config
$ mkdir autostart
$ cd autostart

Im Anschluss wird der Autostart für Chromium angelegt.

$ vi chromium.desktop
[Desktop Entry]
Type=Application
Name=chromium
Exec=chromium --kiosk  localhost:3030
StartupNotify=false
Terminal=false
Hidden=false

Danach erfolgt der Autostart für X11VNC.

$ vi x11vnc.desktop
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=X11VNC
Exec=x11vnc -forever -shared -usepw -display :0 -ultrafilexfer
StartupNotify=false
Terminal=false
Hidden=false

Powersave verhindern

Möglichkeit 1: Konfiguration

Eine Konfigurationsänderung verhindert das Abschalten des Monitors ( Referenz ).

$ sudo vi /etc/lightdm/lightdm.conf
xserver-command=X -s 0 –dpms

Möglichkeit 2: Bewegungserkennung

Mittels Bewegung lässt sich der Monitor aktivieren. ( Bewegungserkennung einrichten Referenz )

$ sudo chmod u+s /bin/chvt
motion.conf
# Den Monitor für 1 Minute aktiv schalten
gap 60
# Monitor bei Bewegung einschalten
on_event_start /opt/vc/bin/tvservice -p ; chvt 6; chvt 7
# Nach der gap Zeit wieder ausschalten
on_event_end /opt/vc/bin/tvservice -p; /opt/vc/bin/tvservice -o

# OPTIONAL: speichern von Bildern deaktivieren
ffmpeg_cap_new off
ffmpeg_cap_motion off
output_normal off
output_motion off

Weitere Widgets

Eine Liste von Widgets gibt es auf dem Smashing Wiki der Github Webseite. Hier ist eine Auswahl der Plugins die ich ausprobiert habe. Die Installation ist leider bei jedem Add-On individuell außer es sind GIST Datien, dann hilftsmashing install GIST_ID.

Bestimmte Plugins benötigen weitere Gems. Diese sind in die Gemfile Datei einzubinden!

Nicht funktionierende Widgets.

  • Daily Dilbert – Dilbert Comics (benötigt gem ‚chronic‘ ) – Verzögert den Start erheblich?!
  • RSS – Zeigt nur von wenigen Webseiten die RSS/Atom Feeds an.

Nicht getestet.