User manual
001
#include <SoftwareSerial.h>
002
SoftwareSerial esp8266(11, 12);
Tak samo, jak przy zwykłym porcie szeregowym, można poleceniami
esp8266.print lub esp8266.println przesyłać bajty lub całe wiersze. Szczególnie
praktyczne są także polecenia esp8266.find i esp8266.findUntil, którymi
przychodzący strumień można sprawdzić pod kątem określonych łańcuchów
znaków. W ten sposób bardzo proste jest wyłapanie pasującej odpowiedzi
modułu. Jeśli jednak oczekiwany ciąg znaków się nie pojawia, oczekiwanie na
dalszy bieg programu można nieco potrwać. Czas oczekiwania (timeout) jest
definiowany przez esp8266.setTimeout . Przez findUntil() można jednakże
zdefiniować drugi ciąg znaków, który pojawia się w funkcji wyszukiwania i daje
false jako wartość zwrotną. To można wykorzystać w funkcji 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
}
Po wywołaniu tej funkcji należy więc przekazać jej polecenie oraz oczekiwaną
wartość zwrotną, np. AT oraz oczekiwana wartość zwrotnaOK. Funkcja println()
przekazuje polecenie i czeka na odebranie oczekiwanej wartości zwrotnej lub
komunikatu ERROR . Gdy oczekiwanie zostanie spełnione, funkcja odsyła
wartośćtrue . Jeśli nie, moduł przez funkcję debug()-odsyła ESP SEND ERROR i










