#!/bin/bash
# Startup Script
# ====================================================================
# I wrote this script with the intention of using it to start a
# cron-job -- when the Raspberry Pi is turned on. Before you set the
# cron-job up, you must make sure you have either ran the
# "make-log-files.sh" script or created the appropriate log file and
# folder at the location specified at "logFile" below.
# ====
# Please note: This script calls another (Python) script at the end of
# it. The code in the Python script (relay.py) is an infinite-loop
# so you will need to kill it manually or turn-off the Raspberry Pi.
# ====
# I put the "sleep 60" call at the start to reduce any errors
# occurring because a part of the system (I.E. curl) has not finished
# loading. 60 seconds is a little excessive but I wrote this script
# with the expectation of it running on an unmanned Raspberry Pi. So,
# reliable/consistent behaviour is my preference over "fast start-up
# times".
#sleep 60
logDate = $( date '+%Y-%m-%dT%TZ' )
logFile = "/home/rtrp/logs/startup-logs.txt"
mainURL = "http://ritherdon.abbether.net/api/status/update" # Make sure this is valid.
getApiUrl ( ) {
case $HOSTNAME in
( factory1) apiURL = " ${ mainURL } /1 " ; ;
( factory2) apiURL = " ${ mainURL } /2 " ; ;
( factory3) apiURL = " ${ mainURL } /3 " ; ;
( gallery1) apiURL = " ${ mainURL } /4 " ; ;
( gallery2) apiURL = " ${ mainURL } /5 " ; ;
( gallery3) apiURL = " ${ mainURL } /6 " ; ;
esac
}
logStatusChange ( ) {
cat << EOF >> $logFile
$logDate
EOF
}
logStatusChange
getApiUrl
curl -S -X POST --header 'Content-Type: application/json' --header 'Accept: text/html' -d '{"status": "on", "time": "' ${ logDate } '", "token": "QWERTYuiopasdfghjklzxcvbnm_1234567890"}' " ${ apiURL } "
python3 /home/rtrp/repos/relay/relay.py