Bonjour,
Pour un projet perso, j'ai besoin de communiquer entre un Arduino et un dashboard sur un site local. J'ai donc au début essayé une communication avec PHPSerial... qui n'a pas fonctionné.
Du coup j'ai voulu faire une API GET sur un Arduino UNO avec un Shield Ethernet W5100... Comme ça si je veux récupérer une variable, juste besoin de se faire une requête qui va me retourner la variable.
Mais mon gros problème, c'est trouver le code, car même après des heures de recherches sur Google j'en ai pas trouvé...
Je viens de tester, et ca marche !
Merci de votre aide !
Mais deuxième petite question : comment je peux savoir où va la requête ; par exemple afficher différentes infos lorsqu'une requête est faites à IP/get/motor_position/ ou à IP/get/motor_speed/ ?
Ta question n'a pas vraiment de sens.
Si on répond basiquement une requête va au serveur dont tu a donné l'adresse IP.
Si ta question est plus de savoir comment connaitre les différentes fonctionnalité exposé par l'API de ton dashboard( position moteur, vitesse du moteur), cela dépend de ton API.
Visiblement dans les exemples donnée l'API décompose ses ressources de la forme /get(sens d'accès au données)/motor_position(nom de la propriété demandé)
Je voudrais faire que si on charge la page /get/motor_position/ ca nous renvoie la position du moteur
et si on charge la page /get/motor_speed/ ca renvoie la vitesse du moteur
Parce que quand on se connecte, l'arduino serial print client.read(); et dans ce client.read() il est marqué : GET / HTTP/1.1 et moi j'aimerais recuperer mettre le "/" dans une variable, comme ca si c'est "/get/motor_speed/" je peux client.print la variable motor_speed et si c'est "/get/motor_position/" je peux client.print la variable motor_position.
Il faut utiliser la classe String et avec indeoxOf chercher soit une sous chaine ou le caractère /.
Car je crois que sur Arduino il n'y a pas les fonctions contains ou split.
Il me semble qu'il y a une classe pour gérer les serveur HTPP et que tu peux définir des URI précis, sur un "On" qui appel ton code dédié?