Add Script to run the Kiosk on hobbes
This commit is contained in:
parent
8ad1c267ce
commit
7b1ecb13fd
1 changed files with 48 additions and 0 deletions
48
templates/hobbes/kiosk.sh.j2
Executable file
48
templates/hobbes/kiosk.sh.j2
Executable file
|
@ -0,0 +1,48 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Check if the script is run by root
|
||||
if [ "$EUID" -ne 0 ]
|
||||
then echo "Please run as root"
|
||||
exit
|
||||
fi
|
||||
|
||||
# MQTT broker details
|
||||
BROKER="{{ kiosk_mqtt_host }}"
|
||||
TOPIC="{{ kiosk_mqtt_topic }}"
|
||||
|
||||
# Variable to store the PID of the fbi process
|
||||
fbi_pid=0
|
||||
|
||||
# Function to be executed on SIGTERM
|
||||
on_sigterm() {
|
||||
echo "SIGTERM received, exiting..."
|
||||
# Kill the fbi process with the stored PID
|
||||
if [ $fbi_pid -ne 0 ]; then
|
||||
sudo kill $fbi_pid
|
||||
fi
|
||||
# Remove the temporary file
|
||||
rm -f /tmp/grafana.png
|
||||
exit 0
|
||||
}
|
||||
|
||||
# Trap SIGTERM and call on_sigterm() when it is received
|
||||
trap 'on_sigterm' SIGTERM
|
||||
|
||||
while true
|
||||
do
|
||||
# Subscribe to the topic and save received data to a file
|
||||
mosquitto_sub -h $BROKER -t $TOPIC -C 1 > /tmp/grafana.png
|
||||
|
||||
# Kill the previous fbi process
|
||||
if [ $fbi_pid -ne 0 ]; then
|
||||
sudo kill $fbi_pid
|
||||
fi
|
||||
|
||||
# Display the image using fbi
|
||||
fbi -T 1 -noverbose -a /tmp/grafana.png &
|
||||
fbi_pid=$!
|
||||
|
||||
# Wait to avoid a race condition between
|
||||
# fbi starting and mosquitto truncating the file
|
||||
sleep 1
|
||||
done
|
Loading…
Reference in a new issue