IoT & Embedded Systems

KAPITEL 12 · SPEZIALTHEMEN

IoT & Embedded Systems

Das Internet der Things (IoT) vernetzt Milliarden von Geräten weltweit. Von Smart Home über Industrie 4.0 bis zu Wearables – Embedded Systems sind das Herzstück dieser vernetzten Welt.

Embedded Systems MQTT & CoAP Smart Home Industrie 4.0 LoRaWAN

Inhaltsverzeichnis

Schnellübersicht

Auf dieser Seite lernst du alles über IoT und Embedded Systems:

  • Definition: Was ist IoT und was sind Embedded Systems?
  • IoT in Zahlen: Aktuelle Statistiken und Prognosen
  • IoT-Architektur: Vom Sensor bis zur Cloud (5 Schichten)
  • Kommunikationsprotokolle: MQTT, CoAP, HTTP, LoRaWAN, Zigbee, BLE
  • Anwendungsgebiete: Smart Home, Industrie, Healthcare, Agriculture, Smart City
  • Embedded Hardware: Microcontroller, SBCs, RTOS, FPGA
  • Code-Beispiele: Arduino, Raspberry Pi, MQTT
  • Best Practices: Sicherheit, Power Management, OTA Updates
  • FAQ: Häufige Fragen zu IoT

1. Was ist IoT?

Definition

Das Internet of Things (IoT) bezeichnet ein Netzwerk physischer Objekte ("Things"), die mit Sensoren, Software und anderen Technologien ausgestattet sind, um sich über das Internet mit anderen Geräten und Systemen zu vernetzen und Daten auszutauschen.

Embedded Systems sind spezialisierte Computersysteme, die in größere Geräte oder Systeme integriert sind. Sie führen spezifische Aufgaben aus und sind oft auf Echtzeitfähigkeit, Zuverlässigkeit und Energieeffizienz optimiert.

Zusammenhang: Nicht alle Embedded Systems sind IoT-Geräte, aber alle IoT-Geräte enthalten Embedded Systems. IoT = Embedded Systems + Internet-Konnektivität + Datenanalyse.

IoT in Zahlen (2024/2025)

15+ Mrd.
Verbundene IoT-Geräte weltweit
~40 Mrd.
Prognostizierte Geräte bis 2025
~80 ZB
IoT-Daten pro Jahr (Zettabyte)
70%
Unternehmen nutzen IoT
#1
Consumer-Markt: Smart Home
#1
Enterprise-Markt: Industrie 4.0

2. IoT-Architektur – Vom Sensor zur Anwendung

Eine typische IoT-Architektur besteht aus mehreren Schichten, die zusammenarbeiten, um Daten zu erfassen, zu übertragen, zu verarbeiten und darzustellen:

Die 5 Schichten der IoT-Architektur

1. Perception Layer (Wahrnehmung)

Sensoren, Aktoren, RFID-Tags – Erfassung physikalischer Daten (Temperatur, Bewegung, Licht, Druck, Feuchtigkeit)

2. Gateway Layer (Vermittlung)

Gateways aggregieren Daten, übersetzen Protokolle und leiten sie weiter (Edge Computing, lokale Vorverarbeitung)

3. Network Layer (Netzwerk)

Kommunikationsinfrastruktur: WiFi, Bluetooth, LoRaWAN, 5G, Zigbee, MQTT-Broker, Mobilfunk

4. Cloud/Platform Layer (Plattform)

Datenverarbeitung, Speicherung, Analyse, Machine Learning (AWS IoT, Azure IoT, Google Cloud IoT)

5. Application Layer (Anwendung)

Benutzeroberflächen, Dashboards, APIs, mobile Apps für Endnutzer und Business-Intelligence

Edge Computing im IoT

