User manual

4.3 | Webseite mit Buttons 57
(Pro
g
ram Memory)
g
espeichert. Die Verwendun
g
dieser Speicherart ent
-
lastet das SRAM des Boards, das sonst für das Speichern von Variablen
zustän
d
i
g
wäre. Das SRAM fasst nur 2
k
B un
d
ist
d
urc
h
d
ie Verwen
d
un
g
der Strin
g
s bereits sehr belastet. Durch die Pro
g
mem-Funktion wird nun
der Inhalt der Webseite im Pro
g
rammspeicher unter
g
ebracht, der mit
rund 32kB deutlich
g
rößer ist. Der Zu
g
riff auf die Daten ist dadurch aller
-
din
g
s auch etwas komplexer.
00
1
const char site[] PROGMEM =
{
002
"<HTML><HE
A
D>\n<meta name=\"view
p
ort\" content=\"width=device-width,
initia
l
-sca
l
e=2.0
,
003
(
)
00
4
}
;
In diesem Auszu
g
sieht man, wie die Webseite in die Pro
g
mem-Variab
-
le
g
espeichert wird. Es handelt sich um ein län
g
eres HTML-Dokument in
einem C-freundlichen Format. Das Format zeichnet sich unter anderem
dadurch aus, dass Anführun
g
szeichen in der Form
\"
und neue Zeilen
durch
\n
dar
g
estellt werden. Sie kennen dies vermutlich schon von ande
-
ren Pro
j
ekten, in denen Strin
g
s vorkommen. Eine Vorschau der Webseite
im HTML-Format nden Sie übri
g
ens auch im Pro
g
rammordner
.
00
1
String createWebsite(
)
00
2
{
00
3
Strin
g
xBuffer
;
00
4
005
for (int i = 0; i <= sizeof(site); i++
)
00
6
{
007
char myChar =
p
gm_read_byte_near(site + i)
;
00
8
xBuffer += m
y
Char
;
00
9
}
01
0
0
11
return xBuffer
;
01
2
}
In
de
r F
u
nkti
o
n createWebsite
()
wird der Inhalt der Pro
g
mem-Variab
-
le
g
eladen und als Strin
g
zurück
g
e
g
eben. Man kann
g
ut sehen, wie die
Pro
g
mem-Variable wieder aus dem Pro
g
rammspeicher
g
eladen wird
.
00
1
boolean sendWebsite(int connectionId, String webpage
)
00
2
{
003
b
oo
l
ean success = true
;
10215-5 Lernpaket Internet of Things_02.indd 5710215-5 Lernpaket Internet of Things_02.indd 57 19.04.2016 12:17:2419.04.2016 12:17:24