Franzis Verlag

65316 - Spielzeug Franzis Verlag - Kostenlose Bedienungsanleitung

Finden Sie kostenlos die Bedienungsanleitung des Geräts 65316 Franzis Verlag als PDF.

📄 27 Seiten Deutsch DE Herunterladen 💬 KI-Frage 10 Fragen ⚙️ Technik
Notice Franzis Verlag 65316 - page 6
Waehlen Sie Ihre Sprache und Ihre E-Mail-Adresse: wir senden Ihnen eine speziell uebersetzte Version.
Produkttyp Lernpaket Internet der Dinge (IoT Maker Kit)
Modell 65316
Marke Franzis Verlag
Mikrocontroller ATmega328 (Arduino Nano kompatibel)
Taktfrequenz 16 MHz
Flash-Speicher 32 KB (0,5 KB Bootloader)
SRAM 2 KB
EEPROM 1 KB
I/O-Pins 20 (davon 6 PWM, 6 analoge Eingänge)
WLAN-Modul ESP8266 (802.11 b/g/n, Wi-Fi Direct, Soft-AP)
WLAN-Firmware AT-Firmware Version 0.22.0.0
USB-Schnittstelle CH340G (USB-to-Serial)
Betriebsspannung 5 V über Micro-USB oder 7-12 V über Batterieclip
Stromaufnahme (max. pro Pin) 40 mA (I/O), 50 mA (3,3-V-Ausgang)
Lieferumfang 1 IOT-Board (Pretzel Board), 2 Steckplatinen, LC-Display 2-zeilig, Piezo, 2 Taster, rote LED, RGB-LED, Fototransistor, NTC, Potenziometer, 9-V-Batterieclip, Widerstände (100/470/1k/10k Ω), Schaltdraht
Abmessungen (Board) ca. 53 x 19 mm
Gewicht (Board) ca. 30 g
Altersempfehlung ab 14 Jahren
Sicherheit CE-Kennzeichnung; Augenschutz bei LEDs beachten; nicht für Kinder unter 14 Jahren
Reinigung Mit trockenem Tuch reinigen; keine feuchten Tücher verwenden
Reparatur Nicht vorgesehen, Einzelteile grundsätzlich austauschbar

Häufig gestellte Fragen - 65316 Franzis Verlag

Was ist das Franzis Verlag 65316 Lernpaket?
Das Franzis Verlag 65316 ist ein Lernpaket für das Internet der Dinge (IoT). Es enthält ein IOT-Board (Pretzel Board) mit WLAN-Modul sowie zahlreiche elektronische Bauteile, um eigene IoT-Projekte umzusetzen.
Welche Komponenten sind im Lieferumfang enthalten?
Im Lieferumfang befinden sich: 1 IOT-Board (Pretzel Board), 2 Steckplatinen, 1 LC-Display (2-zeilig), 1 Piezo, 2 Taster, 1 rote LED, 1 RGB-LED, 1 Fototransistor, 1 NTC, 1 Potenziometer, 1 9-V-Batterieclip, Schaltdraht sowie Widerstände (100 Ω, 470 Ω, 5x 1 kΩ, 1x 10 kΩ).
Benötige ich Vorkenntnisse in der Elektronik?
Das Lernpaket ist für Einsteiger mit grundlegenden Kenntnissen in Elektronik und Programmierung geeignet. Die beiliegende Anleitung erklärt Schritt für Schritt den Aufbau und die Programmierung.
Wie schließe ich das Board an den Computer an?
Verbinden Sie das Board über ein Micro-USB-Kabel mit Ihrem Computer. Der Treiber für den USB-to-Serial-Chip (CH340G) muss ggf. installiert werden. Danach kann die Arduino-IDE das Board erkennen.
Welche Software wird benötigt?
Sie benötigen die Arduino-IDE (Version 1.6.4 oder höher) sowie die SoftwareSerial-Library. Den Quellcode für die Projekte finden Sie auf der beiliegenden Webseite.
Wie verbinde ich das Board mit dem WLAN?
Das Board verfügt über ein ESP8266-WLAN-Modul. Über AT-Kommandos oder vorgefertigte Programme können Sie die Verbindung zu Ihrem Router herstellen. Die SSID und das Passwort müssen im Quellcode eingetragen werden.
Kann ich das Board mit der Arduino-IDE programmieren?
Ja, das Board ist Arduino-Nano-kompatibel. In der Arduino-IDE wählen Sie als Board "Arduino Nano" und den entsprechenden COM-Port aus. Die Beispiele können direkt übernommen werden.
Welche Spannungsversorgung ist erforderlich?
Das Board wird entweder über Micro-USB (5 V) oder eine 9-V-Blockbatterie (nicht im Lieferumfang) über den Batterieclip versorgt. Die empfohlene Eingangsspannung beträgt 7-12 V.
Ist das Produkt für Kinder geeignet?
Das Produkt ist nicht für Kinder unter 14 Jahren geeignet. Es enthält Kleinteile und erfordert den Umgang mit Lötkolben (nicht im Lieferumfang) und elektronischen Komponenten.
Wo finde ich den Quellcode und weitere Informationen?
Den Quellcode zu den Projekten sowie zusätzliche Ressourcen finden Sie auf der Webseite www.iot.fkainka.de oder über den Code 65316-9 auf www.buch.cd.

Benutzerfragen zu 65316 Franzis Verlag

0 Frage zu diesem Gerät. Beantworten Sie die, die Sie kennen, oder stellen Sie Ihre eigene.

Eine neue Frage zu diesem Gerät stellen

Die E-Mail bleibt privat: Sie dient nur dazu, Sie zu benachrichtigen, wenn jemand auf Ihre Frage antwortet.

Noch keine Fragen. Stellen Sie die erste.

Laden Sie die Anleitung für Ihr Spielzeug kostenlos im PDF-Format! Finden Sie Ihr Handbuch 65316 - Franzis Verlag und nehmen Sie Ihr elektronisches Gerät wieder in die Hand. Auf dieser Seite sind alle Dokumente veröffentlicht, die für die Verwendung Ihres Geräts notwendig sind. 65316 von der Marke Franzis Verlag.

BEDIENUNGSANLEITUNG 65316 Franzis Verlag

Bibliografische Information der Deutschen Bibliothek

Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte Daten sind im Internet über http://dnb.ddb.de abrufbar.

