You’ve got Mail – IoT mit ESP32 für Fortgeschrittene

Mobile und IoT
12.09.2019


9:10 – 17:15 Uhr
HSR Hochschule für Technik Rapperswil
Max. Teilnehmer: 12

Einleitung

Der ESP32 ist ein äusserst vielseitiger und kostengünstiger Micro Controller, der sich hervorragend für verschiedenste IoT Projekte eignet. Er bringt nicht nur ein WiFi Modul mit, sondern verfügt auch über zahlreiche Erweiterungen gegenüber dem „kleinen Bruder“ ESP8266: Bluetooth, mehr RAM, Dual Core Prozessor, Ultra Low Power Kern und viel mehr I/O Pins ermöglichen es viele spannende Produkte basierend auf dem ESP32 zu entwickeln.

In diesem Kurs für Fortgeschrittene verwenden wir ein ESP32 Kamera Modul, um Schritt für Schritt eine Postfach-Kamera zu entwickeln. Der PIR Bewegungsmelder soll den ESP32 beim Öffnen des Paket-Fachs aus dem Tiefschlaf wecken, ein Foto des Pakets schiessen und per Push-Notifikations-Service auf das Smartphone des Anwenders schicken.

Programm

Anhand dieser Mailbox Beispielsanwendung erarbeiten wir uns Schritt für Schritt alle Bestandteile:

  • End-User Konfiguration des Geräts (WiFi, API Keys, etc)
  • ESP32 in Tiefschlaf versetzen
  • PIR Sensor als Aufwach-Trigger registrieren
  • Kamera-Sensor anbinden
  • Luftdruck, Temperatur und Luftfeuchtigkeit des BME280 Sensors auslesen
  • Foto um Sensorwerte anreichern
  • Foto zu Pushbullet Service hochladen und Push Nachricht an Smartphone verschicken

Dabei widmen wir uns auch fortgeschrittenen Aspekten der IoT-Geräte Entwicklung. Das Projekt wird mit Visual Studio Code und Platformio entwickelt. Verglichen mit der Arduino IDE ermöglicht es Platformio-Bibliotheken mit spezifischen Versionen einzubinden, Continuous Integration Builds einzurichten (Travis) und Binaries für verschiedene Zielplatformen per Knopfdruck zu bauen. Wir schauen uns an, wie wir den ESP32 für den Batteriebetrieb optimieren und wie wir die Firmware per Over-The-Air-Update bequem aktualisieren können.
Edge Computing (Optional): falls die Zeit reicht, schauen wir uns an, wie wir Machine Learning zusammen mit dem ESP32 einsetzen können. Der ESP32 selbst ist fähig um Face-Detection und Face-Recognition zu machen. Für komplexere Aufgabenstellungen kann die Verarbeitung auch an einen Edge-Node (z.B. an einen Raspberry Pi) abgegeben werden. Mit nur wenig Code können wir so die Bilder der ESP32 Kamera nach verschiedenen Kategorien klassifizieren.

Kursziel

Die Kursteilnehmer*innen lernen anhand der Beispielsanwendung, wie man ein ESP32 IoT Projekt mit modernen Hilfsmitteln (CI-Build, Unit Tests, Dependency Versioning) aufsetzt und wie man die verschiedenen konkreten Herausforderungen der Beispielsanwendung löst. Der Kurs befähigt damit die Teilnehmenden eigene komplexe IoT Projekte zu entwickeln.

Adressaten

Der Kurs richtet sich an Entwickler*innen, die bereits erste Erfahrungen mit der Arduino IDE, mit ESP8266 oder ESP32 gesammelt haben und nun lernen möchten, wie man ein komplexeres Projekt aufsetzt und entwickelt.

Voraussetzungen

  • Erfahrung mit Arduino IDE
  • ESP8266 oder ESP32Kenntnisse in einer höheren Programmiersprache (Java, C/C++)

Infrastruktur

  • Bitte bringe Deinen Laptop mit.
  • Die Programmierumgebung läuft auf Windows, Mac OS X und Linux. Administrator-Rechte zur Installation der Treiber sind Vorraussetzung.
  • Die im Workshop verwendeten Komponenten werden Dir zur Verfügung gestellt und Du kannst sie anschliessend nach Hause nehmen.

Referenten

Daniel Eichhorn

ThingPulse


Daniel arbeitet bei Netcetera in Zürich als Technischer Projekt-Leiter und Senior Software Entwickler in Projekten der verschiedensten Branchen (Finanzdienstleister, Transport, etc.). Seit einigen Jahren ist seine Kindheits-Passion für Elektronik neu entfacht und er hat in seiner Freizeit viele verschiedene Projekte entwickelt und diese auf seinem Blog beschrieben und den Code dazu als Open Source anderen zur Verfügung gestellt. Anfangs 2018 hat er mit Marcel Stör die ThingPulse GmbH gegründet.

Marcel Stör

ThingPulse


Marcel ist seit vielen Jahren als Senior Software Engineer und Architekt in Zürich tätig. Anfang 2018 hat er mit Daniel Eichhorn die ThingPulse GmbH gegründet um IoT Hardware und Software zu entwickeln und den Zugang zu IoT für andere Menschen zu vereinfachen.