User manual

18 1 | Das Modul kennenlernen
1
Genau wie bei der normalen seriellen Schnittstelle können dann Bytes
oder
g
anze Zeilen mit den Befehlen
esp8266.print
oder
t
esp8266.println
üb
ertra
g
en wer
d
en. Beson
d
ers pra
k
tisc
h
sin
d
auc
h
d
ie Befe
hl
e esp8266
.
nd und
e
sp8266.fi ndUnti
l
,
mit denen ein ankommender Stream auf
b
estimmte Zeichenketten überprüft werden kann. Dadurch ist es recht
einfach, die passende Antwort des Moduls abzufan
g
en. Wenn allerdin
g
s
eine erwartete Zeichenkette nicht auftaucht, kann es eine
g
anze Weile
dauern, bis das Pro
g
ramm weiter
g
eht. Die Wartezeit (Timeout) wird durch
e
sp8266.setTimeout
de
ni
e
rt
.
Mit
ndUntil
()
ka
nn
abe
r
auc
h
e
in
e
zw
e
i-
te Zeichenkette defi nieren werden, bei der die Suchfunktion ausstei
g
t
u
nd false als Rück
g
abewert liefert. Dies machen wir uns in der Funktion
sendCom
()
z
u
n
ut
z
e:
//
-------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
;
00
9
}
0
1
0
e
l
se
0
11
{
0
1
2
debu
g
("ESP SEND ERROR: " + command)
;
013 return false
;
014 }
015 }
Wenn Sie die Funktion aufrufen, müssen Sie also den Befehl und den
erwarteten Rück
g
abewert an die Funktion über
g
eben, z.B.
AT
und den
T
erwarteten Rückgabewert
OK
.
Ü
be
r
p
rintln
()
w
ird das Kommando über
-
tragen und schließlich gewartet, bis der erwartete Rückgabewert oder ein
ERR
O
R
e
mpfangen wird. Ist die Erwartung erfüllt, gibt die Funktion den
W
e
rt
t
r
ue
z
urück. Falls nicht, sendet das Modul über die
d
ebug
()-
Fu
nk
-
t
io
n
ei
n E
S
P
S
END ERR
O
R
u
nd das
g
esendete Kommando zurück, sodass
m
an leicht über
p
rüfen kann, welcher Befehl die Probleme verursacht.
Ni
c
ht
a
ll
e
AT
-Befehle haben einen eindeuti
g
en oder einzeili
g
en Rück
g
a-
b
ewert. Wird z.B. die IP-Adresse ab
g
efra
g
t,
g
ibt es in der Re
g
el keinen
vorher bekannten Wert. Deswe
g
en
g
ibt es eine zweite
s
endCom
()
-F
u
nk-
tion, die nur den Paramete
r
co
mm
a
n
d
b
enöti
g
t und dann den
g
esamten
Überprüfung, ob in
der Antwort ERROR
enthalten ist
10215-5 Lernpaket Internet of Things_02.indd 1810215-5 Lernpaket Internet of Things_02.indd 18 19.04.2016 12:17:1919.04.2016 12:17:19