User manual
viene descritta la comunicazione con il modulo.
1
Comunicazione seriale
La comunicazione avviene tramite l'interfaccia software seriale fornita insieme alla
libreria SoftwareSerial. Durante l'inizializzazione è necessario specificare anche i
pin utilizzati, in questo caso, 11 e 12.
001
#include <SoftwareSerial.h>
002
SoftwareSerial esp8266(11, 12);
Proprio come nel caso di un'interfaccia seriale normale, tramite i comandi
esp8266.print o esp8266.println si possono trasmettere byte o intere righe.
Particolarmente utili sono i comandi esp8266.find e esp8266.findUntiltramite i quali
è possibile controllare il flusso in entrata per determinate stringhe. Questo rende
molto facile intercettare la risposta appropriata del modulo. Tuttavia, se non arriva
una stringa prevista, la ripresa del programma può richiedere del tempo. Il tempo
di attesa (timeout) viene definito tramite esp8266.setTimeout. Con findUntil() si
può tuttavia definire una seconda stringa che abbandona la funzione di ricerca e
restituisce "false" come valore di ritorno. Questo è utile nella funzione sendCom ():
001
//-------Controll ESP--------
002
003
boolean sendCom(String command, char respond[])
004
{
005
esp8266.println(command);
006
if (esp8266.findUntil(respond, "ERROR"))
007
{
008
return true;
009
}
010
else
011
{
012
debug("ESP SEND ERROR: " + command);
013
return false;
014
}
015
}