Serveur ESP8266 D1 Mini pour DFPlayer

Toinoobz
mar, 03/30/2021 - 20:01
Bonjour à tous!
j'ai un projet de commande de son portable. j'ai décidé d'utiliser le WIFI avec une "wemos D1 R2 & Mini" pour commander le DFPlayer. (le nom de la carte est celle disponible dans l'ide arduino avec l'extension de carte 8266, j'ai eu du mal a trouver le bon model, ma carte est un AZ-Delivery D1 Mini)
Ce n'était pas facile mais j'ai un début de programme fonctionnel, le problème c'est que je suis mauvais en HTML et j'aurais voulut récupérer via la barre d'adresse un int plutôt que des char pour commander le son correspondant.
J'ai voulut utiliser "son = client.readStringUntil('n');" mais malheureusement, j'ai beau retourner dans tous les sens je ne parviens pas a récupérer et a transformer en int ma valeur numérique.
Si j'y parvenais, je simplifierais le code avec des boucles et ne taperais pas le code pour les 1000 sons possible! o_O
Walter
mer, 04/07/2021 - 14:51
Bonjour,
je ne suis pas sûre de comprendre.
tu parle de récupérer via la barre d'adresse ton entier, donc sur ton serveur WEB.
Mais tu parle de client.readString
Peut tu détailler ce que tu fais exactement et le code utilisé?
Toinoobz
mer, 04/07/2021 - 15:18
j'ai mis le code en copie, c'est bien un entier que j'aimerais récupérer sur le serveur via la barre d'adresse. Actuellement je fait un "String request = client.readStringUntil('\r');" // Lit la 1er ligne de la requête client
puis un "if (request.indexOf("/0X") != -1)"" pour tester le " string: ici /0X " à l'identique.
Mais si j'arrivais a récupérer une valeur je pourrais directement la passer dans la commande du lecteur MP3 en numéro de piste à jouer.
Le tout entremêlé de "client.print" pour construire une page html. En bonus si quel q'un sait faire une case ou l'on taperais la valeur "entier" récupéré par le serveur ça serrait parfait mais ça c'est la prochaine étape.
Walter
jeu, 04/22/2021 - 17:11
Ha ok, j'ai tendance à utiliser client quand tu es du coté de celui qui se connecte au serveur :)
Du coup si tu fais un premier i = request.indexOf("GET /"), suivi d'un second j = request.indexOf("HTTP/1.1")
il suffit de faire un request.substring(i+5, j) pour avoir la chaine saisi.
peut être est il nécessaires de faire un 'trim' avant d'utiliser 'toint'