Werkstattbericht B-Screen

20230711_121303

problem:
als frisch gebackener grundschulimker erzählte ich vergangenes schuljahr bei jeder gelegenheit von der bienenwaage. konnte bisher aber nur auf den hiveeyes-link verweisen. leute ohne tragbares, internetverbundenes gerät konnten damit wenig anfangen.
hier fehlte eindeutig eine benutzerschnittstelle!

lösung:
vorort-anzeigeterminal für die bienenwaage zum aufstellen direkt am bienenstand - hergestellt aus altem monitor mit raspberry pi zero.
(für mehr bilder auch aus dem innenleben des anzeigeschränkchens: bild verlinkt zur gallery).

bastelbericht:

installation auf der mikro-sd via rpi-imager

monitor anschließen, pi und monitor mit strom versorgen, zur konfiguration maus und tastatur anschließen (dafür ist eine usb-hub hilfreich: micro-usb auf mehrfach usb. der zero hat nur einen freien micro-usb-anschluss).

als erstes die monitoreinstellungen, hochkant ein und energiespar aus via raspberry pi os screen config:
:ballot_box_with_check: screen orientiation: left (1024x1280)
:ballot_box_with_check: screen blanking aus

hauptproblem: auf dem raspi zero gehen firefox und chrome gar nicht!

einziger hiveeyes-tauglicher browser, der auch auf dem zero hochkommt: midori
sudo apt install midori x11-apps xdotool unclutter

midori mit vollbild grafana-desktop einrichten:

einen maßgeschneiderten hiveeyes-desktop im grafana-kiosk-mode (d.h. ohne den grafana-toolbar links) zusammenstellen. damit der dann automatisch ohne weitere eingaben nach dem power-on dargestellt wird:

in den midori-einstellungen:
:ballot_box_with_check: hiveeyes-kiosk als startseite
:ballot_box_with_check: browser mit startseite starten

midori in den autostart:
edit /etc/xdg/autostart/midori.desktop

[Desktop Entry]
Type=Application
Name=Midori
Comment=Midori Webbrowser per Shellskript starten
NoDisplay=false
Exec=/bin/bash /home/kux/startMidori.sh &

dieser autostart-eintrag führt beim systemstart startMidori.sh aus:

#!/bin/bash
midori &
sleep 20
window_id=$(xdotool search --onlyvisible midori)
xdotool windowactivate --sync $window_id key F11  # midori in fullscreen schalten
unclutter &					                   	  # mauspfeil verstecken

[danke wiki LeRalf]

push-button(s) zum sauber runterfahren

zwei mal zwei steckkontakte auf die entsprechenden pinouts aufgelötet:
pin21+gnd,
pin3+gnd
zur verbindung mit je einem push-button

in der /boot/config.txt eintragen:

# added manually, 200230709, mois:
dtoverlay=gpio-shutdown,gpio_pin=3,active_low=1,gpio_pull=off   # shutdown, bootup
dtoverlay=gpio-shutdown,gpio_pin=21			                	# kann nur shutdown

(...) — Raspberry pi powerdown and powerup button
Raspberry Pi über GPIO-Eingang herunterfahren
pi 3 - Raspberry Pi 3 model B "dtoverlay=gpio-shutdown" - Raspberry Pi Stack Exchange

change/add wifi-network via ssh:

sudo raspi-config
oder
via wpa_supplicant
Changing Wifi networks from the command line interface - Raspberry Pi Forums
Raspberry Pi OS: WLAN konfigurieren
How To Configure WiFi on Raspberry Pi: Step By Step Tutorial - Latest Open Tech From Seeed

wpa_supplicant.conf, abspeichern in /boot:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=DE

network={
     ssid="ssid"
     psk="password"
     scan_ssid=1
}

bonus: fensterbasierte programme entfernt starten und temperaturkontrolle

da der b-screen keine maus und keine tastatur hat und direkt in die graphische oberfläche bootet, kann es hilfreich sein, per ssh dort graphische programme laufen UND anzeigen lassen:
ssh -X [username]@[hostname]

abgekürzt in .ssh/config

  Host b-screen-x
    User [username]
    HostName [hostname]
    ForwardX11 yes
    IdentityFile [path-to-private-key]

(public-key in die authorized_keys auf dem b-screen nicht vergessen)

:grey_exclamation:wichtig: damit es wie vorgesehen funktioniert, noch in der .bashrc auf dem b-screen eintragen:

export DISPLAY=:0                  # ohne läuft xeyes zwar remote, wird aber lokal angezeigt
alias temp="vcgencmd measure_temp" # raspi-temperatur anzeigen

(mehr erklärung zu export DISPLAY=:0)

und weiter??

auf die idee gekommen bin ich durch das “Grafana Chart Magic Mirror Module”. tatsächlich wäre ein magic mirror jetzt noch die coole ausbauform: lass dein lieblings-hiveeyes-panel in deinem badezimmerspiegel anzeigen. das entsprechende einweg-spiegelglas gibts hier und hier und hier.

4 Likes

Falls jemand so was mit einem RasPi 4 – statt einem Zero, wie von @mois versendet – und zwei Monitoren vor hat, kann hier schauen: Grafana-Grafiken mit Raspberry Pi 4 auf 2 Monitoren und Browser autostart / fullscreen

ja, stimmt! ich sollte mich öfter an wegweisende threads hier im forum erinnern!
ab raspi 2b funktionieren auch firefox und chrome. das spart das ganze gefummel mit dem midori-browser.

1 Like