IoT Workshop 2025

Autor:in

Hubert Högl

Veröffentlichungsdatum

7. Juli 2025

1 Einführung

Stand: 2025-07-10 23:58

Git Rev: 018b419

E-mail: Hubert.Hoegl@tha.de

[Werbung: Den Text habe ich mit Quarto geschrieben.]

Dieser Text steht unter der Creative Commons Lizenz CC-BY-SA

Über den Autor

  • Lehre als Radio- und Fernsehtechniker Ende der 70er Jahre
  • Studium der Physik in Regensburg
  • Promotion in Technischer Informatik an der Uni Mannheim in den 90ern
  • Seit 2002 Professor für Technische Informatik an der Hochschule Augsburg (Link)
  • Linuxler seit 1992, Pythonist seit 1993
  • Am liebsten Kommandozeile, grafische Tools nur wenn nichts anderes geht
  • Mikrocomputertechnik (“Embedded Systems”), Embedded Linux
  • Mag immer noch Elektronikbasteln
  • Überzeugter Anwender von freier und offener Software

1.1 Behandelte Themen

  • Was ist das “Internet of Things” (IoT)?

    Drei wichtige Bereiche

    • Geräte (die “Things”)
    • Gateway
    • Cloud Plattform

    Bild entnommen aus Eclipse IoT White Paper: The Three Software Stacks Required for IoT Architectures

    • Dinge, Nodes, Knoten, Devices, …

      • Microcontroller, oft ohne Betriebsystem oder mit kleinem RTOS
      • Fast immer drahtlos, also ohne Kabel (WiFi, Bluetooth, LoRa, LoRaWAN, NB-IoT)
        • Uplink 🡒 vom Ding zur übergeordneten Einheit
        • Downlink 🡒 von der übergeordneten Einheit zum Ding
      • Eingabegeräte, z.B. Schalter, Sensoren für physikalische Grössen
      • Ausgabegeräte, z.B. Anzeigegeräte oder Ausgänge ein/ausschalten
    • Kommunikation über definierte Protokolle (siehe weiter unten)

    • Geringe Stromaufnahme, oft jahrelange Laufzeit mit Batterie, oder autonom z.B. mit Solarzelle

    • “Gateway” - leitet Pakete vom verwendeten Funksystem, z.B. LoRa auf das Internet weiter. Ähnlich zum “Edge Gateway”.

    • “Edge Gateway” - kümmert sich um mehrere “Things” / Vermittler zur Cloud / macht schon eine Vorverarbeitung/Filterung der Daten. Oft Rechner in der Leistungsklasse eines Raspberry Pi mit Linux.

    • “Cloud” - Meist Rechner in einem grossen (kommerziellen) Rechenzentrum, irgendwo im Internet

    • Speicherung von Sensordaten, oft Zeitserien die in spezialisierten Zeitserien-Datenbanken gespeichert werden

    • Auswertung und Visualisierung der in der Cloud gesammelten Daten. Automatisierte Benachrichtigung von verantwortlichen Menschen.

    • Moderne Hausautomatisierung ist auch IoT!

  • Beliebte Microcontroller bzw. Boards

    • Heltec LoRa V3 (ESP32-S3)

      • Preis ca. 25 €.

    • Seeed Xiao ESP32-C3 Board

      • Preis ca. 8 €.

    • Raspberry Pi Pico (mit RP2040 Mikroprozessor)

      • Preis ca. 5 €.

    • Raspberry Pi

      Die bekannten Pi der Versionen 3, 4 und 5 sind “richtige” Computer mit einem “grossen” Betriebssystem (Linux). Das ist ein deutlicher Unterschied zu den drei vorher genannten, die meist ohne Betriebssystem verwendet werden. Der “Pico” ist eine Ausnahme, auf ihm kann man nicht Linux verwenden!

      https://www.raspberrypi.com

      Der Preis für den gezeigten Raspberry Pi B+ liegt bei 40 €.

  • Programmierung

    • C/C++

    • Arduino (C++ mit Erleichterungen)

    • Micropython

    Abbildung 1.1: Komplexität der Sprachen
  • LoRaWAN

    Wie funktioniert es?

    Wir werden ein LoRaWAN Gerät selber bauen.

  • Standards

    • IEEE 802.3 (Ethernet)
    • IEEE 802.11 (WiFi)
    • Bluetooth SIG (IEEE 802.15.1)
    • IEEE 802.15.4 (Zigbee, Thread)
    • ITU-T Y.4480 (LoRaWAN)
  • Kommunikation über Internet Protokolle

    • Standardisierung über RFCs (Request for Comments)
    • UDP (RFC 768)
    • TCP (RFC 9293)
    • HTTP (RFC 2616)
    • MQTT (RFC 9431)
    • Websocket (RFC 6455)
  • Freie und offene Software