Immer mehr Daten werden bereits am "Rand" des Netzwerks (Edge) verarbeitet, statt alles in die Cloud zu senden. Vorteile:

  • Geringere Latenz: Echtzeit-Entscheidungen möglich
  • Weniger Bandbreite: Nur relevante Daten werden übertragen
  • Bessere Privatsphäre: Daten verlassen lokales Netz nicht
  • Offline-Fähigkeit: Funktioniert auch bei Internet-Ausfall

3. IoT-Kommunikationsprotokolle

IoT-Geräte verwenden spezielle Protokolle, die auf geringen Energieverbrauch, Bandbreite und Latenz optimiert sind:

MQTT

Message Queuing Telemetry Transport

Das meistgenutzte IoT-Protokoll. Publish/Subscribe-Modell, extrem leichtgewichtig.

  • Publish/Subscribe-Modell
  • TCP-basiert (Port 1883/8883)
  • QoS Level 0, 1, 2
  • Ideal für unzuverlässige Netzwerke
  • 2-Byte Header (minimal)

CoAP

Constrained Application Protocol

HTTP-ähnlich, aber für ressourcenbeschränkte Geräte. UDP-basiert, sehr effizient.

  • Request/Response-Modell (wie HTTP)
  • UDP-basiert (Port 5683)
  • Sehr geringer Overhead
  • Ideal für batteriebetriebene Geräte
  • Observing Resources

HTTP/HTTPS

Hypertext Transfer Protocol

Das Web-Protokoll. Einfach zu implementieren, aber nicht optimal für IoT (hoher Overhead).

  • Request/Response-Modell
  • TCP-basiert (Port 80/443)
  • RESTful APIs
  • Höherer Energieverbrauch
  • ~800 Byte Header

LoRaWAN

Long Range Wide Area Network

LPWAN-Technologie für lange Reichweiten (bis 15 km) bei geringem Energieverbrauch.

  • Reichweite: bis 15 km (ländlich)
  • Sehr niedrige Datenrate (0.3-50 kbps)
  • Batterie: bis 10 Jahre
  • Ideal für Smart City, Agriculture
  • Unlizenzierter Frequenzbereich

Zigbee

Mesh Network Protocol

Mesh-Netzwerk-Protokoll für Smart Home. Selbstorganisierende Netzwerke mit hoher Reichweite.

  • Mesh-Topologie (65.000 Knoten)
  • 2.4 GHz (global)
  • Datenrate: 250 kbps
  • Reichweite: 10-100 m
  • Standard in Smart Home

BLE

Bluetooth Low Energy

Energieeffiziente Variante von Bluetooth. Ideal für Wearables und kurze Distanzen.

  • 2.4 GHz Frequenz
  • Reichweite: bis 100 m
  • Extrem niedriger Stromverbrauch
  • Ideal für Wearables, Beacons
  • Datenrate: 1-2 Mbps

Protokoll-Vergleich

Eigenschaft MQTT CoAP HTTP LoRaWAN Zigbee BLE
Modell Pub/Sub Req/Res Req/Res Star Mesh Master/Slave
Transport TCP UDP TCP LoRa PHY IEEE 802.15.4 Bluetooth
Header-Größe 2 Bytes 4 Bytes ~800 Bytes 13-243 B ~20 Bytes ~10 Bytes
Energieverbrauch Niedrig Sehr niedrig Hoch Extrem niedrig Niedrig Sehr niedrig
Reichweite LAN/WAN LAN Internet Bis 15 km 10-100 m Bis 100 m
Typischer Einsatz Smart Home, Industrie M2M, Sensoren Web-APIs Smart City Smart Home Wearables

4. IoT-Anwendungsgebiete

IoT wird in nahezu allen Branchen eingesetzt. Hier die wichtigsten Anwendungsbereiche mit konkreten Beispielen:

Smart Home

Intelligentes Wohnen

Automatisierung und Fernsteuerung von Haushaltsgeräten, Beleuchtung, Heizung und Sicherheit. Der größte Consumer-Markt für IoT.