Alle in diesem Buch vorgestellten Schaltungen und Programme wurden mit der größtmöglichen Sorgfalt entwickelt, geprüft und getestet. Trotzdem können Fehler im Buch und in der Software nicht vollständig ausgeschlossen werden. Verlag und Autor haften in Fällen des Vorsatzes oder der groben Fahrlässigkeit nach den gesetzlichen Bestimmungen. Im Übrigen haften Verlag und Autor nur nach dem Produkthaftungsgesetz wegen der Verletzung des Lebens, des Körpers oder der Gesundheit oder wegen der schuldhaften Verletzung wesentlicher Vertragspflichten. Der Schadensersatzanspruch für die Verletzung wesentlicher Vertragspflichten ist auf den vertragstypischen, vorhersehbaren Schaden begrenzt, soweit nicht ein Fall der zwingenden Haftung nach dem Produkthaftungsgesetz gegeben ist.

Warnung! Augenschutz und LEDs:

Blicken Sie nicht aus geringer Entfernung direkt in eine LED, denn ein direkter Blick kann Netzhautschäden verursachen! Dies gilt besonders für helle LEDs im klaren Gehäuse sowie in besonderem Maße für Power-LEDs. Bei weißen, blauen, violetten und ultravioletten LEDs gibt die scheinbare Helligkeit einen falschen Eindruck von der tatsächlichen Gefahr für Ihre Augen. Besondere Vorsicht ist bei der Verwendung von Sammellinsen geboten. Betreiben Sie die LEDs so wie in der Anleitung vorgesehen, nicht aber mit größeren Strömen.

Liebe Kunden!

Dieses Produkt wurde in Übereinstimmung mit den geltenden europäischen Richtlinien hergestellt und trägt daher das CE-Zeichen. Der bestimmungsgemäße Gebrauch ist in der beiliegenden Anleitung beschrieben.

Franzis Verlag 65316 - Liebe Kunden! - 1

Bei jeder anderen Nutzung oder Veränderung des Produktes sind allein Sie für die Einhaltung der geltenden Regeln verantwortlich. Bauen Sie die Schaltungen deshalb genau so auf, wie es in der Anleitung beschrieben wird. Das Produkt darf nur zusammen mit dieser Anleitung weitergegeben werden.

Das Symbol der durchkreuzten Mülltonne bedeutet, dass dieses Produkt getrennt vom Hausmüll als Elektroschrott dem Recycling zugeführt werden muss. Wo Sie die nächstgelegene kostenlose Annahmestelle finden, sagt Ihnen Ihre kommunale Verwaltung.

Franzis Verlag 65316 - Liebe Kunden! - 2

Autor: Fabian Kainka

Produktmanagement: Dr. Markus Stäuble

Art & Design: www.ideehoch2.de

© 2015 Franzis Verlag GmbH, Richard-Reitzner-Allee 2, 85540 Haar

Alle Rechte vorbehalten, auch die der fotomechanischen Wiedergabe und der Speicherung in elektronischen Medien. Das Erstellen und Verbreiten von Kopien auf Papier, auf Datenträgern oder im Internet, insbesondere als PDF, ist nur mit ausdrücklicher Genehmigung des Verlags gestattet und wird widrigenfalls strafrechtlich verfolgt.

Die meisten Produktbezeichnungen von Hard- und Software sowie Firmennamen und Firmenlogos, die in diesem Werk genannt werden, sind in der Regel gleichzeitig auch eingetragene Warenzeichen und sollten als solche betrachtet werden. Der Verlag folgt bei den Produktbezeichnungen im Wesentlichen den Schreibweisen der Hersteller.

INHALT

Bevor es losgeht 6

Das Pretzel Board ....7

Technische Daten 8

Bauteile im Lernpaket....9

1 Das Moul kennenlernen....1C

1.1 Grundlegende AT-Befehle....1 C

1.2 Automatische Konfiguration ..... 17

1.3 Erkennung eines Netzwerks 23

2 UDP uhlP 26

2.1 Daten zwischen Board und PC mit UDP austauschen 28

2.2 Daten dem und empfangen mit UDP 31

2.3 Eine LED mit UDP sc halten 33

2.4 Netzwerkschalter 35

2.5 Analoger Ser.... 38

2.6 Netzwerk-Pager 41

3 TCP-Client 44

3.1 Ein Browser 44

3.2 Eine Internet 46

3.3 Temperaturanzeige 49

3.4 Mediacenter-Steuerung.... 52

4 TCP-Server 58

4.1 TCP-Webserver 58

4.2 Autonomer Webserver 6C

4.3 Webseite mit Buttons 62

4.4 Einschub: HTML-Crashkurs....64

4.5 RGB-LED über TCP steuer n 67

4.6 Lichtsensor 70

4.7 GPIO Contro 72

4.8 Text to layDisp....76

4.9 Einschub: Vom Internet aus auf das Board zugreifen.... 78

5 ThingSpeak 82

5.1 ThingSpeak 82

5.2 Twitch-Anzeig e 86

5.3 Twitter-Alarmanlage 88

5.4 TalkBack 90

5.6 Twitter-Feuermelder mit Talkback-Funktion 94

6 Anhang 10C

6.1 At-Kommandos....10C

BEVOR ES LOSGEHT

Beim ersten Anschließen des Boards kann es vorkommen, dass der Computer den erforderlichen Treiber für den USB-to-Serial-Wandler nicht automatisch findet. Ist dies der Fall, sollten Sie den Treiber von der Seite www.iot.fkainka.de/driver herunterladen und manuell installieren. In der Arduino-Software können Sie dann den Port und als Board Arduino Nano (Prozessor: Atmega328) auswählen. Danach sollte der Controller voll einsatzbereit sein.

Franzis Verlag 65316 - BEVOR ES LOSGEHT - 1

