Raspberry Pi Infoskærm

her er min fremgangsmåde til at lave en infoskærm på en raspberry Pi 3B+ baseret på Dakboard

Download den seneste version af raspbian og flash SD kort

Åben sd kort på din PC (boot partiotion)

opret en ny fil i roden med navnet “ssh” (uden fil extention) for at aktivere SSH

opret derefter en fil med navnet “wpa_supplicant.conf” med følgende indhold

country=DK
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid=”Dit Wifi Netværks Navn”
psk=”Dit Wifi Password”
}

Jeg har valgt at min skærm skal være i portræt (stå på højkant) så ved at åbne filen config.txt på sd kortet, og indsætte følgende linjer i bunden af filen.

# Display orientation. Landscape = 0, Portrait = 1
display_rotate=1

den skærm jeg benytter har sorte rammer omkring ved første boot, så derfor udkommentere jeg Disable_overscan=1 for at fylde hele skærmen ud til kanterne

indsæt SD kort i Raspberry Pi og boot den op

Find IP adresse på din Raspberry Pi via din router eller en netværksscanner

log på via SSH og benyt brugeren pi og password raspberry

Som det første så skift password med kommando “passwd”

  • sudo apt-get update
  • sudo apt-get upgrade
  • sudo raspi-config

extend filesystem

under menuen boot options, aktiver da desktop med autologin

installer Chromium browser og unclutter

sudo apt-get install -y rpi-chromium-mods
sudo apt-get install unclutter

opret filen rpi-hdmi.sh

nano rpi-hdmi.sh

indsæt fælgende i filen

#!/bin/sh
# Enable and disable HDMI output on the Raspberry Pi
is_off ()
{
tvservice -s | grep “TV is off” >/dev/null
}
case $1 in
off)
fbset -accel false
tvservice -o
;;
on)
if is_off
then
tvservice -p
fbset -accel true
curr_vt=`fgconsole`
if [ “$curr_vt” = “1” ]
then
chvt 2
chvt 1
else
chvt 1
chvt “$curr_vt”
fi
fi
;;
status)
if is_off
then
echo off
else
echo on
fi
;;
*)
echo “Usage: $0 on|off|status” >&2
exit 2
;;
esac

exit 0

gør filen eksekverbar

chmod +x rpi-hdmi.sh

test at du kan tænde og slukke for skærmen

./rpi-hdmi.sh off

./rpi-hdmi.sh

Hvis man vil have skærmen til at tænde og slukke på specifikke tidspunkter kan man schedulere dette via cron

crontab -e

indsæt følgende i crontab

# Slukker HDMI kl. 22:00 om aftenen
0 22 * * * /home/pi/rpi-hdmi.sh off

# Tænder HDMI kl. 7:00 om morgenen
0 7 * * * /home/pi/rpi-hdmi.sh on

opret en service til at håndtere dakboard

sudo nano /etc/systemd/system/dashboard.service

Indsæt følgende i filen

[Unit]
Description=Chromium Dashboard
Requires=graphical.target
After=graphical.target

[Service]
Environment=DISPLAY=:0.0
Environment=XAUTHORITY=/home/pi/.Xauthority
Type=simple
ExecStart=/home/pi/dashboard.sh
Restart=on-abort
User=pi
Group=pi

[Install]
WantedBy=graphical.target

Aktiver service

systemctl enable dashboard.service

Opret filen dashboard.sh

nano dashboard.sh

Indsæt følgende i filen

#!/bin/bash
xset s noblank
xset s off
xset -dpms

unclutter -idle 0.5 -root &

sed -i ‘s/”exited_cleanly”:false/”exited_cleanly”:true/’ /home/pi/.config/chromium/Default/Preferences
sed -i ‘s/”exit_type”:”Crashed”/”exit_type”:”Normal”/’ /home/pi/.config/chromium/Default/Preferences

/usr/bin/chromium-browser –noerrdialogs –disable-infobars –kiosk https://dakboard.com/YOUR_PRIVATE_URL &

gør dashboard.sh eksekverbar

chmod +x dashboard.sh

Genstart og du burde have en fungerende infoskærm kørende som kan administreres via dakboard