Beispiele:
  • Intelligente Thermostate (Nest, Tado)
  • Smart Lighting (Philips Hue, LIFX)
  • Sprachassistenten (Alexa, Google Home)
  • Überwachungskameras (Ring, Arlo)
  • Smart Locks (August, Yale)
  • Smarte Steckdosen und Schalter

Industrie 4.0

Smart Manufacturing

Vernetzung von Maschinen, Predictive Maintenance, Echtzeit-Überwachung der Produktion. Größter Enterprise-Markt.

Beispiele:
  • Digitale Zwillinge (Digital Twins)
  • Predictive Maintenance
  • Automatisierte Qualitätskontrolle
  • Supply Chain Tracking
  • Robotik & AGVs (Automated Guided Vehicles)
  • SCADA-Systeme

Healthcare

Connected Health

Fernüberwachung von Patienten, Wearables, Telemedizin, intelligente Implantate. Revolutioniert das Gesundheitswesen.

Beispiele:
  • Herzschrittmacher mit IoT
  • Fitness-Tracker (Fitbit, Apple Watch)
  • Blutzuckermessung (CGM)
  • Remote Patient Monitoring
  • Smart Pills (intelligente Pillen)
  • Telemedizin-Plattformen

Smart Agriculture

Präzisionslandwirtschaft

Überwachung von Boden, Wetter und Pflanzen. Optimierung von Bewässerung und Düngung für höhere Erträge.

Beispiele:
  • Bodenfeuchtigkeitssensoren
  • Automatische Bewässerung
  • Drohnen für Feldüberwachung
  • Vieh-Tracking (GPS-Halsbänder)
  • Klima-Steuerung in Gewächshäusern
  • Ertragsprognose mit KI

Smart City

Intelligente Städte

Optimierung städtischer Infrastruktur: Verkehr, Energie, Abfall, Sicherheit. Verbessert Lebensqualität und Effizienz.

Beispiele:
  • Intelligente Straßenlaternen
  • Parkplatz-Sensoren
  • Luftqualitäts-Monitoring
  • Smart Grid (Energie)
  • Abfall-Management
  • Verkehrsleitsysteme

Smart Logistics

Intelligente Logistik

Tracking von Waren, Flottenmanagement, Lagerautomatisierung, Lieferketten-Optimierung in Echtzeit.

Beispiele:
  • GPS-Tracker für Container
  • Kühlketten-Überwachung
  • Automatisierte Lager (Amazon)
  • Flottenmanagement
  • RFID-Inventory
  • Letzte-Meile-Optimierung

5. Embedded Systems – Die Hardware

Embedded Systems sind spezialisierte Computersysteme, die in größere Geräte integriert sind. Hier die wichtigsten Kategorien:

Microcontroller (MCU)

Kompakte Ein-Chip-Systeme mit CPU, RAM, Flash und Peripherie. Ideal für einfache IoT-Geräte und batteriebetriebene Anwendungen.

Beispiele: Arduino (ATmega328P) ESP32, ESP8266 STM32, nRF52 PIC, AVR RAM: 2-512 KB Flash: 16 KB - 2 MB Preis: 1-10 € Strom: µA - mA

Single Board Computer (SBC)

Vollständige Computer auf einer Platine. Laufen Linux, ideal für komplexe IoT-Anwendungen mit Netzwerk und UI.

Beispiele: Raspberry Pi (1-5) BeagleBone, Odroid NVIDIA Jetson (KI) Orange Pi RAM: 1-8 GB CPU: ARM Cortex-A Preis: 35-100 € Strom: 2-10 W

Real-Time Operating System (RTOS)

Betriebssysteme mit garantierten Reaktionszeiten. Essenziell für sicherheitskritische Systeme und deterministisches Verhalten.

Beispiele: FreeRTOS, Zephyr RT-Thread, Mbed OS VxWorks, QNX TI-RTOS Features: Deterministisch Minimal (KB-Größe) Echtzeit-fähig

