User manual

(Timeout) est défini par esp8266.setTimeout . Avec findUntil() une deuxième chaî-
ne de caractères peut cependant être définie par laquelle la fonction de recherche
s’arrête et fournit false comme valeur de retour. Nous exploitons ceci dans la fonc-
tion sendCom():
//-------Controll ESP--------
boolean sendCom(String command, char respond[])
{
esp8266.println(command);
if (esp8266.findUntil(respond, "ERROR"))
{
return true;
}
else
{
debug("ESP SEND ERROR: " + command);
return false;
}
}
Si vous appelez la fonction, vous devez également remettre à la fonction
l’instruction et la valeur de retour attendue, p. ex. AT et la valeur de retour atten-
due OK. La commande est transmise par println() et finalement attendue jusqu’à la
valeur de retour attendue ou un ERROR est reçu. Si l’attente est remplie, la fonc-
tion renvoie la valeur true . Dans le cas contraire, le module transmet par la fonc-
tion debug()-un ESP SEND ERROR et la commande envoyée revient pour pouvoir
contrôler facilement quelle instruction est à l’origine des problèmes.
Pas toutes les instructions ATont une valeur de retour explicite ou à une ligne. Si
par exemple l’adresse IP est interrogée, il n’y a pas nécessairement de valeur
connue à l’avance. C’est pourquoi il y a une deuxième fonction sendCom()qui n’a
besoin que du paramètre command et renvoie ensuite toute la chaîne (string)
reçue. La chaîne ne doit cependant pas être trop longue car la mémoire tampon
du SoftwareSerial peut être dépassée.