15007-3 Conrad Adventskalender Internet of Things 2017_02.indd 115007-3 Conrad Adventskalender Internet of Things 2017_02.indd 119.07.2017 14:14:4619.07.2017 14:14:46
15007-3 Conrad Adventskalender Internet of Things 2017_02.indd 215007-3 Conrad Adventskalender Internet of Things 2017_02.indd 219.07.2017 14:15:0219.07.2017 14:15:02
Internet of Things Adventskalender 201
7
!
n
)
-
dafür auf die Seite
5007-3
t
esen Sie bitte auch die Date
.
d
-
-
.
h
.
n
auteilen.
g
d
d
.
d
Wenn es nach Cisco geht, dann werden im Jahr 2020 mehr als 50 Milliarden vernetzte Geräte im Einsatz
sein, Intel ist noch optimistischer und proklamiert 200 Milliarden Geräte Jedes dieser Geräte – auch
Ding“ genannt – besitzt eine eindeutige Adresse und kommuniziert über das Internet oder auch über
ine andere Schnittstelle, wie z.B. Bluetooth, mit der Außenwelt: Von der Kaffeemaschine bis zum Kühlschrank, vom Auto bis zum Zug, von der Produktionsmaschine bis zum Armband, alles ist programmierbar und kann mit anderen Dingen kommunizieren. Dieses Thema ist mehr als ein Hype, es wird Stand
der Technik, und deswegen sollten wir uns alle damit beschäftigen. Nutzen Sie doch die Adventszeit und
steigen Sie ein ins Internet der Dinge, auch Internet of Things (IoT) genannt. In 24 Experimenten werden
Sie sich dem Thema nähern und programmieren Ihr eigenes Ding. Viel Spaß dabei
uellcodes und zusätzliche Informatione
Sie werden in den nächsten 24 Tagen viele neue Informationen zum Thema IoT (Internet of Things
bekommen und spannende Projekte umsetzen. Damit Sie die teils recht großen Programme nicht abtip
pen müssen, stehen Ihnen die kompletten Quellcodes und ggf. weitere Informationen zum Download
reit. Gehen Sie
nden Sie ein Archiv zum Download. Im Archiv befi ndet sich für jeden Tag ein eigenes Verzeichnis. Für
illierte Informationen l
Die Programme ab Tag 8 sind teilweise sehr groß, deswegen werden die Programme auch nicht komplett
gedruckt. Es werden nur die Bestandteile des Projekts im Handbuch beschrieben, die Sie zwingen
zum Verständnis und zur Umsetzung benötigen. Bei Projekten, die mit einer eigens erstellten Smart
phone-App gesteuert werden, steht jeweils der komplette Download zur Verfügung. Wollen Sie Änderun
en am Programm vornehmen, dann sehen Sie sich immer zuerst das fertige Programm an, erstellen Sie
sich eine Kopie davon und ändern Sie dann die Kopie. Sollte etwas schiefgehen, so fi nden Sie auf
www.buch.cd die Ausgangsdateien
ttp://www.buch.cd und geben Sie den Code 1
i
im Archiv
ein. Dor
ttp://
Aktualisierungen im Downloadbereic
Der Adventskalender wurde weit vor der Adventszeit erstellt und beruht auf den Programmversionen
zum damaligen Zeitpunkt. Sollten bis zum Advent größere Änderungen auftreten, so fi nden Sie im
Downloadbereich eine Aktualisierung der betroffenen Projekte
Hintergrundwissen zu den Bauteile
In jedem Fach ist ein Bauteil enthalten. An dieser Stelle erfahren Sie wichtigste Informationen zu den
B
LEDs (Leuchtdioden) leuchten, wenn Strom in Durchfl ussrichtung hindurchfl ießt. LEDs werden in
Schaltungen mit einem pfeilförmigen Dreieckssymbol dargestellt, das die Flussrichtung vom Pluspol
zum Minuspol oder zur Masseleitung angibt. Eine LED lässt in der Durchfl ussrichtung nahezu beliebi
viel Strom durch, sie hat nur einen sehr geringen Widerstand. Um den Durchfl ussstrom zu begrenzen
und damit ein Durchbrennen der LED zu verhindern, muss üblicherweise zwischen dem verwendeten
nschlusspin und der Anode der LED oder zwischen Kathode und Masse-Pin ein 220-Ohm-Vorwiderstan
ingebaut werden. Dieser Vorwiderstand schützt auch den Ausgang des enthaltenen IoT-Boards vor zu
ohen Stromstärken. Die LEDs im Adventskalender haben den Vorwiderstand bereits eingebaut un
önnen daher direkt an die Pins des IoT-Boards angeschlossen werden
15007-3 Conrad Adventskalender Internet of Things 2017_02.indd 315007-3 Conrad Adventskalender Internet of Things 2017_02.indd 319.07.2017 14:15:0219.07.2017 14:15:02
ED in welcher Richtung anschließen?
.
iderstände und ihre Farbcodes
stände fü
det
aße
-
.
b-
-
ständen.
g
.
g
)
g
lber10
0%
1
%
1
0
%
00
%
0lb10
000
n10
000
%
000.000
%
t
000.000
ß10
000.000.000
ie beiden Anschlussdrähte einer LED sind unterschiedlich lang. Der längere ist der Pluspol, die
Anode, der kürzere die Kathode. Einfach zu merken: Das Pluszeichen hat einen Strich mehr als das
inuszeichen und macht damit den Draht etwas länger. Außerdem sind die meisten LEDs auf der
inusseite abgefl acht, wie ein Minuszeichen. Leicht zu merken: Kathode = kurz = Kante
W
Widerstände werden zur Strombegrenzung an empfi ndlichen elektronischen Bauteilen sowie als Vorwi-
Farbe
i
Gold10
Schwarz
Braun
Rot2
Orange3310
rü
Blau
Violet
Grau
Wei
iderstandswert in Ohm
. Rin
(Zehner)
. Ring
Einer)
spielt in der Digitalelektronik kaum eine Rolle. Die Tabelle zeigt die Bedeutung der farbigen Ringe auf
Wider
. Ring
Multiplikator
= 0,01±1
= 0,
10 =
10 = 1
10 = 1
= 1.00
4
= 10.
= 100.
10 = 1.
10
= 10.000.000±0,1%
10 = 100.
= 1.
. Rin
Toleranz)
±5
±1
±2
±0,5
±0,25
±0,05%
r
r LEDs verwen
. Die M
inheit für
iderstände ist Ohm. 1.000 Ohm entsprechen einem
iloohm, abgekürzt kOhm. 1.000 kOhm entsprechen
einem Megaohm, abgekürzt MOhm. Oft wird für die
inheit Ohm das Omega-Zeichen Ω verwendet.
ie farbigen Ringe auf den Widerständen geben den
iderstandswert an. Diese sind deutlich leichter zu
erkennen als winzig kleine Zahlen, die man nur noch
auf ganz alten Widerständen fi ndet, und mit etwas
bung können Sie die Werte auch aus den Farb
odes schnell „übersetzen“
ie meisten Widerstände haben vier solcher Far
inge. Die ersten beiden Farbringe stehen für die
iffern, der dritte bezeichnet einen Multiplikator und
er vierte die Toleranz. Dieser Toleranzring ist meis
ens gold- oder silberfarben – Farben, die auf den
ersten beiden Ringen nicht vorkommen. Dadurch ist
ie Leserichtung eindeutig. Der Toleranzwert selbst
In welcher Richtung ein Widerstand eingebaut wird, ist egal. Bei LEDs dagegen spielt die Einbaurichtun
eine wichtige Rolle
15007-3 Conrad Adventskalender Internet of Things 2017_02.indd 415007-3 Conrad Adventskalender Internet of Things 2017_02.indd 419.07.2017 14:15:0219.07.2017 14:15:02
1. Ta
g
d
.
ese
ocontrolle
über die serielle Sc
ttstelle
n
.
oft an einer blaue
E
itt
nstallation des
eibers für das Io
d
-
-
:
.
d
h
ate
E
-
.
stall
sta
itt
nstallation de
duino
E
.
ausschalten
usschalte
auchen einfac
das US
abe
ode
u
.
Heute im Adventskalender
•1x IoT Bluething Boar
Heute lernen Sie das Board kennen, mit dem Sie die Projekte in den nächsten 24 Tagen umsetzen. Als
Vorbereitung für die nächsten Tage werden Sie den Treiber für die USB-Verbindung installieren, die
Arduino IDE installieren, und zum Abschluss erstellen Sie ein erstes Programm für das Board
Chipsatz auf dem IoT-Board
Das IoT-Board kommt mit zwei Chipsätzen. Für die Ausführung der Programme ist ein ATmega328P
f dem Board. Di
Der HC-05 ist für die Funkverbindung (Bluetooth) verantwortlich. Das Modul unterstützt Bluetooth
V2.0+EDR. Für die App-Kommunikation ist ein Smartphone mit Android erforderlich.
r Mikr
r kommuniziert
hni
mit einem HC-05.
IoT-Board konfi guriere
Um das IoT-Board in Betrieb zu nehmen, benötigen Sie einen PC mit Linux, MacOSX oder Windows und
ein Micro-USB-Kabel. Dieses Anschlusskabel dient der Stromversorgung und der Verbindung des IoT-Boards
mit dem PC, um dieses zu programmieren. Sie brauchen nicht extra ein solches Kabel zu kaufen, denn
vermutlich besitzen Sie schon eines – fast alle modernen Smartphones verwenden diesen Steckertyp
Richtigen USB-Port am PC auswählen
Schließen Sie das Kabel nach Möglichkeit an einem USB-2.0-Anschluss Ihres PCs an. Bei USB-3.0-Anschlüssen kann es eventuell zu Verbindungsproblemen kommen. Einen USB-3.0-Anschluss erkennen
ie
n Buchse.
. Tag
Bevor Sie das Board mit dem PC verbinden, sind folgende Schritte notwendig:
•Schritt 1: Installation des Treibers für das IoT-Board
•Schritt 2: Installation der Arduino ID
r
1: I
Der auf dem IoT-Board befi ndliche USB-Port ist mit einem CH340G-Chipsatz ver
bunden. Um diesen Chipsatz für die USB-Verbindung zu nutzen, müssen Sie den
passenden Treiber für Ihr Betriebssystem installieren. Führen Sie hierfür nachfol
ende vier Schritte aus
1 Laden Sie sich die Beispielprogramme und den Gerätetreiber bei
uch.c
Anweisungen auf dem Bildschirm.
2 Entpacken Sie das ZIP-Archiv in einen beliebigen Ordner unterhalb Ihres Benutzerordners.
3 Schließen Sie das IoT-Board über das USB-Kabel an und starten Sie dann die Treiberinstallation mit
tensteuerung bestätigen
4 Klicken Sie im Installationsdialog auf In
Treiber in
r
Das IoT-Board ist kompatibel zum Arduino Nano und kann mit der Arduino IDE
In der Arduino IDE schreiben Sie die Programme in der Programmiersprache C und übertragen sie dann
direkt auf das IoT-Board. Nach der Übertragung läuft das Programm ohne Verbindung zum PC, deswegen
können Sie danach auch diese Verbindung trennen
erunter. Geben Sie dort den Code 15007-3 ein und folgen Sie den
r D
i
H341SER.EX
lliert wurde.
2: I
Tr
. Zur Installation müssen Sie eventuell eine Anfrage der Windows-Benutzerkon
r Ar
ID
T-Boar
ttp://www
Installation des Gerätetreibers
und warten Sie, bis eine Bestätigung erscheint, dass der
programmiert werden.
IoT-Board
Das IoT-Board hat keinen A
trennen, und das IoT-Board schaltet sich ab. Beim nächsten Einschalten startet automatisch das zuletzt
gespeicherte Programm. Das Gleiche passiert, wenn man den Reset-Taster drückt
Im weiteren Verlauf als IoT-Board bezeichnet.
Für die Projekte wurde die Arduino IDE in der Version 1.8.2 eingesetzt. Sollte bis zum Erscheinen des Adventskalenders eine neuere
15007-3 Conrad Adventskalender Internet of Things 2017_02.indd 515007-3 Conrad Adventskalender Internet of Things 2017_02.indd 519.07.2017 14:15:0319.07.2017 14:15:03
r. Sie br
Version erhältlich sein, so können Sie diese einsetzen. Sollten die Änderungen markant sein, so werden Sie im Downloadbereich
einen entsprechenden Hinweis fi nden.
h nur
B-K
l vom PC
r Netzteil z
Laden Sie sich den Windows Installer für die aktuelle Version der Arduino IDE bei
ate
s.exe
aus de
oads zu
-
.
-
.
d
stallierte
ähle
das Häkchen.
automatisch erkannt wurde
esso
uss
n
ate
ese be
det sic
oadarc
steht
aden Sie übe
etc
aden
das Board
auch die Icons
Über de
aden Sie die
auf
d.
.
stallation de
E
www.arduino.cc/en/Main/Softwareherunter oder verwenden Sie einfach die
D
i
rduino-window
n Downl
m Adventskalender. Unter Win
dows10 können Sie die Arduino IDE auch aus dem Windows Store herunterladen
und installieren
Achten Sie dabei darauf, dass im Dialogfeld Installation Options alle Häkchen
esetzt sind. Je nach Windows-Konfi guration ist eine Bestätigung der Benutzer
kontensteuerung erforderlich
Update der Firmware auf dem IoT-Boar
Damit Sie auch alle Beispiele mit Ihrem IoT-Board nachvollziehen können,
up daten Sie zunächst die Firmware des Boards. Hierfür öffnen Sie zuerst die zuvor
In
r Arduino ID
in
rt Hier wird in den meisten Fällen nur ein einziger serieller Port angezeigt.
Arduino IDE und w
zen Sie hier
n im Menü der Arduino IDE Werkzeuge /
Wählen Sie anschließend über den Menüpunkt
nicht bereits
. Als Proz
erkzeuge / Boardden Arduino Nano, wenn dieser
r m
mega328 gewählt werden.
15007-3 Conrad Adventskalender Internet of Things 2017_02.indd 615007-3 Conrad Adventskalender Internet of Things 2017_02.indd 619.07.2017 14:15:0319.07.2017 14:15:03
Schneller Start des Downloads
der Firmware auf das Board
In der Arduino IDE das passende Board wähle
Nach dem Start der Arduino IDE und der Auswahl des Boards öffnen Sie über den Menüpunkt D
ffnen... nun die Firmware Firmware_V1.2b.ino. Di
fi n
h im Downl
hiv im Verzeichnis
Firmware_V1.2b. Bevor Sie die Firmware aufspielen, stellen Sie sicher, dass der Jumper auf dem IoT-
Board auf AT
ie
. L
r
k
h / Hochl
im Editor dafür verwenden:
die Firmware auf
n Pfeil nach rechts l
. Alternativ können
Firmware
Boar
Die Firmware ist ein normales Arduino-Programm. Solch ein Arduino-Programm wird als Sketch bezeichnet
i /
Nach kurzer Zeit sollte in der Statuszeile des Editors die MeldungHochladen abgeschlossen stehen. Nun
n
.
b
das Fu
auch sehe
das Funk-
.
n
.
.
.
.
-
.
ist das IoT-Board aktualisiert.
IoT-Board teste
Nach dem durchgeführten Update der Firmware können
Sie das Board nun testen. Öffnen Sie dafür den seriellen
Monitor der Arduino IDE über Werkzeuge / Serieller Moni-
or. Stellen Sie die Datenübertragung auf 57600 Baud ein.
Nun sollte lesbarer Text im Ausgabefenster erscheinen. Den
bschluss bildet die Ausgabe Konfi guration erfolgreich!
gefolgt von Informationen zum Funknetzwerk
Nun können Sie mit Ihrem Android-Smartphone testen, o
ie
dem Smartphone Bluetooth ein, und nach kurzer Zeit sollte
netzwerk aus (im nachfolgenden Screenshot Bluething103
und bestätigen Sie die Auswahl mit
Für den Aufbau der Verbindung müssen Sie ein Passwort
eingeben, in diesem Fall
nknetzwerk
n. Schalten Sie hierfür auf
Funknetzwerk erscheinen. Wählen Sie nun
K.
234
Der Name des Netzwerks lautet in diesem Beispiel Bluething103 und das Passwort 1234.
Auf Ihrem System wird der Name des IoT-Boards auch mit
uething beginnen, aber evtl. mit einer anderen Nummer
enden. Die Nummer wird anhand der MAC-Adresse Ihres
oards individuell generiert.
Nach der Eingabe des richtigen Passworts erscheint das Netzwerk unter
EKOPPELTE
ERÄTE. Jetzt kann Ihr Smartphone mit dem IoT-Board kommunizieren
On-Board-LED zum Blinken bringe
Nun soll noch das Programmieren des IoT-Boards getestet werden. Als Beispiel wird der in der
rduino IDE integrierte Blink-Sketch verwendet. Wählen Sie dafür im Menü Datei / Beispiele /
1.Basics / Blink
Klicken Sie jetzt oben links auf das runde Symbol mit dem Pfeil, um das Programm auf das
angeschlossene IoT-Board hochzuladen, was auch als Flashen bezeichnet wird
ber den Haken kompilieren Sie die Daten,
mit dem Pfeil nach rechts laden Sie das Programm auf das IoT-Board
Nachdem das Hochladen abgeschlossen ist, blinkt die LED D2 (neben Anschluss D13) auf dem
IoT-Board. Nun ist das Board für die nächsten Tage einsatzbereit
ei der Verbindungsaufnahme mit dem IoT-Board
üssen Sie ein Passwort eingeben
Sobald ein Gerät mit einem Smartphone gekoppelt
ist, ist eine Verbindungsaufnahme auch ohne erneu
ten Scan möglich
15007-3 Conrad Adventskalender Internet of Things 2017_02.indd 715007-3 Conrad Adventskalender Internet of Things 2017_02.indd 719.07.2017 14:15:0319.07.2017 14:15:03
Unterhalb des Quellcodefensters sehen Sie die Ausgaben der Arduino IDE beim Kompilieren und beim Hochladen
.
behobe
.
immer im
odus nutzen
T
.
Sollte die LED nicht blinken, schauen Sie sich die Fehlermeldung in der Arduino IDE an.
Hier hat die Verbindung zum IoT-Board nicht geklappt. In diesem Fall ist der falsche Port ausgewählt, dies kann schnell über den Menüpunkt
IoT-Board
AT-M
Auf dem IoT-Board ist ein Jumper. Dieser Jumper muss für alle Projekte in diesem Kalender auf A
n
n werden
15007-3 Conrad Adventskalender Internet of Things 2017_02.indd 815007-3 Conrad Adventskalender Internet of Things 2017_02.indd 819.07.2017 14:15:0419.07.2017 14:15:04
2. Ta
g
)
-
)
m
d
2
des Do
oadarc
s.
.
;
;
{
;
{
;
(
);
m
;
gPin
bestehe
destens aus de
d
p
{
;
);
tup
g
)
-
audrate
p()
p
.
p()
;
);
g
d
-
p
n
y
)
.
übe
otter übe
aud
g
Heute im Adventskalender
•1x Steckbrett (SYB 46
•1x Jumperkabel
Analoge Werte messen
Heute programmieren Sie einen Sketch in der Arduino IDE, um
Werte eines analogen Eingangs auszulesen. Die Werte werden
per Textausgabe und grafi sch dargestellt.
Das Programm für diesen Tag trägt den Namen
liegt im Verzeichnis
int analogValue = 0
int analogPin = A0
oid setup()
pinMode(analogPin, INPUT)
Serial.begin(9600);
ag0
innerhalb
wnl
ag02.ino
n
hiv
oid loop()
analogValue = analogRead(analogPin)
Serial.println(analogValue);
delay
2. Ta
as Jumperkabel dient als Antenne. Probieren Sie die Messungen auch mal ohne dieses Kabel,
m zu sehen, ob das Kabel einen Unterschied in Ihrer Messumgebung bewirkt
1000
So funktioniert das Program
int analogPin = A0
Zu Beginn wird die verwendete Pinnummer in der Variablen analo
rduino IDE
oid setup()
pinMode(analogPin, INPUT)
Serial.begin(9600
Die Funktion se
Pin wird als Eingabe festgelegt. Über Serial.be
n min
n zwei Funktionen setupn
läuft einmal zum Start und wird meistens zur Konfi guration verwendet. Der analoge
in(9600
wird die serielle Kommunikation gestartet, um
Werte auf dem seriellen Monitor und dem seriellen Plotter anzuzeigen. Der Parameter bei dieser Funk
ion ist die B
oid loo
Die Funktion
.
{
oo
wird so lange wiederholt, bis man
die Stromversorgung trennt oder den Reset-Knopf
drückt
oid loo
analogValue = analogRead(analogPin);
Serial.println(analogValue)
delay(1000
{
festgelegt. Alle Programme in der
oo
r analo
angs in der Variablen
r Serial.
Rea
wird der Wert des analogen Ein
nalogValue
rintl
ausgegeben. Durch dela
espeichert und
(1000
Die Datenrate muss im Dropdown im rechten unteren Eck des Fensters richtig eingestellt sein, in diesem Fall
B
wartet das Programm 1000 Millisekunden
ffnen Sie nun den seriellen Monitor
r
erkzeuge / Serieller Monitor. So sehen Sie die gemessenen
Werte. Die Werte können Sie auch grafi sch anzeigen lassen. Schließen Sie hierfür den zuvor geöffneten
riellen Monitor und öffnen Sie den seriellen Pl
15007-3 Conrad Adventskalender Internet of Things 2017_02.indd 915007-3 Conrad Adventskalender Internet of Things 2017_02.indd 919.07.2017 14:15:0519.07.2017 14:15:05
r
erkzeuge / Serieller Plotter
1
0
g
r
d
t
licht
-
und
;
;
m
;
e
(
ll
.
g
3. Ta
3. Ta
Heute im Adventskalende
•1x LED rot mit Vorwiderstan
•1x Schaltdrah
Sie benötigen keinen separaten Widerstand, denn die LED hat diesen bereits integriert.
k
Heute lassen Sie eine LED mit einer Frequenz von 2Hz blin
ken.
auteile:
x Steckbrett, 1xLED rot mit Vorwiderstand
as Programm
Das Programm für diesen Tag trägt den Namen
iegt im Verzeichnis
onst int ledPin = 2;
nt ledState = LOW
void setup() {
pinMode(ledPin, OUTPUT);
void loop() {
ag03
ag03.ino
So funktioniert das Program
if (ledState == LOW) ledState = HIGH
else ledState = LOW;
In der Variablen
en Wert
edStat
wird festgehalten, ob die LED leuchtet oder nicht. Zu Beginn hat die Variable
. Dieser Wert wird über delay
if (ledState == LOW) ledState = HIGH
else ledState = LOW;
digitalWrite(ledPin, ledState);
delay(500);
500) a
e 500ms umgeschaltet. Dadurch blinkt die LED
15007-3 Conrad Adventskalender Internet of Things 2017_02.indd 1015007-3 Conrad Adventskalender Internet of Things 2017_02.indd 1019.07.2017 14:15:0519.07.2017 14:15:05
. Über eine if-Abfrage wird die Variable auf den anderen Pin gesetzt, und die gerade leuchtende
LED wird ausgeschaltet. Das Umschalten geschieht alle 500ms
i
wird gespeichert, welche LED gerade leuchtet. Initial steht dieser Wert auf
15007-3 Conrad Adventskalender Internet of Things 2017_02.indd 1115007-3 Conrad Adventskalender Internet of Things 2017_02.indd 1119.07.2017 14:15:0519.07.2017 14:15:05
5. Ta
g
r
d
-
.
auteile
e
n
dafür die
ese
dete Versio
Software unte
ter
-
e
eutsc
s
.
.
.
.
lb
ste
auch die aktuellste Version unte
ade
Obe
.
.
e-
.
g
5. Ta
Heute im Adventskalende
•1x LED grün mit Vorwiderstan
Ab drei LEDs wird es etwas enger, deswegen wird GND extra an die obere Leiste geführt. LEDs
on links nach rechts: grün, gelb und rot
Um nun Snap4Arduino mit Ihrem Board verwenden zu können, müssen Sie einen speziellen Sketch
uf das Board aufspielen, nämlich Firmata. Schließen Sie hierfür das IoT-Board an Ihren PC an und
nen Sie die Arduino IDE. Wählen Sie unter Datei / Beispiele / Firmata / Standard Firmata au
und laden Sie den Sketch über Klick auf den Pfeil nach rechts auf das Board. Jetzt können Sie das
Board mit Snap4Arduino programmieren
mpel
as heutige Projekt ist eine Ampel, die mit der grafi schen Ent
wicklungsumgebung Snap! erstellt wird
B
: 1x Steckbrett, 1xLED grün mit Vorwiderstand,
xLED gelb mit Vorwiderstand, 1xLED rot mit Vorwider-
tand, 1xDrahtbrück
Snap! installieren und IoT-Board vorbereite
Snap! ist eine grafi sche Entwicklungsumgebung, die in Form
on Snap4Arduino auch speziell für Arduino existiert. Laden
ie sich
r
nstallation stellen Sie die Sprache der Oberfl äche auf Deutsch
m. Klicken Sie hierfür in Snap4Arduino auf das Einstellungen
Symbol (Zahnrad) und wählen Sie im Menü
Sprache D
in di
r
m Kalender verwen
ttp://www.buch.cd herun
h
n
Nach der
anguagedi
In der Kategorie Arduino fi nden Sie die El
mente für die Steuerung des IoT-Boards
rduino IDE und Snap! nicht gleichzeitig verwenden
ie Arduino IDE und Snap! können nicht gleichzeitig verwendet werden. Schließen Sie deswegen
as jeweils andere Programm, bevor Sie mit der von Ihnen gewünschten Umgebung arbeiten
rogramm in Snap! umsetzen
in Programm in Snap! wird mit grafi schen Elementen zusammengestellt, die in
ategorien eingeteilt sind. Das Menü der Kategorien fi nden Sie oben links
iehen Sie nun aus
Arbeitsbereich. Um die LEDs an- und auszuschalten, nutzen Sie das Element
igitalen Pin. Die Werte setzen Sie über das umschaltbare Element wahr auspe-
atoren. Damit das Programm auch nicht endet, benötigen Sie das Schleifenele-
ent aus
teuerung Damit die LEDs auch nicht sofort wieder umschalten, bauen
ie ein Pause von einer Sekunde über warte aus
evor Sie das Programm starten können, müssen Sie das IoT-Board mit Snap!
erbinden. Hierfür klicken Sie auf das Element Mit Arduino verbinden innerha
er Kategorie
tehenden Anschlüsse gezeigt. Wählen Sie den ersten Anschluss aus. Nun klicken
Sie auf den grünen Pfeil (oben rechts), und schon fängt die Ampel an.
Externes Projekt in Snap! öffnen
as Programm für den heutigen Tag liegt im Ordner
ehen Sie auf das erste Symbol und wählen Importieren... aus. Navigieren Sie
m Ordner Tag05 und wählen Sie
eöffnet, und Sie können es nutzen.
teuerung
as Element mit der grünen Farbe in den mittleren
teuerung ein
rduino. Beim Klick auf das Symbol werden Ihnen die zur Verfügung
ag05. In der Menülei
ag05-snap.xml aus. Jetzt ist das Projekt
etze
Das mit Snap! erstellte Programm
Alternativ können Sie sich
on den Screenshots abweichen, die Programme sollten aber trotzdem funktionieren
15007-3 Conrad Adventskalender Internet of Things 2017_02.indd 1215007-3 Conrad Adventskalender Internet of Things 2017_02.indd 1219.07.2017 14:15:0619.07.2017 14:15:06
r http://snap4arduino.org/ herunterl
n. Die
rfl äche kann leicht
3
6. Ta
g
d
auf und schalten die blaue
über das Smart
.
luetooth Te
aus
.
m
e
.
g06
o
g
aus de
s
6
ate
edPinBlue
usät
:
defi ne Led
lue 2
d d
:
...
);
:
)){
);
);
}
)){
);
);
}
n
d
d
(
)
d
)
:
…
;
}
.
.
g
g
1
Heute im Adventskalender
•1x LED blau mit Vorwiderstand
Verbindung mit dem IoT-Boar
Heute bauen Sie mit Ihrem Smartphone eine Verbindung zum
IoT-Board
LED
-
phone an und wieder aus
Bauteile: 1x Steckbrett, 1xLED blau mit Vorwiderstand
App zur Steuerung installieren
Heute nutzen Sie noch keine eigene App, sondern steuern das
Board über die kostenlose App
em App-Store Google Play
rial B
rminal
Die Schaltung gleicht der Schaltung von Tag 3
as Program
Das Programm für den heutigen Tag baut auf der Firmware für das IoT-Board auf. Die aus der Firmware
notwendigen Programmteile liegen in der Datei Vorlage.ino im Verzeichnis
Funkverbindung bereit
Die Firmware (und somit auch die Vorlage) ist so programmiert, dass die orange LED an Pin 13
dauerhaft leuchtet, sobald die Funkverbindung bereit ist. Warten Sie deswegen, bis diese LED
leuchtet, bevor Sie eine Verbindung mit dem IoT-Board aufbauen
orlag
6. Ta
Kopieren Sie die Datei Vorlage.ino in ein neues Verzeichnis Ta
Tag06.in
zen. Nun öffnen Sie die D
um. Alternativ können Sie direkt die fertige Ta
i mit der Arduino IDE. Die Vorlage enthält schon einiges an Funktionalität. Die Konstante für die interne LED ist bereits vorhanden. Die Konstante L
z
zliche LED defi nieren Sie direkt unterhalb der internen LED
#defi ne LedPin 13
#
m Ende der Methode
oid set
digitaWrite(LedPinBlue, HIGH
PinB
p() {
etup wir
ie LED angeschaltet
und benennen Sie die Datei in
06.ino
m Verzeichni
Tag0
nut-
für die
Für das An- und Abschalten der integrierten LED an Pin 13 ist der Code bereits vorhanden. Dieser
wird nun wie folgt ergänzt
if (Text.startsWith("Led an") || Text.startsWith("LED an") || Text.startsWith("LED
AN"
digitalWrite(LedPin, HIGH
digitalWrite(LedPinBlue, HIGH
Nach dem ersten Start erscheint ein leeres
schwarzes Fenster
Wenn das Board
un
digitalWrite(LedPinBlue, HIGH
a
oder Le
an o
er
AN
mpfängt, so werden über digitalWrite
ie interne LED und die blaue LED angeschaltet. Wenn das IoT-
LedPin, HIGH
Board Daten empfängt, wird folgende Schleife ausgeführt
while(HC05.available() > 0){
Text=""
15007-3 Conrad Adventskalender Internet of Things 2017_02.indd 1315007-3 Conrad Adventskalender Internet of Things 2017_02.indd 1319.07.2017 14:15:0619.07.2017 14:15:06
)
:
;
über die Funksc
ttstelle aus
{
(
-
übe
eses Passwort sehen Sie auch
elle
J
ces
aus.
J
l
auswähle
ste
.
l
.
aus
-
.
Der Name
des Netzwerkes lautet
-
-
ste de
uetoot
das Netzwe
des Io
ds.
ho
k
.
Bluething103
ügen Sie nun vor der letzten Zeile einen Aufruf der
och zu programmierenden Funktion
in
oid hookRec(String text)
if (text.startsWith("echo") || text.
tartsWith("Echo")) {
HC05.print
}
hni
">> " + text);
un können Sie das Programm auf das IoT-Board aufspielen. Schalten Sie Bluetooth an Ihrem
martphone ein und wählen Sie das neu aufgebaute Bluetooth-Netzwerk aus. Den entsprechen
den Namen sehen Sie im seriellen Monitor der Arduino IDE. Das dazugehörige Fenster öffnen
ie
r
erkzeuge / Serieller Monitor. Bei der Verbindung müssen Sie ein Passwort eingeben,
i
im seri
n Monitor.
ookRec(Text
:
ber das zentrale Menü gelangen Sie zu den Ein
stellungen der App.
In der Li
h
r Bl
h-Netzwerke fi nden Sie
rk
T-Boar
etzt starten Sie die zuvor installierte Bluetooth-App. Gehen Sie nach dem Start in das Menü
drei übereinanderliegende Striche am linken Rand) der App und wählen Sie den Menüpunkt
Devi
etzt wählen Sie das entsprechende Netzwerk aus und wechseln ins Terminal, indem Sie einma
uf das Menüsymbol klicken und dann Terminal
n.
m Terminal klicken Sie auf das Verbindungssymbol (links neben dem Mülleimer). Nach kurzer
eit werden Sie zur Eingabe des Passworts aufgefordert. Dieses lautet 1234
Beim er
n Mal
lappt der Verbindungsaufbau noch nicht, deswegen klicken Sie nochmals auf das Symbol. Nun
ollte die Verbindung aufgebaut sein. Im Terminal-Fenster erscheint die Meldung Connected Jetzt
können Sie mit dem IoT-Board kommunizieren
Doppelter Verbindungsaufbau notwendig
Solange Sie in der Bluetooth-App noch kein Passwort eingegeben haben, müssen Sie zweima
die Verbindung aufbauen. Beim ersten Mal geben Sie das Passwort ein, und beim zweiten Mal
wird die Verbindung aufgebaut
Wenn Sie nun Led
eschaltet. Durch Eingabe von
eingeben und auf das Pfeilsymbol drücken, werden die beiden LEDs aus
ein schalten Sie die LEDs wieder ein. Jede Eingabe, die mit
beginnt, wird an das Board gesendet, und dieses sendet die Eingabe beginnend mit zwei
Pfeilen zurück. Der Text wird dann vom Terminal ausgegeben
Über ec
Informationen vom IoT-Board empfangen kann
15007-3 Conrad Adventskalender Internet of Things 2017_02.indd 1415007-3 Conrad Adventskalender Internet of Things 2017_02.indd 1419.07.2017 14:15:0719.07.2017 14:15:07
önnen Sie sehen, dass die App auch
ie Terminal-App ist nun bereit für die Kommuni
ion.
Loading...
+ 30 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.