Bonjour à tous
je suis entrain de coder une petite interface web pour diriger une voiture télécommandée (via wifi).
J'ai un script pyhton coté "serveur" qui est écoute sur un port spécifique.
Avec l'appli fournie en wifi je dirige bien la voiture.
J'essaye de rajouter une couche web qui aura plus ou moins les mêmes fonctionnalités que l'appli (les fonctions de directions et retour video me suffisent)
J'arrive à le faire en PHP avec l'utilisation des sockets.
En d'autres j'envoie la commande, elle est reçue par le script python et il fait la commande....le hic c'est que c'est loin d'être du pas à pas. Quand j’envoie la commande, par exemple avancer, il avance pendant 1 à 2 secondes avant de s’arrêter. Pour tourner, il fait un demi-tour, impossible de faire un quart de tour par exemple.
Je pense que c'est lié au fonctionnement de sockets PHP. A votre avis comment puis je améliorer les choses?
merci
voici un extrait du code que j'utilise:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 <table> <tr><td></td><td><a href="test.php?motor=avance"><img src="haut.png" width="100" height="100" alt="haut"></td><td></td></tr> <tr><td><a href="test.php?motor=gauche"><img src="gauche.png" width="100" height="100" alt="Gauche"></td><td></td><td><a href="test.php?motor=droite"><img src="droite.png" width="100" height="100" alt="droite"></td></tr> <tr><td></td><td><a href="test.php?motor=arriere"><img src="bas.png" width="100" height="100" alt="bas"></td><td></td></tr> <?php if($_GET['motor']!='') { //avance if($_GET['motor']=='avance') $message="\xff\x00\x01\x00\xff"; //gauche if($_GET['motor']=='gauche') $message="\xff\x00\x03\x00\xff"; //droite if($_GET['motor']=='droite') $message="\xff\x00\x04\x00\xff"; //arriere if($_GET['motor']=='arriere') $message="\xff\x00\x02\x00\xff"; echo strlen($message); //Send the message to the server if( ! socket_send ( $sock , $message , strlen($message) , 0)) { $errorcode = socket_last_error(); $errormsg = socket_strerror($errorcode); die("Could not send data: [$errorcode] $errormsg \n"); }
Partager