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

Mobile und IoT
08.09.2021


9:00 – 17:15 Uhr
ETH Zürich
Max. Teilnehmer: 12

Einleitung

Der ESP32 ist ein äusserst vielseitiger und kostengünstiger Mikrcontroller, 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 seinem „kleinen Bruder“ ESP8266: Bluetooth, mehr RAM, Dual Core Prozessor, Ultra Low Power Kern und mehr I/O Pins ermöglichen es viele spannende Projekte 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 Beispielanwendung 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
  • Foto zu Push Service hochladen um Nachricht an Smartphone verschicken zu lassen

Dabei widmen wir uns auch fortgeschrittenen Aspekten der IoT Entwicklung. Das Projekt wird mit Visual Studio Code und PlatformIO entwickelt. Verglichen mit der Arduino IDE ermöglicht es Bibliotheken mit spezifischen Versionen einzubinden, Continuous Integration  einzurichten und Binaries für verschiedene Zielplattformen 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) delegiert 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 Beispielanwendung, wie man ein ESP32 IoT Projekt mit modernen Hilfsmitteln aufsetzt. Aufbauend auf den Theorieteilen können sie die konkreten Herausforderungen der Beispielanwendung selbständig lösen. 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/ESP32 oder ähnlichen Mikrocontrollern gesammelt haben und nun lernen möchten, wie man ein anspruchsvolleres Projekt aufsetzt und entwickelt.

Voraussetzungen

  • Erfahrung mit Arduino IDE und ESP8266 / ESP32 oder ähnlichen Mikrocontrollern
  • Gute Kenntnisse in einer höheren Programmiersprache wie Java, C/C++

Infrastruktur

  • Bitte bringe Deinen Laptop mit.
  • Die Programmierumgebung läuft auf Windows, macOS und Linux. Administrator-Rechte zur Installation der Treiber sind Voraussetzung.
  • Die im Workshop verwendeten Komponenten werden Dir zur Verfügung gestellt damit du sie auch zu Haus weiterverwenden kannst. Sie sind im Kurspreis inbegriffen.

Referenten

Daniel Eichhorn

ThingPulse GmbH


Daniel arbeitet bei Netcetera in Zürich als Technischer Projekt-Leiter und Senior Software Entwickler in Projekten der verschiedensten Branchen (Finanzdienstleister, Transport, etc.). Vor einigen Jahren ist seine Kindheits-Passion für Elektronik neu entfacht. Er hat in seiner Freizeit viele verschiedene Projekte entwickelt, beschrieben und den Code dazu veröffentlicht. Anfangs 2018 hat er mit Marcel Stör die ThingPulse GmbH gegründet.

Marcel Stör

ThingPulse GmbH


Marcel ist seit vielen Jahren als Senior Software Engineer und Architekt in Zürich tätig. Anfangs 2018 hat er mit Daniel Eichhorn die ThingPulse GmbH gegründet um durch Hardware- & Softwareentwicklung den Zugang zu IoT für andere Menschen zu vereinfachen. Er ist gelernter Schreiner und liebt das Handwerk.