1.2 Zum Kursablauf

Mein Teil des Kurses dauert zwei Tage (Montag, Dienstag). Ich habe ein grösseres Projekt vorbereitet, bei dem ein LoRaWAN Endgerät gebaut wird das Teil des freien The Things Network (https://www.thethingsnetwork.org, TTN) wird.

Ausserdem noch ein paar Ideen für kleinere Experimente

Das erste Projekt wird die meiste Zeit einnehmen. Es kann gut sein dass wir in den ersten beiden Tagen zu keinen weiteren Projekten kommen. Sie können diese Ideen dann gerne als Anregung verstehen, um an den weiteren Kurstagen oder zu Hause an den IoT-Projekten zu arbeiten.

Im Kurs werden wir abwechseln zwischen Zuhör-Phasen und Selbstmach-Phasen. In den Zuhör-Phasen stelle ich entweder Abschnitte aus den Zuhörthemen vor oder improvisiere einfach.

Ich zeige alle Beispiele unter Linux. Zum Nachmachen haben Sie ein Notebook mit “Mint” Linux auf ihrem Arbeitstisch.

Zusammenfassung der Selbstmach-Phasen beim LoRaWAN Projekt

  • Account auf https://www.thethingsnetwork.org besorgen.

  • Herausfinden wo das nächste Gateway ist. Siehe die Karte. Suchen Sie gerne mal ihre Heimatgegend und prüfen Sie ob es dort im Umkreis von ein paar Kilometer Gateways gibt!

    Das folgende Bild zeigt das RAK7258 Gateway, das ich an der Hochschule Augsburg in meinem Arbeitszimmer stehen habe.

    .

    Falls man kein Gateway in der Nähe hat, vielleicht an ihrer Schule oder zu Hause, muss man selber eines aufstellen. Es gibt z.B. das TheThingsNetwork Indoor Gateway (TTIG).

    Hier sind z.B. die Gateways in Augsburg (Stand 2024)

    In Dillingen sieht es wie folgt aus. Das “bndlg-gw” ist in der Akademie untergebracht (Stand 7-2025):

  • LoRaWAN Gerät selber bauen mit “Heltec WiFi LoRa V3”.

    • Einfache Anwendung mit Taste, Poti und LED. Das Gerät wird jede Minute einen “Funkschuss” (Uplink) abgeben in dem der Zustand der Taste und des Poti kodiert ist. In Gegenrichtung (Downlink) kann man die LED ein- und ausschalten.
    • Gerät in der TTN Konsole konfigurieren
    • Payload kodieren und dekodieren
  • “Integration”

    Dabei geht es um die Frage wie ich mit dem bisher isolierten Gebilde Gerät - Netzwerk-Server kommunizieren kann. Wie kann ich Daten an den Netzwerk-Server schicken, die an das Gerät weitergeleitet werden? Wie kann ich Daten vom Netzwerk-Server empfangen um sie mit eigenen Werkzeugen weiterzuverarbeiten (speichern, auswerten, visualisieren, signalisieren, …).

    • Storage
    • Webhook
    • MQTT
    • Node-Red Dashboard
    • Zeitseriendatenbank
    • Visualisierung mit Grafana
    • Benachrichtigung mit Ntfy
    • TTN Mapper

Das Kursmaterial für das LoRaWAN Projekt ist im Gitlab Repository https://gitlab.com/huberthoegl/iot_workshop. Man holt es auf den eigenen Rechner mit

git clone https://gitlab.com/huberthoegl/iot_workshop

Im Text nenne ich dieses Verzeichnis $WORKSHOP_REPO. Die Schreibweise bezeichnet eine Shell Variable, siehe folgendes Beispiel:

$ WORKSHOP_REPO=/home/hhoegl/iot_workshop
$ cd $WORKSHOP_REPO
$ pwd
/home/hhoegl/iot_workshop