示例#1
0
 def parseMsg(self, message, networkhost):
     # Trame standard : [FROM] [INDEX] [commande] [argument]
     messageList = message.split(' ') 
     
     serverForResponse  = messageList[0]
     indexForResponse   = messageList[1]
     commande           = messageList[2]
     
     self.lg.log(clock_milliseconds(), "debug", "parseMsg message a parser " + message)
     
     if commande == "stop" :
         self.lg.log(clock_milliseconds(), "info", "Asked stop")
         os._exit(0)
     elif commande == "pid" :
         # On initialise l'objet
         piSrv = piServer()
         
         # On envoi la commande
         piSrv.sendToServer(serverForResponse, str(os.getpid()), networkhost)
         
     elif commande == "reloadXML" :
         piSrv.sendToServer(serverForResponse, str(os.getpid()), networkhost)
     elif commande == "getRepere" :
     
         self.lg.log(clock_milliseconds(), "debug", "parseMsg Asked getRepere : " + message)
         
         for index in range(3, len(messageList))
             self.lg.log(clock_milliseconds(), "debug", "parseMsg Asked variable : " + messageList[index])
             if messageList[index].find("sensor(") != -1 :
                 # On demande la valeur d'un capteur 
                 msgSplitted = messageList[index].replace('(',' ').replace(')',' ').replace(',',' ').split()
                 
                 sensorIndex = msgSplitted[0]
                 
                 
     
         piSrv.sendToServer(serverForResponse, str(os.getpid()), networkhost)
     elif commande == "setRepere" :
         piSrv.sendToServer(serverForResponse, str(os.getpid()), networkhost)
     else:
         self.lg.log(clock_milliseconds(), "error", "Command" + commande + "non reconnue")
# On initialise la connexion avec le server de log
lg = piLog()
lg.openLog(piServer.serverLog, moduleLocalName, configXML.verbose)
lg.log(clock_milliseconds(), "info", "starting " + moduleLocalName + " - PID : " + str(os.getpid()))
lg.log(clock_milliseconds(), "info", "port " + moduleLocalName + " : ") #$::piServer::portNumber(${::moduleLocalName})"
lg.log(clock_milliseconds(), "info", "confXML : ") #$confXML")

# On affiche les infos dans le fichier de debug
for element in [attr for attr in dir(configXML()) if not callable(attr) and not attr.startswith("__")]:
    lg.log(clock_milliseconds(), "info", element + " : " + getattr(configXML,element)) 

# Démarrage du serveur
lg.log(clock_milliseconds(), "info", "starting serveur")

piServ = piServer( moduleLocalName, configXML.verbose, "0.0.0.0", piServer.serverAcqSensorUSB)

ssor = sensor.sensor(moduleLocalName, configXML.verbose, piServer.serverLog)

readIsDone = 0
while True:

    # On écoute si un client veut se connecter
    piServ.listen()

    # Toute les 5 secondes on vient lire les différents capteurs
    time.sleep(0.01)
    
    epoch_time = int(time.time())

    if epoch_time % 5 == 0: