Viewing 3 reply threads
  • Author
    Posts
    • #8208
      Dominique
      Participant

      Maintenant que mon robot peux parler CORRECTEMENT (je pense à MaryTTS) sans connexion internet grâce à MicrosoftSpeech, il peut me dire si celle ci est perdu.

      Voici une fonction qui vérifie la connexion :

      def checkInternetConnexion(speak):
      	try:
      		header = {"pragma" : "no-cache"}
      		req = urllib2.Request("http://www.google.com", headers=header)
      		response=urllib2.urlopen(req,timeout=2)
      		print "Connexion internet O K"
      		if speak==1:
      			talk("Ma connexion internet est correct")
      		return True
      	except urllib2.URLError as err:
      		print "Erreur avec la connexion internet"
      		talk("Erreur avec ma connexion internet, je ne peux plus t'écouter")
      		return False

      La connexion internet est extrêmement importante pour le robot car sans lui, il devient sourd.

      bon codage.

      • This topic was modified 7 years, 7 months ago by Dominique.
    • #8211
      Dominique
      Participant

      Le but de cette fonction est évidement de la mettre dans un timer pour que le robot puisse vérifier sa connexion tous les X temps. Si la connexion est perdu, alors il va dire sans cesse l’erreur. A un moment donnée, ça va soûler. Bon alors, faut faire un poil plus compliquer:

      
      internetConnexionIsOK=0
      
      def checkInternetConnexion(speak):
      	global internetConnexionIsOK
      	
      	try:
      		header = {"pragma" : "no-cache"}
      		req = urllib2.Request("http://www.google.com", headers=header)
      		response=urllib2.urlopen(req,timeout=2)
      		
      		if DEBUG==1:
      			print "Connexion internet O K"
      		
      		if internetConnexionIsOK==0:
      			if speak==1:
      				talk("Ma connexion internet est correct")
      			else:
      				talk("Ma connexion internet est revenu")
      		internetConnexionIsOK=1
      		return True
      	except urllib2.URLError as err:
      		
      		if DEBUG==1:
      			print "Erreur avec la connexion internet"
      		
      		if internetConnexionIsOK==1:
      			talk("Erreur avec ma connexion internet, je ne peux plus t'écouter")
      		internetConnexionIsOK=0
      		return False
      

      Au démarrage vous appeler la fonction comme ça:

      checkInternetConnexion(1)

      Ainsi il donne le résultat une fois.

      Dans le timer comme ceci:

      checkInternetConnexion(0)

      Ici il donnera le résultat si il y a erreur et si il retrouve la connexion.

      • This reply was modified 7 years, 7 months ago by Dominique.
      • This reply was modified 7 years, 7 months ago by Dominique.
    • #8214
      BIGIARINI Vincent
      Participant

      Super Dom !

    • #8216
      lecagnois
      Participant

      Merci Dominique
      Un Tuto de plus ..

Viewing 3 reply threads
  • You must be logged in to reply to this topic.