FPGA (Field Programmable Gate Array)

Programmierbare Hardware für spezifische Aufgaben. Höchste Performance für Signalverarbeitung und KI-Beschleunigung.

Beispiele: Xilinx, Intel/Altera Lattice, Gowin Microchip (Microsemi) Einsatz: Signalverarbeitung KI-Beschleunigung Prototyping Preis: 50-1000+ €

Arduino vs. Raspberry Pi – Wann was?

Eigenschaft Arduino (MCU) Raspberry Pi (SBC)
Aufgabe Einfache, Echtzeit-Aufgaben Komplexe Anwendungen (Webserver, KI)
Betriebssystem Keins (Bare Metal / RTOS) Linux (Raspbian, Ubuntu)
Energieverbrauch Sehr niedrig (µA - mA) Höher (2-10 W)
Programmierung C/C++ (Arduino IDE) Python, Node.js, C++
Hardware-Ansteuerung Direkt (GPIO, ADC, PWM) Über GPIO (langsamer)
Netzwerk Optional (WiFi-Shield) Integriert (Ethernet, WiFi)
Preis 5-30 € 35-100 €
Boot-Zeit Mikrosekunden 10-60 Sekunden
Typischer Einsatz Sensoren, Aktoren, Wearables Media-Center, Server, KI

6. Praxisnahe Code-Beispiele

Typische IoT-Projekte mit vollständigen Code-Beispielen für Arduino und Raspberry Pi:

Arduino: Temperatursensor mit MQTT

ARDUINO // ESP32 mit DHT22 Sensor und MQTT #include <WiFi.h> #include <PubSubClient.h> #include <DHT.h> // WiFi und MQTT Konfiguration const char* ssid = "MeinWiFi"; const char* password = "MeinPasswort"; const char* mqtt_server = "broker.hivemq.com"; // DHT Sensor Setup #define DHTPIN 4 #define DHTTYPE DHT22 DHT dht(DHTPIN, DHTTYPE); WiFiClient espClient; PubSubClient client(espClient); void setup() { Serial.begin(115200); dht.begin(); // WiFi verbinden WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(1000); } // MQTT verbinden client.setServer(mqtt_server, 1883); } void loop() { if (!client.connected()) { client.connect("esp32_client"); } // Temperatur und Feuchtigkeit lesen float temp = dht.readTemperature(); float humidity = dht.readHumidity(); // Als JSON publishen String payload = "{"temperature":" + String(temp) + "","humidity":" + String(humidity) + "}"; client.publish("home/livingroom/sensor", payload.c_str()); delay(60000); // Alle 60 Sekunden }

Python: MQTT Subscriber auf Raspberry Pi

PYTHON #!/usr/bin/env python3 # MQTT Subscriber für IoT-Sensoren import paho.mqtt.client as mqtt import json from datetime import datetime def on_connect(client, userdata, flags, rc): print(f"Connected with result code {rc}") # Alle Sensor-Topics abonnieren client.subscribe("home/+/sensor") def on_message(client, userdata, msg): try: # JSON Payload parsen payload = json.loads(msg.payload.decode()) timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S") print(f"[{timestamp}] Topic: {msg.topic}") print(f" Temperatur: {payload.get('temperature')}°C") print(f" Feuchtigkeit: {payload.get('humidity')}%") # Alert bei hoher Temperatur if payload.get('temperature', 0) > 30: print(" ⚠️ WARNUNG: Hohe Temperatur!") except Exception as e: print(f"Error: {e}") # MQTT Client erstellen client = mqtt.Client() client.on_connect = on_connect client.on_message = on_message # Verbinden und starten client.connect("broker.hivemq.com", 1883, 60) client.loop_forever()

7. Best Practices für IoT-Projekte

Sicherheit

  • TLS/SSL für alle Kommunikation
  • Starke Authentifizierung (X.509 Zertifikate)
  • Regelmäßige Firmware-Updates
  • Netzwerksegmentierung (VLANs)
  • Keine Default-Passwörter
  • Device Identity Management