text_image P19_TCPServerGPIO | Arduino 1.6.5 Datei Bearbeiten Sketch Werkzeuge Hilfe P19_TCPServerGPIO /* TCP-Server GPIO Change SSID and PASSWORD. # #det: #det: #det: WLAN Connected My IP is: #det: AT+CIFSR #1nc: +CIFSR:STAIP, "192.168.178.72" +CIFSR:STAMAC, "18:fe:34:a4:67:87" OK con: " Server Aktiv Hoc: Autoscroll CR und NL 19200 Baud Arduino Nano, ATmega020 on COM3

Die richtigen Einstellungen in der Arduino-Umgebung

Ich habe mit den Arduino-IDE-Versionen 1.6.4 — 1.6.5 gearbeitet. Ältere Versionen können Probleme verursachen. Die aktuelle Arduino-IDE-Version finden Sie auf der Internetseite www.arduino.cc

Für manche Linux-Versionen existiert derzeit allerdings nur eine alte Version. Tipps, wie Sie dieses und andere Probleme lösen können, fi nden Sie auf der Internetseite www.iot.fkainka.de

Dort fi nden Sie auch alle hier vorgestellten Beispiele und einiges Nützliches mehr.

In dem Lernpaket befin den sich zwei Steckboards, die Sie, wie unten zu sehen, ineinander stecken können. Am besten ist es, wenn Sie das Pretzel Board und das Display wie im Bild auf die Steckboards stecken. Dadurch bleibt der meiste Platz für Experimente, während das WLAN-Modul hinten über das Steckboard hinausragt und das Display auf dem unteren Steckboard genug Platz hat. Das Micro-USB-Kabel hängt dann zwischen den Kontaktseiten und stört nur minimal. Detailliertere Aufbaubilder fi n den Sie im jeweiligen Kapitel.

Franzis Verlag 65316 - BEVOR ES LOSGEHT - 2

text_image Temp: 23.32 C Color: Purple

Das Pretzel Board auf dem Steckboard mit Display

Das Pretzel Board

Das Hauptelement dieses Lernpakets ist das Pretzel Board (Interner Name des Pretzel Boards ist NanoESP). Wie man an der Platine recht gut erkennen kann, besteht das Board aus zwei Komponenten. Bei der linken Hälfte handelt es sich um ein Arduino-kompatibles Mikrocontrollersystem, das mit dem Arduino Nano verglichen werden kann. Der rechte Teil ist das WLAN-Modul mit der Bezeichnung ESP8266. Diese beiden Komponenten kommunizieren über eine per Software generierte serielle Schnittstelle miteinander.

Das Pretzel Board auf einem Steckboard.

Franzis Verlag 65316 - Das Pretzel Board - 1

Mikrocontroller:ATmega328
Flash-Speicher: 32 KB (davon 0,5 KB für den Bootloader)
SRAM:2 KB
EPRUM:1KB
Taktrate:16MHz
I/O-Pins: 20 (davon 2 für die Kommunikation mit dem )WLAN-Mod
-dav on PWM:
-davon analoge Eingänge:
USB-to-Serial-Chip:CH340G
Betriebsspannung:5 V
Empfohlene Eingangsspannung: 7-12 V
Maximaler Strom pro I/O-Pin:40 A m
Belastbarkeit des 3.3-V-Ausgangs:50 mA
WLAN-Modul:ESP826€
SPI-Flash 4Mbit
Betriebsspannung: 3,3V
WLAN-Standards: 802.11 b/g/r
WLAN-Modi: Wi-Fi Direct[P2P], Soft-AP
Hirmware: AT-Firmware Version 0.22
Sonstiges:Integrierter TCP/IP-Stack+19.5 dBm Ausgangs leistung im802.11 b-ModusIntegrierte bit-CPU Low-Kommunikation über UAR 1

Das WLAN-Modul wird über sogenannte AT-Kommandosgesteuert. Dazu ist der Arduino-Teil des Boards über die Pins 11 und 12 mit dem WLAN-Modul verbunden. Eine kleine Schaltung wandelt die 5-V-Peg el inkompatible 3,3-V-Peg el um. Die Pins 11 und 12 sollten Sie also in eigenen Projekten nicht benutzen.

Bauteile im Lernpaket

Nachfolg end fi nden Sie eine Ü bersicht über die im Lernpaket enthaltenen Bauteile.

1 Pretze I Boarc

2 Steckplatine

⊥ LCD-Anzage

lm Schaltdraht

2 Taster

19-V-Cli p

⊥ LED (rot)

1 Widerstand 10 kOhm (Braun-Schwarz-Orange)

Widerstand 100 Ohm(Braun-Schwarz-Braun)

5 Widerstand 1 kOhm (Braun-Schwarz-Rot.

1 Widerstand 470 Ohm (Gelb-Violett-Braun)

1 Fototransistor (2 Anschlussbeine)

↓ NTC ↓ kUhm

1 Rezo

1 Potenziometer 10 kOhm mit rotem Drehkno pf

Quellcode der einzelnen Projekte

Den Quellcode zu den einzelnen Projekten können Sie unter Eingabedes Codes 65316-9 von http://www.buch.e herunterladen.

Franzis Verlag 65316 - Quellcode der einzelnen Projekte - 1

Projektcode:

http://www.buch.cd

1 DAS MODUL KENNENLERNEN

In diesem ersten Kapitel geht es um die grundsätzlichen Funktionen des WLAN-Moduls. Das Modul wird über sogenannte AT-Kommandos gesteuert. Wie im Einleitungsteil erwähnt, finden Sie alle hier verwendeten Beispielprogramme auf der Webseite www.buch.cd mit Eingabe des Codes 65316-9.

Am einfachsten ist es, Sie laden sich das komplette Zip-Verzeichnis herunter und kopieren den entpackten Ordner komplett in Ihren Sketchordner. Dann können Sie aus der Arduino-Oberfl äche heraus alle Programme nacheinander komfortabel öffnen.

Franzis Verlag 65316 - DAS MODUL KENNENLERNEN - 1

Programm-datei:

P01_SoftwareSerial.ino

1.1 | Grundlegende AT-Befehle

Einen ersten Eindruck von der Verwendung der AT-Befehle bekommt man am besten, indem man sie einfach ausprobiert. Deswegen werden Sie in diesem Abschnitt einige der grundlegenden Befehle des Moduls kennenlernen.

Öffnen Sie hierfür das Programm P01_SoftwareSerial in der Arduino-IDE. Es handelt sich um ein sehr simples Programm, das nichts weiter tut, als alle Daten, die über die serielle Hardwareschnittstelle des Mikrocontrollers empfangen werden, über die selbst defi nierte Softwareschnittstelle an den ESP-Controller durchzureichen. Das Ganze funktioniert auch in umgekehrter Richtung. Wie man im Quelltext sehen kann, sind die beiden Anschlüsse der Softwareschnittstelle die Pins 11 und 12. Diese sollten in eigenen Projekten nicht als GPIO-Pins verwendet werden. Sie benötigen außerdem die SoftwareSerial-Library. Sie ist bei den meisten Arduino-Versionen schon vorinstalliert — falls nicht, sollten Sie die Library über den Manager herunterladen.

Nachdem das Programm hochgeladen wurde, können Sie den seriellen Monitor der Arduino-Oberfläche starten. Bevor es losgehen kann, müs-

sen Sie noch zwei wichtige Einstellung am Serial Monitor vornehmen, nämlich unten rechts in der Ecke die Baudrate auf 19200 stellen und in der Box links daneben die Einstellung CR und NL vornehmen.

Nach dem Einstellen sehen Sie schon eine Meldung, nämlich ein AT und ein paar Zeilen darunter ein OK. Das Kommando AT wurde vom Mikrocontroller an das ESP-Modul gesendet und das Modul hat mit OK geantwortet. Daran können Sie erkennen, dass das WLAN-Modul funktioniert und einsatzbereit ist.

Franzis Verlag 65316 - | Grundlegende AT-Befehle - 1

text_image COM3 Senden AI OK Autoscroll CR und NL 19200 Baud

Bild 1.1: Terminal-Einstellungen: CR und NL und eine Baudrate von 19200

1.1.1 | Grundlegende Befehle

Einige grundlegende Befehle des Moduls können Sie testen, indem Sie einfach das Kommando eintippen und mit Enter an das Modul senden. Die Großschreibung des Befehls ist dabei von Bedeutung. Sie können Ihren ersten eigenen Befehl übermitteln, indem Sie

AT

in den seriellen Monitor eintippen und Enter drücken. Das hochgeladene Programm reicht den Befehl an das ESP-Modul durch, welches wiederum mit AT und danach OK antwortet. Der nächste Befehl, den Sie testen können, lautet:

AT+GMR

Mit diesem Befehl wird die aktuelle Firmware und Versionsnummer ausgegeben. Mit dem Befehl

AT+RST

1

können Sie das Modul zurücksetzen. Sie sehen dann im Terminal zunächst ein paar unleserliche Zeichen und am Ende ready als Zeichen, dass das Modul bereit ist. Ein weiterer Befehl lautet:

ATEC

Mit ihm ist es möglich, das sogenannte Echo des Moduls zu deaktivieren. Das bedeutet, dass Sie das gesendete Kommando nicht zurückgesendet bekommen, sondern nur die Antwort. Wenn Sie nun beispielsweise AT senden, kommt nicht erst AT und dann OK, sondern nur OK zurück. Für Ihre ersten Gehversuche ist es aber ratsam, das Echo mit

ATE1

wieder zu aktivieren.

Franzis Verlag 65316 - ATE1 - 1

text_image COM3 Senden AI OK AI+GMR AI version:0.22.0.0(Mar 20 2015 10:04:26) SDK version:1.0.0 compile time:Mar 20 2015 11:00:32 OK AI+RST OK *qXON(AC!É IOÀ+Oy)ò(Ba☐ *☐oC"OI!aOSO)OIO™BOs4 Jr0J00N000J!RcÉD!"D:p"26 ready AIEO OK OK AT OK Autoscroll CR und NL 19200 Baud

Bild 1.2: Erste Versuche mit den AT-Befehlen

1.1.2 | WLAN-Befehle

Mit den folgenden Kommandos können Sie die WLAN-Eigenschaften des Moduls verändern. Bei manchen Befehlen können Sie nicht nur einen

Zustand festlegen, sondern auch den aktuellen Zustand erfragen. Dies geschieht, indem Sie direkt hinter dem Befehl ein Fragezeichen einfügen, z. B.

AT+CWMODE? 

Als Rückg abewert kommt dann im Regelfall

+CWMODE=2 

gefolgt von OK. Wenn Sie

AT+CWMODE=? 

eintippen, antwortet das Modul Ihnen mit den möglichen Parametern des Befehls, hier 1-3. Bei CWMODE handelt es sich übrigens um den Befehl, mit dem Sie den WLAN-Modus festlegen können.

Esgibt also drei Betriebsarten, die ich nun nacheinander erläutere.

1 AT+CWMODE=2 — Das Modul als Access Point (AP-Modus)

Im Auslieferzustand ist das Modul ein Access Point. Das bedeutet, dass Sie mit einem WLAN-fähigen Gerät, wie einem Smartphone oder einem PC, eine direkte Verbindung mit dem Modul aufnehmen können. Dazu suchen Sie einfach das offene WLAN mit dem Namen NanoESP und verbinden sich damit. Im Werkszustand ist kein Passwort angegeben, sodass das Verbinden kein Problem darstellt. Wenn Sie mit dem Modul verbunden sind, haben Sie keine Verbindung zum Internet, denn das Modul ist kein Router mit einer eigenen Verbindung zum Telefonnetz. Dieser WLAN-Modus ist aber dennoch sinnvoll, wenn Sie beispielsweise ein sicheres, abgeschlossenes Netzwerk benötigen. Apropos Sicherheit: Es gibt auch die Möglichkeit, dem Netzwerk ein Passwort zuzuteilen, und zwar über den folgenden Befehl:

AT+CWSAP 

Es müssen noch Parameter angegeben werden, und zwar der Reihenfolge nach und mit Komma getrennt:

Der Name des Netzwerks in Anführungszeichen,
das Passwort in Anführungszeichen,

1

die Channel ID (beliebiger Wert zwischen 1 und 13),
und den Verschlüsselungsmodus [Wert von 0-4].

Eine mögliche Einstellung wäre:

AT+CWSAP="MyNanoESP", "MyPassword", 5,3 

Nach einer kurzen Zeit erscheint OK als Bestätigung. Sollte ERROR erscheinen, prüfen Sie noch einmal Ihre Eingaben, vor allem die Anführungszeichen. Sollte dennoch ERROR erscheinen, prüfen Sie, ob der CWMODE wirklich 2 ist.

Wenn alles funktioniert hat, können Sie sich mit einem WLAN-fähigen Gerät mit dem Board verbinden. Alle mit dem Modul verbundenen Geräte können Sie mit IP- und MAC-Adresse über den Befehl

AT+CWLIF 

anzeigen lassen.

Franzis Verlag 65316 - 1 - 1

text_image COM3 OK OK AT OK AT+CWMODE? +CWMODE:1 OK AT+CWMODE=2 OK AT+CWSAP ERROR AT+CWSAP="MyNanoESP", "MyPassword", 5, 3 OK AT+CNLIF ERROR AT+CNLIF 192.160.4.2.48:5d:60:4e:b4:65 OK Autoscroll CR und NL 19200 Boud

Bild 1.3: Das Modul im Stationsmodus. Die IP des verbundenen Rechners ist markiert.

2 AT+CWMODE=1 — Das Modul im Stations modus

Mit dem Befehl

AT+CWMODE=1 

setzen Sie das Modul in den Stationsmodus. Dieser Modus ermöglicht es Ihnen, eine Verbindung zu Ihrem WLAN-Router aufzubauen. Dadurch ist das Modul auch mit dem Internet verbunden und hat viel mehr Möglichkeiten.

Zu vor können Sie aber mit dem Befehl

AT+CW LAP 

alle Netzwerke in Reichweite aufl isten lassen und somit überprüfen, ob Ihr Netzwerk im Empfang sradius ist. Um eine Verbindung zu Ihrem Router aufbauen zu können, benötigen Sie den Befehl

AT+CWJAF 

Dieser hat, ähnlich wie der CWSAP-Befehl, wichtige Parameter, nämlich den Namen des WLAN-Netzwerks (auch SSIDg enannt) und das Passwort, beides wieder in Anführung szeichen und durch ein Kommagetrennt. Ein Verbindungsaufbau zu einem zweiten Modul, das mit den im vorherigen Abschnitt erläuterten Daten eingestellt ist, sähe also so aus

Der Verbindungsaufbau kann ein paar Sekunden dauern und sollte dann OK zurückgeben. Sie können übrigens die vom Router vergebene IP des Moduls mit dem Befehl

AT+CIFSR 

abrufen. Dies wird später wichtig sein, wenn Sie eine Verbindung zu dem TCP-Server des Moduls herstellen wollen. Mit dem Befehl

AT+CWQAP 

können Sie die Verbindung zu Ihrem Router auch wieder trennen

1

Bild 1.4: Das Board baut eine Verbindung zu einem zweiten Pretzel Board auf.

Franzis Verlag 65316 - 1 - 1

text_image COM3 AT+CWMODE-1 OK AT+CWLAP +CNLAP: (3, "MyNanoESP", -20, "la:fe:34:a5:ac:78", 5) +CNLAP: (4, "MyNanoESP", -68, "la:fe:34:a5:ac:78", 5) +CNLAP: (4, "MyNanoESP", -91, "la:fe:34:a5:ac:78", 5) +CNLAP: (4, "MyNanoESP", -10, "la:fe:34:a5:ac:78", 5) +CNLAP: (3, "MyNanoESP", -20, "la:fe:34:a5:ac:78", 5) +CNLAP: (3, "MyNanoESP", -68, "la:fe:34:a5:ac:78", 5) +CNLAP: (3, "MyNanoESP", -91, "la:fe:34:a5:ac:78", 5) +CNLAP: (3, "MyNanoESP", -10, "la:fe:34:a5:ac:78", 5) +CNLAP: (3, "MyNanoESP", -20, "la:fe:34:a5:ac:78", 5) +CNLAP: (3, "MyNanoESP", -68, "la:fe:34:a5:ac:78", 5) + CNLAP: (3, "MyNanoESP", -91, "la:fe:34:a5:ac:78", 5) +CNLAP: (3, "MyNanoESP", -10, "la:fe:34:a5:ac:78", 5) +CNLAP: (3, "MyNanoESP", -20, "la:fe:34:a5:ac:78)", 5) +CNLAP: (3, "MyNanoESP", -68, "la:fe:34:a5:ac:78", 5) OK AT+CWJAP="MyNanoESP", "MyPassword" OK AT+CIFSR +CIFSR:STAIP, "192.168.4.2" +CIFSR:STAMAC, "18:fe:34:a4:67:07" OK Autoscroll CR und NL 19200 Baud

3 AT+CWMODE=3 — Der Duale Modus

Der dritte mögliche Modus der WLAN-Einstellung ist der duale Modus. Er ermöglicht, wie der Name bereits vermuten lässt, das Betreiben des Moduls sowohl im Stations- als auch im AP-Modus. Das bedeutet es können Geräte eine direkte WLAN-Verbindung mit dem Modul aufbauen oder das Modul über den Router als Zwischenstation erreichen. Ein praktischer Modus, z. B. wenn man ein internes Netz mit mehreren Modulen plant und dennoch ein Modul als Server dienen soll, der die Daten ins Netz liefert. Aber dazu später mehr.

Franzis Verlag 65316 - AT+CWMODE=3 — Der Duale Modus - 1

Webseite:

http://www.iot.fkainka.de

Befehlsübersicht im Anhang und auf der Webseite

Alle wichtigen Befehle finden Sie übrigens auch im Anhang und auf der bereits erwähnten Webseite. Manche Befehle wie das Einstellen der Baudrate, wurden bewusst nicht aufgelistet, da Sie damit das Modul unbrauchbar machen könnten

1.2 | Automatische Konfiguration

Die grundlegenden Befehle konnten Sie bereits manuell testen. In diesem Kapitel soll nun die Frage geklärt werden, wie diese Befehle automatisch über den Controller bedient werden können. Außerdem lernen Sie einen weiteren Befehl kennen, mit dem Sie testen können, ob ein PC im Netzwerk oder ein Server im Internet erreichbar ist. In diesem Beispiel wird nämlich der Google-Server angepingt. In dem Beispielprogramm P2_GooglePing werden die Vorgänge, die Sie im ersten Beispiel manuell eingetippt haben, größtenteils automatisiert. Der Controller schickt nacheina der Befehle an das ESP-Modul und stellt so u. a. die Verbindung zum WLAN her. Die verschieden langen Timeout-Zeitengeben dem Modul genügend Zeit zum Antworten.

Bevor das Programm aber richtig funktionieren kann, müssen Sie Ihre WLAN-Daten hinter #defi ne SSF und #defi ne PASSWORD gleich zu Beginn des Programm-Quellcodes eintragen. Das Modul benötigt nämlich Zugang zum Internet, um seinen letzten Befehl ausführen zu können. Mit dem Befehl

AT+PING 

können andere Geräte im Netzwerk angepingt werden. Pingen bedeutet, dass man anfragt, ob ein Rechner grundsätzlich erreichbar ist. Hier wird der Google-Server mit AT+PING="www.google.de" angepingt. Wenn eine Antwort zurückkommt, erscheint eine Erfolgsmeldung im Serial Monitor und die mit DB beschriftete LED, die am Pin D13 des Boards angeschlossen ist, wird aktiviert. Die erste Kommunikation mit dem Internet wäre danngeg lückt

Das Programm

Im Folg enden werden wir die Funktionen des Programms schrittweise analysieren. Zu Beginn wird die Kommunikation mit dem Modul besprochen

1 Serielle Kommunikation

Das Ganze funktioniert über die serielle Software-Schnittstelle, die mit der SoftwareSerial-Library bereitgestellt wird. Beim Initialisieren müssen außerdem die verwendeten Pins angegeben werden, in diesem Fall die Pins 11 und 12.

011 #include <SoftwareSerial.h>
013 SoftwareSerial esp8266(11, 12); 

Franzis Verlag 65316 - Serielle Kommunikation - 1

Programm-datei:

P02_GooglePing.ino

1

Genau wie bei der normalen seriellen Schnittstelle können Bytes oder auch ganze Zeilen mit dem Befehl esp8266.print oder esp8266.println übertragen werden. Besonders praktisch sind auch die Befehle esp8266.fi n und esp8266.findUnti, mit der ein ankommender Stream auf bestimmte Zeichenketten überprüft werden kann. Dadurch ist es recht einfach, die passende Antwort des Moduls abzufargen. Wenn allerdings eine erwartete Zeichenkette nicht auftaucht, kann es eine ganze Weile dauern, bis das Programm weitergeht. Die Wartezeit (Timeout) wird durch esp8266.setTimeout defi niert. Mi fi ndUnti] kann aber auch eine zweite Zeichenkette defi niert werden, bei der die Suchfunktion aussteigt und false als Rückg abewert liefert. Dies machen wir uns in der Funktionsend-Com() zunutze:

Überprüfung, ob in der Antwort ERROR enthalten ist

09C boolean sendCom(String command, char respond[])
091 {
092    esp8266.println(command);
093    if (esp8266.findUntil(respond, "ERROR"))
094    {
095    return true;
096    }
097    else
098    {
099    debug("ESP SEND ERROR: " + command);
100    return false;
101    }
102 } 

Wenn Sie die Funktion aufrufen, müssen Sie den Befehl und den erwarteten Rückgabe an die Funktion übergeben, z. B. AT und den erwarteten Rückgabewert OK. Über println() wird das Kommando übertragen und schließlich gewartet, bis der erwartete Rückgabewert oder ERROR empfangen wird. Ist die Erwartung erfüllt, gibt die Funktion den Wert true zurück. Falls nicht, sendet das Modul über die debug[] -Funktion ESP SEND ERROR und das gesendete Kommando zurück, sodass man leicht überprüfen kann, welcher Befehl die Probleme verursacht.

Nicht alle AT-Befehle haben einen eindeutigen oder einzeiligen Rückgabewert. Wird z. B. die IP-Adresse abgefragt, gibt es in der Regel keinen vorher bekannten Wert. Deswegen gibt es eine zweite sendCom[]-Funktion, die nur den Parameter command benötigt und dann den gesamten

empfangenen String zurückgibt. Der String sollte aber nicht zu lang sein, denn der Buffer der SoftwareSerial kann überlaufen.

104 String sendCom(String command)
105 {
106    esp8266.println(command);
107    return esp8266.readString();
108 } 

2 Fehlersuche

Beim Entwickeln von Programmen kommt es oft zu Fehlern und Komplikationen. Damit man überhaupt eine Chance hat, gibt es hier zwei debug-Funktionen, die über einen Parameter ganz zu Beginn des Programms aktiviert oder deaktiviert werden.

009 #define DEBUG true 

Die erste Funktion bewirkt nichts weiter als eine vereinfachte Ausgabe von Text über die als Standard definierte serielle Schnittstelle. Wenn die Kons tante DEBUG wahr ist, wird der Inhalt der Zeichenkette Mäg gesendet.

123 void debug(String Msg)
124 {
125 if (DEBUG.
126 {
127 Serial.println(Msg);
128 }
129 } 

Die zweite Funktion ist ebenfalls schnell erklärt. Wird die Funktion serialDebug aufgerufen, geht das Programm in eine Dauerschleife über und verhält sich von da an wie das erste getestete SoftwareSerial-Programm. Das heißt, dass alle Daten, die über den seriellen Monitor an den Controller gesendet werden, direkt an das Modul weitgereicht werden und andersherum. In einem Fehlerfall kann man also die Funktion aufrufen und manuell Befehle senden, um zu testen, wo der Fehler ist.

113 void serialDebug() {
114 while (true)
115 {
116 if (esp8266.available()) 

1

117 Serial.write(esp8266.read())
118 if (Serial.available())
119 esp8266.write(Serial.read())
120 }
121 } 

3 Konfiguration

Um die Programme allgemein übersichtlicher zu gestalten, wurden die meisten Einstellungen in eigene Funktionen ausgelagert, allen voran die Funktion espConfig, in der die wichtigsten Parameter für das jeweilige Programm gesetzt werden

044 boolean espConfig()
045 {
046    boolean success = true;
047    esp8266.setTimeout(5000);
048    success &= sendCom("AT+RST", "ready");
049    esp8266Chronout(1000);

050    if (configStation(SSID, PASSWORD)) {
051    success &= true;
052    debug("WLAN Connected");
053    debug("My IP is:");
054    debug(sendCom("AT+CIFSR"))
055    }
056    else
057    {
058    success &= false
059    }

060    success &= sendCom("AT+CIPMODE=0", "OK");
061    success &= sendCom("AT+CIPMUX=0", "OK");

062    return success
063 } 

Zu Beginn der Funktion wird zunächst die Variable success auf true gesetzt, denn diese Variable wird nun mit verschiedenen Funktionen Und-verknüpft. Das bedeutet, wenn auch nur eine der Funktionen den Ne r t false zurückliefert, wird success ebenfalls sofort false und die gesamte Konfiguration ist gescheitert. Der erste AT-Befehl, der so auf Erfolg überprüft wird, ist der Reset-Befehl, der fast immer zu Beginn des Programms ausgeführt wird, um sicherzugehen, dass vorherige Versu-

che nicht noch das Modul beanspruchen. Es kann allerdings bis zu fünf Sekunden dauern, bis das Modul die Meldung ready zurücksendet. Deswegen wird kurz vor der sendCom[]-Furktion der Timeout für esp8266.find hochgesetzt. Nach dem Reset wird der Timeout wieder auf den Standardwert von einer Sekunde gestellt.

Was danach folgt, ist der Aufruf einer selbst definierten Funktion mit dem Namen configStation(), die im nächsten Abschnitt besprochen wird. Sie dient dazu, das Modul mit Ihrem Heimnetzwerk zu verbinden. Dazu werdend ie Parame ter SSID und PASSWORT übergeben, die Sie zu Beginn des Programms eingetragen haben. War der Verbindung saufbau erfolgreich, werden erst die Erfolgsmeldung und schließlich auch die aktuelle IP des Moduls an den seriellen Monitor übertragen. Zum Schluss der Funktion werden noch Parameter gesetzt, auf die ich erst später eingehen werde. Zuletzt wird noch die Variable success zurückgegeben, die hoffentlich den Wert true behalten hat.

050 boolean configStation(String vSSID, String vPASSWORT)
051 (
052 boolean success = true;
053 success &= (sendCom("AT+CWMODE=1", "OK"));
054 esp8266.setTimeout(20000);
055 success &= (sendCom("AT+CWJAP=\"\" + String(vSSID) + "\","\\" + String(vPASSWORT) + "\"", "OK"));
056 esp8266.setTimeout(1000);
057 return success;
058 ) 

Die Funktion configStation() wurde in der espConfig()-Funktion aufge-rufen. Hier wird das Einstellen des WLAN-Modus auf Stationsmodus mit dem Befehl CWMODE und schließlich das Verbinden mit dem Netzwerk über den CWJAP-Befehl vorgenommen. Es kann recht lange dauern, bis die Verbindung aufgebaut wird, weswegen der Timeout kurzzeitig auf 20 Sekunden angehoben wird. Sollten Sie übrigens den dualen WLAN-Modus bevorzug en, können Sie für CWMODE eine 3 eintragen.

078 boolean configAP()
079 {
080    boolean success = true;
081
082    success &= (sendCom("AT+CWMODE=2", "OK")); 

1

083 success &= (sendCom("AT+CWSAP=\"NanoESP\",\"",5,0", "OK"))
084
085 return success;
086 } 

Die Funktion configAP[] wird in diesem Beispiel nicht aufgerufen, soll aber dennoch kurz behandelt werden. Sie stellt sozusagen das Gegenstück zu der configStation[]-Funktion dar, denn hier wird das Modul als Access Point eingestellt. Ein langer Timeout ist nicht nötig, da das Modul den CWSAP-Befehl deutlich schneller verarbeiten kann. In späteren Versuchen wird in der espConfig[]-Funktion statt configStation[] die configAp[]-Funktion aufgerufen.

015 void setup()
016 {
017 // Open serial communications and wait for port to open:
018 Serial.begin(19200);
019 // set the data rate for the SoftwareSerial port
020 esp8266.begin(19200);
021
022 if (!espConfig()) serialDebug();
023 else debug("Config OK");
024
025 if (sendCom("AT+PING=\"www.google.de\"", "OK"))
026 {
027 Serial.println("Ping OK");
028 digitalWrite(13, HIGH);
029 }
030 else
031 {
032 Serial.println("Ping Error");
033 }
034 }
035
036 void loop() // run over and over
037 {
038 //Start serial Debug Mode - Type Commandos over serial Monitor
039 serialDebug();
040 } 

Die wichtigsten Funktionen, die Sie in fastjedem Programm fi nden werden, sind damit behandelt. In den bekannten Arduino-Funktionen setup

und loop[] werden diese Funktionen nun verwendet. Zunächst werden allerdings die beiden seriellen Schnittstellen mit 19200 Baud initialisiert. Erst dann wird die Funktion espConfig[] aufgerufen. Im Fehlerfall wird sofort die serialDebug[]-Funktion gestartet. War alles in Ordnung, wird eine Erfolgsmeldung gesendet. In späteren Programmen wird die LED an Pin 13, die auf dem Board mit D3 markiert ist, bei einer erfolgreichen Konfiguration zusätzlich leuchten. Damit haben Sie auch ein Feedback, wenn das Modul nicht an einem PC mit seriellem Monitor angeschlossen ist. In diesem Versuch wird die LED allerdings für die Rückmeldung des Ping-Status benötigt. Die Abfrage erfolgt auch gleich in der nächsten Zeile nach der Konfiguration. Es wird das AT-PING-Kommando mit der Google-Adresse als Parameter gesendet. Sie könnten anstelle der Adresse auch eine IP-Adresse in Ihrem lokalen Netzwerkabfragen. Im Erfolgsfall erscheint eine Meldung und die besagte LED D3 wird aktiviert. Als letzte Aktion springt das Programm in die loop-funktion, die ihrerseits die serialDebug[]-Funktion aufruft. Sie können also nach dem Programm weitere Befehle testen und so beispielsweise weitere Adressen anping en.

1.3 | Erkennung eines Netzwerks

In diesem Abschnitt geht es unter anderem zum ersten Mal um einen kleineren Hardwareaufbau. Ziel des Projekts ist eine Art Alarmanlange, die reagiert, wenn ein bestimmtes Netzwerk in Reichweite kommt oder angeschaltet wird.

Es werden nur zwei Bauteile und etwas Draht verwendet. Deng enauen Aufbau können Sie den Aufbaubildern entnehmen

Benötigte Bauteile

1 x Steckplatine, 1 x Pretzel Board, 1 x Piezo, Schaltdraht

Franzis Verlag 65316 - Benötigte Bauteile - 1

1

Bild 1.5: Anschluss des Piezo-Lautsprechers
Franzis Verlag 65316 - 1 - 1

Script-Download:

P03_SSIDalarm.ino

Franzis Verlag 65316 - Script-Download: - 1

text_image X 1 5 10 15 A B C D E F G H I J 1 5 10 15 fritzino

Der Quelltext zu diesem Projekt unterscheidet sich vom vorherigen Versuch hauptsächlich in folgenden Funktionen:

039 void findSSID()
040 {
041    esp8266.println("AT+CWLAP");
042    if (esp8266.findUntil(ToFindSSID, "OK")) alarm();
043    else debug("SSID not found!");
044 }
045
046 void alarm;
047 {
048    debug("alarm!");
049
050    digitalWrite(LED_ALARM, HIGH);
051
052    for (int i; i <= 30; i++)
053    {
054    tone(PIEZO, 400, 500);
055    delay(500);
056    tone(PIEZO, 800, 500);
057    delay(500);
058    }
059
060    digitalWrite(LED_ALARM, LOW);
061 } 

Die Funktion findSSID[] wird ca. alle 30 Sekunden in der loop-Routine aufgerufen und sucht dann nach allen Netzwerken in der Umgebung. Wennd as gesuchte Netzwerk gefunden wurde, wird die Funktion alarm[1], ausgelöst, die die LED D3 einschaltet und einen Signalton am Piezo ausgibt. In dem Beispielprogramm wird nach einem Netzwerk mit der SSID NanoESP gesucht, also im Grunde nach anderen Pretzel Boards in Reichweite. Sie können aber einfach bei #defi ne ToFindSSID zu Beginn des Programms eine andere SSID eintragen. Dadurch können Sie beispielsweise überprüfen, wie weit Ihr WLAN-Netzwerk reicht.

6

ANHANG

6.1 | At-Kommandos

BefehlSchreibweise
Grundlegendes
TestbefehlAI
Reset AT+RST
Firmware-Int osAT+GMR
Echo An/Aus ATE<1/0>

WLAN-Befehle

WLAN-ModusAT+CWMD DE=<mode>
[1 = Client, 2 = AP, 3 = Dual]
WLAN-Netzwerke suchen AT+CWLAP
WLAN verbindenAT+CWJAP="<ssid>", "<pass>"
WLAN trennen AT+CWQAP
WLAN-Access-Point-EinstellungenAT+CWSAP="<ssid>", "<pass>[,<chan>,<enc>]
IP-Adresse ausgebenAT+CIFSR
DHCP aktivieren/deaktivieren AT+CWDHCP=<1/0>
Automatisch mit WLAN verbinden AT+CWAUTOCONN=<1/0>
MAC-Adresse der Station ändemAT+CIPSTAMAC=<MAC>
IP-Adresse einstellen(Station)AT+CIPSTA=<IP>
IP-Adresse einstellen(Access Point)AT+CIPAP=<IP>
Starte SmartConfigAT+CWSTARTSMART=<typ>
Stoppe SmartContigAT+CWSTUPSMART

Kommunikation

Funktion PingAT+PING=
Mehrere Verbindungen zul assen AT+CIPMU X=
DatenmodusAT+CIPMU DE=
[0=Transparent, 1=Datenmodus]
Struktur empfangener Daten+IPD,
Verbindung aufbauen AT+CIPSTART="type>,"
Daten senderAT+CIPSEND=
Verbindung trennenAT+CIPCLOSE=

Sever r-Befehle

Server startenAT+CIPSERVER=1,
Serverbeenden AT+CIPSERVER=0
Server-Status & verbundene Clients AT+CIPSTATUS
Server-Timeout festlagen AT+CIPSTO=<timeout>
Verbundene Clients anzeigenAT+CWLIF

TURN ON YOUR CREATIVITY

FRANZIS

MAKER KIT

INTERNET OF THINGS

Das Internet der Dinge verbindet die reale Welt mit der digitalen Welt. Mit diesem Lernpaket können Sie selbst Projekte für das Internet der Dinge umsetzen. Mit dem beiliegenden IOT-Board legen Sie direkt los und steuern die Hardware über das Internet. Sie lernen alles, was Sie für den Einstieg benötigen: Schaltungs-aufbau sowie Netzwerk- und HTML-Programmierung.

Alle Bauteile der nachbausicheren Schaltungen sind enthalten.
All required components for the definitely feasible circuits included

PROJEKTE

PROJECTS:

Datenkommunikation mit UDP Data communication via UDP

LED mit UDP schalten Switching LEDs via UDP

Netzwerkschalter Network switch

Analoger Sensor Analog sensor

Netzwerk-Pager Network pager

Internetuhr Internet clock

Mediacenter-Steuerung Media center control

Webserver Web server

RGB-LED über TCP steuern Controlling an RGB LED via TCP

Lichtsensor Photosensor

GPIO über Webseite steuern

Webseitentext auf Display darstellen

Alarmanlage mit Twitter

Pretzel-Board mit ThingSpeak steuern

RGB-LED über Twitter steuern Controlling the RGB LED via Twitter

... und viele mehr

Controlling GPIO using a web page

Rendering web page text on a display

1 LC-Display (2-zeilig)

1 Piezo

2 Taster

1 LED rot

1 RGB-LED

1 Fototransistor

1 NTC

1 Potenziometer

19-V-Clip

1 Schaltdraht (1 m)

Widerstände

1 × 100 Ω

1 x 470 Ω

5 x 1 kΩ

1 x 10 kΩ

22 COMPONENTS

1 IOT-Wi-Fi-Board

2 breadboards

1 LC-Display (2 rows)

1 Piezo

2 push-buttons

1 LED red

1 RGB-LED

1 phototransistor

1 NTC

1 potentiometer

19V clip

1 single wire (1 m)

restistors

1 x 100 Ω

1 x 470 Ω

5 x 1 kΩ

1 x 10 kΩ

Franzis Verlag 65316 - restistors - 1

text_image Confluence Algeometrien Image Viewers Fermbetierung Zinsart ArtPlay Gestellungsstrasse Standard Se-Este - Einklassungen Seistellung für das Internet für Internet Page 3 Bilanzschulden Passiviert Antiservatische Deutsche Einzelungen auf Grundbesondere zur Kreditzeit Verlag vor allem die Betriebs kredit aus Lieferungen vor allem zu durchsicht

Die Nutzung unterschiedlicher Dienste zeigt die Vielfältigkeit des IOT-Boards.
The usage of different services demonstrates the versatility of the IOT board

Zusätzlich erforderlich:

1 x 9-V-Blockbatterie

Für Kinder unter 14 Jahren nicht geeignet!

Handbuch-Assistent
Angetrieben von Anthropic
Warten auf Ihre Nachricht
Produktinformationen

Marke : Franzis Verlag

Modell : 65316

Kategorie : Spielzeug