Grundlagen der Anwendung und Programmierung des ESP8266 Dennis Hoffmann Mittwoch, 11.01.2017 08:30 Uhr Schulungsraum SW23/147
Inhalt Mikrocontroller ESP8266 Entwicklungsumgebung Firmware Beispiele Projekte Vorführung 2 von 26
Mikrocontroller Definition eines Mikrocontroller Ein Mikrocontroller stellt im Prinzip einen Mikrorechner auf einem Chip dar. Ziel ist es eine Steuerungs- oder Kommunikationsaufgabe mit möglichst wenigen Bausteinen zu lösen A microcontroller is a structure that integrates in a single chip a microprocessor, a certain amount of memory, and a number of peripheral interfaces. werden Halbleiterchips bezeichnet, die einen Prozessor und zugleich auch Peripheriefunktionen enthalten. 3 von 26
Mikrocontroller Vorteile von Mikrocontrollern Größe Preis Spezialisiert Stromverbrauch 4 von 26
Mikrocontroller Warum nimmt man keinen echten Computer z.b. Raspberry PI? Raspberry PI: Viel zu Teuer im Bereich von IoT für unternehmen ~20 Leistung wird nicht benötigt Verbraucht zu viel Strom um z.b. nur einen Sensor auszulesen 5 von 26
Mikrocontroller ESP8266 von Espressif Module: Besitzen bereits z.b. Speicher oder Antenne SMD Bauteil: Nur der Mikrocontroller 6 von 26
ESP8266 Eigenschaften Hardware CPU Verbrauch Tensilica L106, 80MHz 160MHz 3.0V 3.6V, 100mA Sleep Modern-Sleep 15mA Light-Sleep 0.9mA Deep-Sleep 10µA Protkolle 802.11 b/g/n/e/i WPA/WPA2 7 von 26
ESP8266 Funktionales Block Diagramm 8 von 26
ESP8266 Vorteile des ESP8266 Sehr günstiges WLAN-Modul Leistungsfähig für viele Aufgaben Fast vollständige Arduino Unterstützung Große Community 9 von 26
ESP8266 Programmierung Zum Flashen der Firmware wird UART- Schnittstelle verwendet USB-Seriell Adapter oder anderes Entwicklungsboard USB USB zu Seriell UART 10 von 26
ESP8266 Aufbau für die Seminararbeit 11 von 26
ESP8266 Besonderheiten beim Programmieren Für den Programmiermodus muss beim Reset GPIO0 auf LOW Port 3, Chip Enable: Kontrolle des ESP8266 12 von 26
ESP8266 Vorgehen zum Programmieren Zum Übertragen der Firmware: Arduino Studio, ESP-Tool Serieller Port: Linux: /dev/acm0 Windows: com-port Erstellen der Firmware Programmiermodus Übertragung der Firmware Booten der neuen Firmware 13 von 26
Firmware ESP8266 Was ist eine Firmware? Software die auf einem Mikrocontroller läuft Betriebssystem / while-schleife 14 von 26
Firmware ESP8266 Non-OS SDK oder RTOS SDK RTOS für komplexe aufgaben Multitasking Inter-task communication Real time scheduling Non-OS SDK mit Arduino API Einfache Entwicklung von Firmware Große Community Vielfach schon eingesetzt Bietet bereits eine IDE 15 von 26
Firmware ESP8266 Ardunio IDE Einfach gehalten Eclipse Integration 16 von 26
Firmware ESP8266 17 von 26
Beispiele Wo findet der ESP8266 Anwendung? Für kleine Messstationen Heimautomatisation 18 von 26
Beispiele ESP8266 Webserver Access Point/Client Modus ESPWebServer von Arduino void setup() { Serial.begin(115200); delay(10); WiFi.begin(ssid, password); while (WiFi.status()!= WL_CONNECTED) { delay(500); Serial.print("."); } server.on("/", handleroot); server.onnotfound(handlenotfound); server.begin(); Serial.println("HTTP server started"); } void loop() { } server.handleclient(); 19 von 26
Beispiele 20 von 26
Beispiele MQTT Message Queue Telemetry Transport Offenes Nachrichten Protokoll wenig Overhead Push basiert 21 von 26
Beispiele SPIFFS Dateisystem im Flash Daten können aus dem Projekt heraus in den Flash geschrieben werden Nützlich für z.b. Konfigurationsoberflächen 22 von 26
Projekte Staubsensor für Serverräume Sensordaten werden über MQTT übermittelt Akkupack Nutzung mit Deep-Sleep ~2 Jahre Laufzeit Anbringung mehrere Staubsensoren 23 von 26
Projekt WiFiDust 24 von 26
Vorführung SSID: ESP8266AP PASS: seminar1234567 25 von 26
Vielen Dank für Ihre Aufmerksamkeit