Init v1.0
This commit is contained in:
Executable
+150
@@ -0,0 +1,150 @@
|
||||
#!/bin/bash
|
||||
|
||||
# FIX for web interface
|
||||
chmod 777 /opt/banc/config.ini
|
||||
chmod 777 /opt/banc/releves -R
|
||||
# UP HAT MBUS
|
||||
if [ -f "/tmp/star-menu-first-launch" ]; then
|
||||
/usr/bin/gpio write 25 1
|
||||
fi
|
||||
|
||||
#### Initialisation des variables ####
|
||||
|
||||
#+ Mode normal
|
||||
RESETCOLOR="$(tput sgr0)"
|
||||
# "Surligné" (bold)
|
||||
SURLIGNE=$(tput smso)
|
||||
# "Non-Surligné" (offbold)
|
||||
NONSURLIGNE=$(tput rmso)
|
||||
|
||||
# Couleurs (gras)
|
||||
#+ Rouge
|
||||
ROUGE="$(tput bold ; tput setaf 1)"
|
||||
#+ Vert
|
||||
VERT="$(tput bold ; tput setaf 2)"
|
||||
#+ Jaune
|
||||
JAUNE="$(tput bold ; tput setaf 3)"
|
||||
#+ Bleu
|
||||
BLEU="$(tput bold ; tput setaf 4)"
|
||||
#+ Cyan
|
||||
CYAN="$(tput bold ; tput setaf 6)"
|
||||
|
||||
function cleanup {
|
||||
pkill -P $$
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
function autoaquisition {
|
||||
pkill -P $$
|
||||
cd /opt/banc
|
||||
clear
|
||||
python3 aquisition.py
|
||||
}
|
||||
trap autoaquisition TERM
|
||||
|
||||
function autolaunchaquisition()
|
||||
{
|
||||
sleep 1800
|
||||
#~ sleep 6
|
||||
if [ -f "/tmp/star-menu-first-launch" ]; then
|
||||
# Envoyer le signal pour lancer l'aquisition auto sur le programme primaire
|
||||
kill -TERM $$
|
||||
fi
|
||||
}
|
||||
|
||||
while [ 1 ]; do
|
||||
clear
|
||||
echo
|
||||
echo " ${JAUNE}AFPMA"
|
||||
echo -n ${RESETCOLOR}
|
||||
echo " Banc ECS"
|
||||
echo
|
||||
if [ -f "/tmp/star-menu-first-launch" ]; then
|
||||
echo -n ${ROUGE}
|
||||
echo "(Sans actio : lancement automatique de l'aquisition à +30min du démarrage)"
|
||||
echo -n ${RESETCOLOR}
|
||||
autolaunchaquisition &
|
||||
echo
|
||||
fi
|
||||
echo "Que voulez vous faire ?"
|
||||
echo " 1 - Lancer une aquisition de donnée"
|
||||
echo " 2 - Afficher la date et l'heure"
|
||||
echo " 3 - Changer la date et l'heure"
|
||||
echo " 4 - Tester un relevé sur le compteur d'énergie"
|
||||
echo " 5 - Allumer le HAT"
|
||||
echo " 6 - Eteindre le HAT"
|
||||
echo " 9 - Lancer l'invité de commande (bash) "
|
||||
|
||||
read -p "Enter votre choix : " menu
|
||||
|
||||
rm /tmp/star-menu-first-launch 2>/dev/null
|
||||
|
||||
if [[ "$menu" == "" ]] ; then
|
||||
continue
|
||||
elif ! [[ "$menu" =~ ^[1-6]$ ]] && ! [[ "$menu" == "9" ]] ; then
|
||||
echo "*** Erreur : Choix invalide *** "
|
||||
sleep 2
|
||||
continue
|
||||
fi
|
||||
|
||||
pkill -P $$
|
||||
|
||||
if [ "$menu" == "1" ]; then
|
||||
clear
|
||||
cd /opt/banc
|
||||
python3 aquisition.py
|
||||
elif [ "$menu" == "2" ]; then
|
||||
clear
|
||||
echo
|
||||
date
|
||||
echo
|
||||
echo "Retour dans 10s"
|
||||
sleep 10
|
||||
elif [ "$menu" == "3" ]; then
|
||||
clear
|
||||
echo
|
||||
echo "Entrée la date au format 'YYYY-MM-DD HH:MM:SS' "
|
||||
echo " * YYYY = année - MM = mois - DD = jour"
|
||||
echo " * HH = heure : MM = minute : SS = seconde"
|
||||
echo
|
||||
echo "Exemple pour la date le 12 janvier 2023 à 12:02"
|
||||
echo "Indiquez : 2023-01-12 12:02:00"
|
||||
echo
|
||||
read -p "Enter la date : " dateset
|
||||
timedatectl set-time "${dateset}"
|
||||
elif [ "$menu" == "4" ]; then
|
||||
clear
|
||||
echo "Attente des données..."
|
||||
echo -n ${BLEU}
|
||||
echo
|
||||
/usr/bin/python3 /opt/banc/mbus-serial-request-data.py /dev/ttyAMA0 &> /opt/banc/releves/test-releve.txt
|
||||
cat /opt/banc/releves/test-releve.txt
|
||||
echo
|
||||
echo -n ${RESETCOLOR}
|
||||
echo "Retrouvé le test de relevé dans 'Télécharger les relevés' > test-releve.txt"
|
||||
echo "Retour dans 30s"
|
||||
sleep 30
|
||||
elif [ "$menu" == "5" ]; then
|
||||
clear
|
||||
echo "Allumage du HAT (la LED rouge doit s'allumer)"
|
||||
echo -n ${BLEU}
|
||||
gpio write 25 1
|
||||
echo -n ${RESETCOLOR}
|
||||
echo "Retour dans 10s"
|
||||
sleep 10
|
||||
elif [ "$menu" == "6" ]; then
|
||||
clear
|
||||
echo "Extinction du HAT (la LED rouge doit s'éteindre)"
|
||||
echo -n ${BLEU}
|
||||
gpio write 25 0
|
||||
echo -n ${RESETCOLOR}
|
||||
echo "Retour dans 10s"
|
||||
sleep 10
|
||||
elif [ "$menu" == "9" ]; then
|
||||
clear
|
||||
/bin/bash
|
||||
else
|
||||
echo "Erreur choix inconnu"
|
||||
sleep 2
|
||||
fi
|
||||
done
|
||||
Reference in New Issue
Block a user