SocketAPP WiShield

C'est bon tout fonctionne ! :grin: J'ai juste un petit bug de temps en temps sur mon Serveur. Je pense qu'il est très mal optimisé et en plus, je voudrais mettre une tempo pour éviter de surcharger la Arduino d'information.

Voici le code en Python :

#!/usr/bin/python
# -*- coding: cp1252 -*-

import socket
import time
import pythoncom, pyHook

HOST = '192.168.0.100'     # IP du WiShield
PORT = 1000                # Port du serveur ET du WiShield utilisé
delay = 1                 # Délai d'attente pour la Arduino
key = ""

print("Mise en place des définitions ...")

def sendValue(value):
   print("En attente de création du socket ...")
   s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
   print("Socket créé avec succés")
   print("En attente de connexion ...")
   s.connect((HOST, PORT))
   print("Serveur connecté au WiShield [" + str(HOST) + "] et écoute le port : " + str(PORT))
   s.send(value + '\n')
   s.close()

print("sendValue : OK")

def OnKeyboardEvent(event):
   key = event.GetKey()
   print("En attente d'envoi du message ...") 
   sendValue(key)
   print("Message envoyé : " + key + " !")

print("OnKeyboardEvent : OK")

def key() :
   # create a hook manager
   hm = pyHook.HookManager()
   # watch for all keyboard events
   hm.KeyDown = OnKeyboardEvent
   # set the hook
   hm.HookKeyboard()
   # wait forever
   pythoncom.PumpMessages()

print("key : OK")

while 1:
   print("Mise en route de l'essai ...")
   print("Saisie des touches opérationnel !")
   key()

Vous en pensez quoi ? :relaxed:

PS : Je contrôle bien le tout (Electro-aimant + moteur) avec le L298 ! :wink: