Exercise 1

Drei wesentliche Technologie-Trends, durch die IoT möglich wurde?

  • Günstiger Cloud-Speicher
  • Günstige und kleine Hardware (Mikrocontroller)
  • Verfügbare Connectivity

Exercise 2

IoT Use Cases welche nur mit Verbindung ins Internet möglich sind?

  • Bike Sharing (fixe Standorte, Karte mit Verfügbarkeit) (ja)
  • Earpod Kopfhörer (für Smartphones, zum Telefonieren) (nein)
  • Kaffeemaschine (nein)
  • Seifenspender (für Grossfirmen, mit Lieferantenbenachrichtigung) (ja)

Exercise 3

Wozu werden Daten übertragen? (siehe Übung 2)

Bike Sharing: Verfügbarkeit der Bikes anzeigen, Anzahl Bikes pro Standort Earpod Kopfhörer: Bluetooth Verbindung zum Smartphone, Voice Daten Kaffeemaschine: Kein Datenübertragung ausserhalb des Gerätes Seifenspender: Füllstand der Seife, Bestellung der Seife

Exercise 4

Welches sind Eigenschaften von Mikrocontroller?

  • Klein um einzubauen
  • Brauchen wenig Strom
  • Wenig Ressourcen (RAM, CPU, etc.)

Exercise 5

Wesentliche Fehler im Code? (3 Fehler)

  int buttonPin = 9;
int ledPin = 5;

void setup() {
    // Fehlend: Serial.begin(9600);
    pinMode(buttonPin, INPUT);
    pinMode(ledPin, OUTPUT); // Statt INPUT
    digitalWrite(ledPin, LOW);
}

void loop() {
    int state = digitalRead(buttonPin); // Statt analogRead
    Serial.println(state);
    digitalWrite(ledPin, state);
    delay(100);
}
  

Exercise 6

State Machine zum Code zeichnen.

stateDiagram
    [*] --> READY
    READY --> GRINDING: btn_start | Grinder on
    GRINDING --> HEATING: t - t0 > dt_strength | Grinder off, Heating on
    HEATING --> PUMPING: temp > 90 | Heating off, Pumping on
    PUMPING --> READY: btn_stop || dt_size | Pumping off

Exercise 7

Welche Aussagen zu IoT Plattformen und API Endpunkte sind richtig?

  • Plattform hat mindestens MQTT API Endpunkt (nein)
  • Zeitstempel im Backend erlauben einfachere Devices (ja)
  • HTTP API Endpunkte erlauben of GET um Messwerte zu lesen (ja)
  • Der Pfad eines POST Requests enthält immer die Device ID (nein)

Exercise 8

Welche Sicherheitsstufen für Zugriff auf Webserver mit TLS gibt es?

  • Nichts prüfen: keine Sicherheit
  • Fingerprint prüfen: Kollision möglich (mittlere Sicherheit)
  • Zertifikat prüfen: Kollision unwahrscheinlich (hohe Sicherheit)

Exercise 9

Welche Aussagen zum Internet Protokoll (IP) sind korrekt?

  • Basic Authentication ist sicher weil BASE64 verschlüsselt (nein)
  • HTTP Header eines Requests enthalten Status Code (nein)
  • UDP basiert auf dem IP Protokoll (ja)
  • CoAP ist ein binäres Transportprotokoll welches UDP ersetzt (nein)

Exercise 10

Diagram zu Bluetooth Low Energy

sequenceDiagram

participant A as Pump (Peripheral)
participant B as Device (Central)
participant C as CGM (Peripheral)

B -->> A: connect
B -->> C: connect
B -->> C: 0x2AA7 Notify
C -->> B: 0x0046
B -->> A: 0x2A39 Write
C -->> B: 0x004A

Exercise 11

Was braucht ein Gateway um ein Device via Bluetooth zu steuern?

  • Device Adresse, um das Device zu finden
  • Service UUID, um den Service zu finden und auszuwählen
  • Characteristic UUID, um Daten zu übermitteln

Exercise 12

Welche Aussagen zu MQTT sind richtig?

  • MQTT Broker kann auf mehrere Topics hören (nein)
  • Der Wildcard a/+/c passt auf a/b/c und c/b/c (nein)
  • Client kann Nachricht im Binärformat senden (ja)
  • Ein Client kann vom Broker eine Quality of Service verlangen (ja)

Exercise 13

Welche Varianten erlauben es einer App, LoRa Devices zu steuern?

  • LoRa Backend <- PUB – Glue Code <- POST – App (ja)
  • LoRa Backend <- SUB – Glue Code – POST -> App (nein)
  • LoRa Backend – POST -> Glue Code – SUB -> App (nein)
  • LoRa Backend <- POST – Glue Code – GET -> App (ja)

Exercise 14

Welche Unterschiede bestehen zwischen Selfhosted vs Third-Party Dashboards?

  • Selfhosted: Mehr Aufwand, mehr Kontrolle, Flexibler
  • Third-Party: Weniger Aufwand, weniger Kontrolle, weniger Flexibel

Exercise 15

Was wird bei der regelbasierte Integration integriert?

  • Integriert wird ein Geräte das Daten liefert mit einem zweiten Geräte das Daten anzeigt.
  • Es wird so integriert, dass Daten gelesen werden, ausgewertet werden und nur weitergeleitet werden, wenn bestimmte Bedingungen erfüllt sind.

Exercise 16

Welche Aussagen zu Spracherkennung sind korrekt?

  • Spracherkennung erfolg mit Machine Learning auf dem Geräte (nein)
  • Aus Äusserung (Utterance) wird Absicht (Intent) erkannt (ja)
  • Skills werden mit einem bestimmten Namen gestartet (ja)
  • Slot dient als Platzhalter für Wake Word (nein)

Exercise 17

Vorteile von Edge Computing hinsichtlich Verfügbarkeit und Reaktionzeit?

  • Lokale Verfügbarkeit: auch wenn Zug keine Verbindung hat (z.B. Tunnel)
  • Schnelle Reaktion: zur Anzeige alternativer Ausgänge oder zur Anzeige von Fehlermeldungen