Init v1.0

This commit is contained in:
2023-04-30 20:16:33 +02:00
parent 69ed0d5e65
commit 048198ccbe
15 changed files with 923 additions and 58 deletions
Executable
+150
View File
@@ -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