Power Management

  • Sleep-Modi nutzen (Deep Sleep)
  • Ereignisbasierte Übertragung
  • Energieeffiziente Protokolle (CoAP, LoRaWAN)
  • Solar/Batterie-Optimierung
  • Low-Power Hardware wählen
  • Power Profiling durchführen

Protokoll-Wahl

  • MQTT für zuverlässige Verbindungen
  • CoAP für ressourcenbeschränkte Geräte
  • LoRaWAN für lange Reichweiten
  • QoS-Level passend wählen
  • Payload-Kompression nutzen
  • Protokoll-Gateways für Übersetzung

Testing

  • Unit-Tests für Firmware
  • Integrationstests für gesamte Pipeline
  • Lasttests mit tausenden Geräten
  • Security Penetration Testing
  • Feldtests unter realen Bedingungen
  • Hardware-in-the-Loop Testing

OTA Updates

  • Over-The-Air Firmware Updates
  • Signierte Updates (Integrität)
  • Rollback-Mechanismus bei Fehlern
  • A/B-Partitionen für sicheres Update
  • Staged Rollouts (10% → 50% → 100%)
  • Delta-Updates für Bandbreitenersparnis

Monitoring

  • Device Health Monitoring
  • Connectivity-Status tracken
  • Batterie-Level überwachen
  • Alerts bei Anomalien
  • Dashboard für Fleet Management
  • Telemetrie-Daten sammeln

8. FAQ – Häufige Fragen

Häufige Fragen zu IoT & Embedded Systems

Was ist der Unterschied zwischen IoT und Embedded Systems?

Embedded Systems sind spezialisierte Computersysteme, die in größere Geräte integriert sind (z.B. der Controller in einer Waschmaschine). Sie können standalone arbeiten.

IoT (Internet of Things) bezieht sich auf Embedded Systems, die mit dem Internet verbunden sind und Daten austauschen. Nicht alle Embedded Systems sind IoT-Geräte, aber alle IoT-Geräte enthalten Embedded Systems.

Welche Programmiersprache für IoT?

Empfehlungen nach Plattform:

  • Arduino/Microcontroller: C/C++ (Arduino IDE)
  • ESP32/ESP8266: C++ (Arduino) oder MicroPython
  • Raspberry Pi: Python, Node.js, C++
  • Cloud/Backend: Python, Node.js, Go
  • Web-Frontend: JavaScript, TypeScript

Beste Kombination: C++ für Firmware + Python für Cloud/Backend + JavaScript für Web-Frontend.

Wie sicher sind IoT-Geräte?

Leider oft nicht sicher genug! Viele IoT-Geräte haben:

  • Hardcodierte Passwörter
  • Keine verschlüsselte Kommunikation
  • Seltene oder keine Updates
  • Schwache Authentifizierung
  • Unsichere Cloud-Anbindungen

Best Practices: TLS/SSL, starke Authentifizierung, regelmäßige Updates, Netzwerksegmentierung, Vendor-Support prüfen, IoT-spezifische Firewalls einsetzen.

Was ist Edge Computing im IoT-Kontext?

Edge Computing bedeutet Datenverarbeitung am "Rand" des Netzwerks (nahe den Geräten), statt alles in die Cloud zu senden.

Vorteile:

  • Geringere Latenz (Echtzeit-Entscheidungen)
  • Weniger Bandbreitenverbrauch
  • Bessere Privatsphäre (Daten verlassen lokales Netz nicht)
  • Funktioniert auch bei Internet-Ausfall
  • Reduzierte Cloud-Kosten
Arduino vs. Raspberry Pi – wann was?

Arduino (Microcontroller):

  • Einfache, Echtzeit-Aufgaben
  • Sehr niedriger Energieverbrauch
  • Direkte Hardware-Ansteuerung
  • Kein Betriebssystem nötig
  • Preis: 5-30 €

