Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Programmieren in C / C++ ESP8266-Boards und das Internet der Dinge

Ähnliche Präsentationen


Präsentation zum Thema: "Programmieren in C / C++ ESP8266-Boards und das Internet der Dinge"—  Präsentation transkript:

1 Programmieren in C / C++ ESP8266-Boards und das Internet der Dinge
Hochschule Fulda – FB AI Sommersemester 2017 Peter Klingebiel, HS Fulda, FB AI

2 Espressif ESP auf den Mikrocontroller Espressif ESP8266 hatten wir schon einen kurzen Blick geworfen … Ultra-low-power-32-Bit Mikrocontroller Kern: Xtensa LX106 von Tensilica 80 bis 160 MHz Taktfrequenz 512 Kbyte bis mehrere Megabyte Speicher integriertes WiFi 2,4 GHz arbeitet nur mit 3.3 Volt ! direkt programmierbar (z.B. mit Arduino IDE) steuerbar mit AT-Kommandos LUA-Interpreter, Micropython-Interpreter u.v.a.m. … und uns speziell mit dem häufig eingesetzten Modul ESP-01 und den AT-Kommandos beschäftigt Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

3 ESP der ESP-01 wird meist als günstiges WiFi-Modul an Arduino-Boards eingesetzt und über eine serielle Verbindung mit AT-Kommandos angesteuert Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

4 ESP-01 2 Erinnerung: Aufbau des ESP-01-Moduls Externe Anschlüsse
Memory Externe Anschlüsse Antenne CPU Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

5 ESP-01 3 der ESP-01 kann mehr als nur WiFi-Sklave sein
zwei (mit RX und TX vier) GPIOs sind verwendbar  ESP-01 kann auch standalone verwendet werden zur Programmierung ist ein USB-TTL-Converter (oder auch ein Arduino) erforderlich Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

6 ESP-01 4 Verkabelung des ESP-01:
GND und VCC (Achtung: 3.3 Volt!) Stromversorgung TX und RX Kommunikation zur Programmierung CH_PD an 3.3 Volt GPIO0, GPIO2 (RX, TX) zum Anschluß externer Geräte wie Sensoren oder Aktoren (3.3 Volt-Pegel!) für Programmierung / Flashen muss GPIO0 auf LOW gezogen bzw. an GND angeschlossen werden Programmieren / Flashen mit speziellen Tools wie esp-flasher oder esplorer, dabei externe Geräte von GPIOs, speziell von GPIO0 entfernen für Betrieb Geräte dann an GPIOs anschließen Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

7 ESP kurzes Resume der ESP-01 ist ein nützliches Modul, um andere Mikrocontroller mit dem WLAN und so auch mit dem Internet der Dinge zu verbinden für kleinere Aufgaben, d.h. wenn nur wenige externe Geräte (zwei, maximal vier) angeschlossen werden sollen, kann der ESP-01 auch im Standalone-Betrieb eingesetzt werden das Handling ist allerdings ein wenig mühsam der ESP8266 kann erheblich mehr leisten als mit dem ESP-01 möglich ist  bessere, leistungsfähigere ESP8266-Boards Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

8 ESP8266-Boards 1 sehr bekannt und beliebt: NodeMCU-Board mit USB-Anschluß, vielen GPIOs u.a.m. Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

9 ESP8266-Boards 2 Adafruit Huzzah ESP8266 mit USB-Anschluß, vielen GPIOs u.a.m. Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

10 ESP8266-Boards 3 Sparkfun ESP8266 Thing, ebenfalls mit USB, LiPo-Akku-Anschluß, vielen GPIOs u.a.m. Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

11 ESP8266-Boards 4 Wemos D1 mini, sehr kompakt, mit USB, 4MB Flash
12 GPIOs (11 digital incl. RX und TX, 1 analog) basiert auf dem Modul ESP8266EX Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

12 Wemos D1 mini 1 Pinout des Wemos D1 mini
Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

13 Wemos D1 mini 2 Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

14 Wemos D1 mini 3 Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

15 Installation in Arduino IDE 1
ESP-Boards sind über Arduino IDE programmierbar Installation der ESP9266-Umgebung in Arduino IDE 1. Schritt: Menü Datei → Voreinstellungen Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

16 Installation in Arduino IDE 2
2. Schritt: dort im Textfeld zusätzliche Bordverwalter-URLs den folgenden URL eintragen: Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

17 Installation in Arduino IDE 3
3. Schritt: Menü Werkzeuge → Boards → Boardverwalter Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

18 Installation in Arduino IDE 4
4. Schritt: Eintrag für ESP8266 suchen … … und installieren Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

19 Installation in Arduino IDE 5
 ESP8266-Module sind verfügbar Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

20 Installation in Arduino IDE 5
 viele Beispiel für ESP8266-Programmierung Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

21 Wemos 1 Einige Links zu Wemos und Wemos-Komponenten
Homepage Wemos https://www.wemos.cc Infos zu den Wemos-Komponenten https://wiki.wemos.cc für die Wemos D1 mini und die Shields gibt es einige Beispiele unter dem Link https://github.com/wemos/D1_mini_Examples die Wemos-Infos sind leider etwas dürftig viele weitere Infos und Beispiele im Internet Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

22 ESP-Programmierung 1 ESP-Boards sind über Arduino IDE programmierbar
Beispiel: Verbindung zum WiFi aufbauen #include <ESP8266WiFi.h> bool espConnectWiFi() { // verbindung zum WLAN WiFi.begin(myssid, mypassword); // verbindungsaufbau dauert ein wenig! for(int i = 0; i < 20; i++) { if(WiFi.status() == WL_CONNECTED) return true; delay(250) } return false; } Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

23 ESP-Programmierung 2 Beispiel: einfacher Webclient #include <ESP8266WiFi.h> WiFiClient client; // client objekt // zum server verbinden if(client.connect(host, port)) { // verbunden // request senden client.print(request); // antwort vom server String ans = client.readString(); // server-antwort bearbeiten } Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI

24 ESP-Programmierung 3 Beispiel: einfacher Webserver #include <ESP8266WiFi.h> WiFiServer server(port); // server objekt // server starten server.begin(); // auf client warten WiFiClient client = server.available(); if(client) { // client request lesen String req = client.readStringUntil('\r'); // request bearbeiten // webcontent an client senden client.print(webcontent); } Programmieren in C / C++ - Peter Klingebiel - HS Fulda - FB AI


Herunterladen ppt "Programmieren in C / C++ ESP8266-Boards und das Internet der Dinge"

Ähnliche Präsentationen


Google-Anzeigen