correction bug + ajout d'une action sur demande de fermeture de l'appli
This commit is contained in:
@@ -568,6 +568,7 @@ def listener(sock, logger):
|
||||
global FLAG_CONF_UPDATE
|
||||
global FLAG_HORAIRE_UPDATE
|
||||
global FLAG_TH_CLOSE
|
||||
global FLAG_SHUTDOWN
|
||||
flag = True
|
||||
logger.debug("Démarrage du serveur de communication avec le backend du configurateur")
|
||||
while not FLAG_TH_CLOSE:
|
||||
@@ -600,6 +601,9 @@ def listener(sock, logger):
|
||||
elif data.decode('utf-8').startswith('ALIVE?'):
|
||||
clientsocket.sendall(b"ALIVE\n")
|
||||
data = b''
|
||||
elif data.decode('utf-8').startswith('SHUTDOWN'):
|
||||
FLAG_SHUTDOWN = True
|
||||
data = b''
|
||||
elif len(data) == 0:
|
||||
# deconnexion du client
|
||||
logger.debug("deconnexion du client ...")
|
||||
@@ -670,7 +674,7 @@ def setup_module():
|
||||
while True:
|
||||
try:
|
||||
GPIO.output(7, GPIO.LOW)
|
||||
time.sleep(2)
|
||||
time.sleep(3)
|
||||
GPIO.output(7, GPIO.HIGH)
|
||||
except ValueError as e:
|
||||
return False
|
||||
@@ -798,6 +802,7 @@ GSM_MODULE_INIT_STATE = False
|
||||
FLAG_CONF_UPDATE = False
|
||||
FLAG_HORAIRE_UPDATE = False
|
||||
FLAG_TH_CLOSE = False
|
||||
FLAG_SHUTDOWN = False
|
||||
|
||||
def main():
|
||||
''' main function
|
||||
@@ -822,6 +827,7 @@ def main():
|
||||
global FLAG_CONF_UPDATE
|
||||
global FLAG_HORAIRE_UPDATE
|
||||
global FLAG_TH_CLOSE
|
||||
global FLAG_SHUTDOWN
|
||||
|
||||
# Configuration loader
|
||||
config = get_conf(logger)
|
||||
@@ -896,7 +902,6 @@ def main():
|
||||
# Si le module GSM doit être allumé et qu'il est éteint, on l'allume
|
||||
if not GSM_MODULE_STATE:
|
||||
logger.info("Allumage du module GSM HAT ...")
|
||||
init_module()
|
||||
if not setup_module():
|
||||
logger.error("Erreur de configuration des GPIOs de la board")
|
||||
ser.close()
|
||||
@@ -938,16 +943,34 @@ def main():
|
||||
else:
|
||||
# Si le module GSM doit être éteint et qu'il est allumé, on l'eteint
|
||||
if GSM_MODULE_STATE:
|
||||
idx = 0
|
||||
logger.debug("Fermeture du module GSM HAT ...")
|
||||
init_module()
|
||||
if not setup_module():
|
||||
logger.error("Erreur de configuration des GPIOs de la board")
|
||||
ser.close()
|
||||
sys.exit(1)
|
||||
else:
|
||||
GSM_MODULE_STATE = False
|
||||
GSM_MODULE_INIT_STATE = False
|
||||
GSM_MODULE_SIM_STATE = False
|
||||
while idx < 5:
|
||||
if not setup_module():
|
||||
logger.error("Erreur de configuration des GPIOs de la board")
|
||||
ser.close()
|
||||
sys.exit(1)
|
||||
else:
|
||||
jdx = 0
|
||||
while jdx < 5:
|
||||
# send AT command to test the connection
|
||||
ret, _ = send_at_cmd(cmd='AT', timeout=0.5, serObj=ser, logger=logger)
|
||||
if ret == 2:
|
||||
logger.error("Erreur d'envoie de la commande AT")
|
||||
ser.close()
|
||||
sys.exit(1)
|
||||
elif ret == 1:
|
||||
logger.info("Pas de réponse du module GSM HAT")
|
||||
idx = 6
|
||||
break
|
||||
else:
|
||||
logger.warning("Module GSM HAT allumé .. ({}/5)".format(jdx + 1))
|
||||
jdx += 1
|
||||
time.sleep(1)
|
||||
|
||||
GSM_MODULE_STATE = False
|
||||
GSM_MODULE_INIT_STATE = False
|
||||
GSM_MODULE_SIM_STATE = False
|
||||
|
||||
server_addr = "/tmp/uds_socket"
|
||||
# Make sure the socket does not already exist
|
||||
@@ -980,6 +1003,15 @@ def main():
|
||||
out = ''
|
||||
try:
|
||||
while True:
|
||||
# drapeau de fermeture de l'appli
|
||||
if FLAG_SHUTDOWN:
|
||||
# on ferme le module si il est ouvert
|
||||
if GSM_MODULE_STATE:
|
||||
if not setup_module():
|
||||
logger.error("Erreur de configuration des GPIOs de la board")
|
||||
|
||||
raise KeyboardInterrupt
|
||||
|
||||
# Drapeau de mise à jour de la configuration, par le configurateur via le serveur (socket)
|
||||
if FLAG_CONF_UPDATE:
|
||||
logger.info("Configuration doit être rechargée ...")
|
||||
|
||||
Reference in New Issue
Block a user