Raspberry Pi (SBC):

  • Komplexe Anwendungen (Webserver, KI)
  • Linux-Betriebssystem
  • Netzwerk-Connectivity integriert
  • Höherer Energieverbrauch
  • Preis: 35-100 €
Was ist ein Digital Twin?

Ein Digital Twin (digitaler Zwilling) ist eine virtuelle Repräsentation eines physischen Objekts oder Systems, die in Echtzeit mit ihrem Gegenstück synchronisiert wird.

Einsatzgebiete:

  • Predictive Maintenance in der Industrie
  • Simulation und Optimierung
  • Remote-Monitoring
  • Training und Testing
  • Smart Cities und Gebäude
Was ist MQTT und warum ist es so beliebt?

MQTT (Message Queuing Telemetry Transport) ist ein leichtgewichtiges Publish/Subscribe-Nachrichtenprotokoll, speziell für IoT entwickelt.

Warum so beliebt:

  • Minimaler Overhead (2-Byte Header)
  • Funktioniert auch bei schlechter Verbindung
  • Drei QoS-Level (0, 1, 2)
  • Einfach zu implementieren
  • Viele Broker verfügbar (Mosquitto, HiveMQ, AWS IoT)
  • Open Standard (OASIS)
Wie starte ich mein erstes IoT-Projekt?

Empfohlener Einstieg:

  1. Hardware wählen: ESP32 (günstig, WiFi integriert) oder Arduino Uno
  2. Sensor starten: Temperatur (DHT22), Bewegung (PIR), Licht (LDR)
  3. Arduino IDE installieren: Kostenlose Entwicklungsumgebung
  4. Erstes Projekt: Sensor-Daten auf Serial Monitor ausgeben
  5. MQTT hinzufügen: Daten an Broker senden
  6. Dashboard bauen: Node-RED oder Grafana für Visualisierung
  7. Cloud anbinden: AWS IoT, Azure IoT oder ThingsBoard

Tipp: Beginne klein, lerne iterativ. Plattformen wie Hackster.io und Instructables bieten viele Projektideen.

Zusammenfassung

Die wichtigsten Punkte

  • IoT: Netzwerk vernetzter physischer Geräte, die Daten austauschen
  • Embedded Systems: Spezialisierte Computersysteme in größeren Geräten
  • IoT-Architektur: 5 Schichten (Perception, Gateway, Network, Cloud, Application)
  • Protokolle: MQTT (Pub/Sub), CoAP (HTTP-ähnlich), LoRaWAN (LPWAN), Zigbee (Mesh), BLE
  • Anwendungsgebiete: Smart Home, Industrie 4.0, Healthcare, Agriculture, Smart City, Logistics
  • Hardware: MCU (Arduino, ESP32), SBC (Raspberry Pi), RTOS, FPGA
  • Edge Computing: Datenverarbeitung nahe der Quelle für geringere Latenz
  • Sicherheit: TLS/SSL, starke Authentifizierung, regelmäßige Updates
  • Best Practices: Power Management, OTA Updates, Monitoring, Testing
  • Einstieg: ESP32 + DHT22 + MQTT + Node-RED ist ein perfektes Starterprojekt

Weiterführende Themen

Edge Computing

Datenverarbeitung am Rand des Netzwerks für geringere Latenz und bessere Privatsphäre.

Zu Edge Computing
KI & Machine Learning

Künstliche Intelligenz und maschinelles Lernen für IoT-Datenanalyse und Automatisierung.

Zu KI & ML
Cloud Computing

IoT-Plattformen wie AWS IoT, Azure IoT und Google Cloud IoT für skalierbare Lösungen.

Zur Cloud-Infrastruktur
IT-Sicherheit

Sicherheit für IoT-Geräte, Netzwerke und Cloud-Anbindungen im Detail.

Zur IT-Sicherheit