IoT Workshop 2025
1 IoT Workshop
Stand: 2025-06-30
+++ NOCH IM ENTSTEHEN +++ NOCH IM ENTSTEHEN +++ NOCH IM ENTSTEHEN +++
Ü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 immmer noch Elektronikbasteln
- Überzeugter Anwender von freier und offener Software
1.1 Behandelte Themen
Was ist das “Internet of Things” (IoT)?
Entnommen aus [1] 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
Alle grossen Cloud-Anbieter buhlen um IoT Daten (Google, Amazon, …), leider wenig Kontrolle über die Daten, und auch teuer!
Man kann auch freie Software selber hosten und damit eine souveräne IoT Cloud aufbauen
Thingsboard https://thingsboard.io
Mainflux https://mainflux.com
Snapemu https://snapemu.com
Alle drei sind Open Source Software.
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.
Plot-Frameworks in Python wie Matplotlib, Bokeh oder Plotly/Dash.
Grafana https://grafana.com
Node-RED https://nodered.org
Ntfy https://ntfy.sh
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!
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?
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 Protokolle
- UDP
- TCP
- HTTP
- MQTT
- Websocket
Freie und offene Software
[1] Eclipse IoT White Paper: The Three Software Stacks Required for IoT Architectures
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. Die ALP Dillingen hat ein Gateway, sie müssen dort als nichs unternehmen.
Falls man kein Gateway in der Nähe hat, z.B. 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)
LoRaWAN Gerät selber bauen mit “Heltec WiFi LoRa V3”.
- Einfache Anwendung mit Taste, Poti und LED.
- Gerät in der TTN Konsole konfigurieren
- Uplink
- Downlink
- 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
- TTN Mapper
- Zeitseriendatenbank
- Visualisierung mit Grafana
- Benachrichtigung mit Ntfy.
Das Kursmaterial für das LoRaWAN Projekt ist im Gitlab Repository https://gitlab.com/huberthoegl/ttn_workshop. Man holt es auf den eigenen Rechner mit
git clone https://gitlab.com/huberthoegl/ttn_workshop
Sollte es nachträglich Fragen zu dem Workshop geben dann schreiben Sie mir gerne eine Email an Hubert.Hoegl@tha.de
.