Internet of Things (IoT) praxisorientiert

Hier finden Sie die Lehr-Lernmaterial (Texte, Folien, Videos) für die Lehrveranstaltung MWI103 Internet of Things. Anlaufstelle für Studierende der Hochschule Niederrhein ist das Modul in der Lernplattform Moodle.

Das Titelbild zeigt den Prototypen eines Vibrationssensors in einer Mittelwand, die Bienen zu Waben ausbauen. Damit sollen Bienenstöcke überwacht werden, ggf. gelingt es, damit Schwärme vorherzusagen. 

10.12.2023

Vorbemerkung

Dieses Modul ist anders. Die Studierenden lernen nicht, was der Dozent lehrt, sondern sie lernen durch tun. Für Internet of Things gibt es kein (ab-)geschlossenes Theoriegebäude. Internet of Things ist vielmehr eine Sammlung von konzeptionellen Konstrukten und Best Practtices aus Bereichen wie Datenkommunikation (M2M), Elektrotechnik und Elektronik, Antennenbau (i.w. Erfahrungswissen), Client-Server, Cloud- Fog- und Edge-Computing, und einen ganzeMenge Physik.

Kernpunkt ist daher die Einbindung des Digilab des Fachbereich Wirtschaftswissenschaften der Hochschule Niederrhein.

Studierende erarbeiten sich Internet of Things in (geplant) 14 Missionen. Ideensteinbrüche sind die Schüler- und Lehrerworkshops des Fachbereichs und die Erkenntnisse aus zwei Bienen-Digitalisierungsprojekten Biene40 und AI4Bee.

Die Folgenden Missionen sind ein Plan. Voraussichtlich wird sich der Plan während des Semesters ändern. Insbesondere die Reihenfolge der Missionen ist wenig fix.

1 Mission (Was ist IoT, Aktoren I)

18.10.2023

Theorie: Was ist IoT

Blog Artikel

Was ist IoT (Internet of Things)?

Vortragsfolien

IoT – was ist das?

Praxis: Aktor-Experimente

Die Arduino IDE kennen lernen mit dem Arduino (Atmega328 P)
Blinky (eine Leuchtdiode zum Blinken bringen)
eine Ampel (drei Leuchtdioden so ansteuern, dass sie als Ampel funktionieren)
große Lasten schalten (FET, Nur Vorführung)

2 Mission (Devices für IoT, Grundlagen Datenkommunikation)

25.10.2023

Theorie

Microcontroller
Sensoren: Wetter (Temp, Druck, Feuchte) Beschleunigung und Magnetfeld, Hall(Strom), Vibration und Sound, Kameras, Ultraschall, (https://tutorials-raspberrypi.de/raspberry-pi-sensoren-uebersicht-die-50-wichtigsten-module/ eine eigene Seite/Kurzfassung wird noch aufgebaut) Lichtschranke.
Aktoren: Motoren, Linearerer, Stellglieder (Modellbau) Lampen und Neopixel, Ventile, Relais,

Blog-Artikel

cbrell.de/…/konzept-des-hohlen-baumstamms-was-iot-und-drogendealer-gemein-haben

ATMEGA168 mit der Arduino IDE programmieren

Bodenfeuchtesensor webbasiert mit dem ESP8266 

Topologie

Shelly Vergleichstest Plug S, 1PM und Plus 1PM

Vortragsfolien

Microcontroller im Vergleich

Datenkommunikation Grundlagen

Praxis:

Anleitung und Erläuterung Internet-Ampel

Umbau der Arduino-Ampel auf den ESP8266

Nutzung der Ampel als internetgesteuertes Stimmungsbarometer:

Holen Sie einen Farbcode vom Internetserver und steuern Sie damit die LED

Stichworte: Webservice, Webclient, http, WLAN

Boardverwalter:
https://arduino.esp8266.com/stable/package_esp8266com_index.json

Pinbelegung
ESP8266 D1 Mini
Pinbelegung
            Antenne
          RST | TX 
           A0 | RX 
    GPIO16 D0 | D1 GPIO5 
    GPIO14 D5 | D2 GPIO4
    GPIO12 D6 | D3 GPIO0 
    GPIO13 D7 | D4 GPIO2 
    GPIO15 D8 | GND
          3V3 | 5V
        (RESET) UBatt
Tipps & Hinweise:
// WLAN Verbindung
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
HTTPClient http;
WiFiClient wifiClient;

void verbinden() {
const char* ssid = „xxxxxxx“;//Setze SSID als Variable ein
const char* password = „xxxxxxxxx“;//Setze Passwort als Variable ein

WiFi.begin(ssid, password);//Verbinde mit WLAN
Serial.print(„Verbinden mit: „);
Serial.println(ssid);
WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {//Solange nicht verbunden schreibe Punkt, sonst WiFi verbunden
delay(500);
Serial.print(„.“);
blinky(1,128,128);
}
Serial.println(„“);
Serial.println(„WiFi verbunden“);
blinky(1,1000,1000);
Serial.print(WiFi.localIP());//Gib einmalig die IP-Adresse aus
}

3 Mission (Aktoren webbasiert ansteuern)

08.11.2023 (Feiertag 01.11.2023)

Schwerpunkt: Fertigstellung des Internet-Stimmungsbarometers

Ergänzung: Wir bauen unvorhersagbare Systeme und denken über Mountainbiker und Viehwirtschaft nach.

Vortragsfolien

nicht erforderlich, im Bedarfsfall Tafelbilder.

Praxis Teil 1: Stimmungsbarometer

Schließen Sie die 2. Mission mit dem Internet Stimmungsbarometer ab. Verwenden Sie Verzeichnis /3/ (wg. Störung Teil 2).

 

Praxis Teil 2: Deterministisches Chaos

Bauen Sie Ihren ESP zur Chaos-Maschine aus. Entscheiden Sie sich für  eins von zwei Szenarien:
Szenario 1: liest aus Verzeichnis /1/a.txt und schreibt in Verzeichnis /2/a.txt, zwei Sekunden warten
Szenario 2: liest aus Verzeichnis /2/a.txt und schreibt in Verzeichnis /1/a.txt, drei Sekunden warten
Verhalten des Programms:
1. Liest Farbe aus a.txt, schaltet LED an, und schreibt dann Farbe in a.txt im anderen Verzeichnis nach folgenden Regeln:
Wenn ist     dann setze
rot          gelb
grün         rot
gelb         grün
nichts davon rot

Zwei/Drei Sekunden warten, dann von vorn.

Versuchen Sie zu beschreiben, was passiert ...

Sonderaufgabe "Störer-Team": Ihr ESP macht nichts, setzt aber alle 10 Sekunden a.txt in beiden Verzeichnissen auf "rot".

Praxis Teil 3: Vorbereitung einfache Sensoren

Bauen Sie Ihren ESP zum "Fernkontakt" aus. 
a) Recherchieren und Ausprobieren:
I. Recherchieren Sie, wie man einen GPIO als digitalen Eingang nutzt. Wir simulieren einen Schalter gegen Masse einfach durch ein Jumperkabel, mit dem wir den GPIO gegen GND kurzschließen.
II. Finden Sie heraus, ob Sie für den ESP einen Pull-Up-Widerstand benötigen.
III: Programmieren: Fragen Sie die GPIO zweimal pro Sekunde ab und geben Sie den Status (on/off 1/0 was immer Sie wollen) auf der seriellen Schnittstelle aus.
IV: Programmieren: Steuern Sie mit dem Jumperkabel die Farbwahl über den Webservice (on=rot, off= grün)
b) Konzept:
Szenario: Für Mountainbiker gibts in den Alpen flexible "Schranken", die Sie durch gegenfahren öffnen. Weidevieh geht durch diese Schranken nicht durch.
Fragestellung: Was wäre zu tun, um diese Schranke mit einem Durchgangszähler auszustatten? (Der Alpenverein könnte wissen wollen, wie oft die Schranke benutzt wird und an welchen Wochentagen die Nutzung häufig ist ...)

Elektrische Weidetore:

https://www.patura.com/App/WebObjects/XSeMIPSPatura.woa/cms/page/locale.deCH/pid.102.104.954/agid.218.284.287/ecm.ag/Elektrisches-Durchfahrtstor.html

https://www.weidezaun.info/voss-farming-elektro-viehschranke-3-60-m-set.html?utm_source=google&utm_medium=shopping&utm_campaign=pla+free+shopping+DE&gclid=CjwKCAiA3aeqBhBzEiwAxFiOBnVieSCgqhVVAcWwQG7M1RwEZDLa2Mikh9ld6mDci2tNvKYNmsAPSxoCnpEQAvD_BwE

… oder googeln (Bildersuche) nach  „weide durchfahrt flexibel“

4 Mission (Messen mit analogen und digitalen Sensoren)

15.11.2023

Theorie Unterlagen

Was ist eigentlich Temperatur und wie misst man sie?

Aus dem (meinem) Labortagebuch: Ideenentwicklung und Berechnungen eines Temperatur-Licht Kombisensors231029-Labortagebuch-Entwicklung-Kombisensor-Temperatur-Licht.jpg

Foliensatz Temperatur und Licht

Abb.: Zusammenhand der Wärmeentwicklung iim Bienenstock und der Sonneneinstrahlung. Was nicht durch Reflektion und Abstrahlung sowie Konvektion entzogen wird, gelangt durch Wärmeleitung in den Bienenstock.

Vier Hinweise zur Dokumentation der Praxisversuche:

  • Bitte versehen Sie Ihre Quelltexte mit einer Kommentierungszeilen „//. …….“, so dass sich Menschen, die das nacharbeiten wollen, in Ihrem Quelltext zurechtfinden.
  • Beschreiben Sie auch die Anwendungsdomäne: Was soll bei dem Versuch herauskommen bzw,. was soll der Versuch zeigen, und was können Sie beobachten, wenn das Ganze fertig ist.
  • Die Schriftform wird mit beurteilt: angemessene Sprache, Rechtschreibfehler, Grammatikfehler, Strukturierung, Formale Aspekte wie Benennung von Abbildungen, Bezüge zu den Quelllen …)

Geben Sie Ihrem Dokument einen Kopfteil mit Autor, Titel und Erstellungsdatum. Alternativ ist auch ein Deckblatt möglich.

 

Praxis Teil 1: Temperatursensor mit dem DS18B20

Aufgabenstellung:
Mittels DS18B20 und ESP8266 soll die Temperatur gemessen und an den Internet-Webservice gesendet werden. Mit Ihrer Ampel (Befindlichkeitslogger) zeigen Sie an, ob die Temperatur gleich bleibt (gelb), steigt (rot) oder fällt (grün).

Hinweise:
1. Bauen Sie die Beschaltung des DS18B20 kompakt auf, es kommt noch ein Helligkeitssensor hinzu.
2. Verwenden Sie Schutzwiderstände 100Ohm, der DS18B20 ist gegen Verpolung empfindlich. (+) und Data (mittlerer Pin) nur über 100 Ohm. Zwischen (+) und Data benötigt der DS18B20 einen Pull-Up-Widerstand von 4,7kOhm.
3. trauen Sie nicht dem ersten Tutorial, dass Sie finden
4. Erkennung, ob die Temperatur steigt:
wenn (aktuelle Temperatur - letzte Temperatur) > 0,5°C, dann ...
5. Arbeiten Sie datensparsam und verwenden Sie Integer für die Temperaturen. Welche Genauigkeit benötigen Sie?
6. Erinnern Sie sich: Die Daten, die Sie übertragen, werden auch mit Zeitstempel gelogt ...
7. Seien Sie nicht mit dem erstbesten Turorial zufrieden, sondern schauen Sie sich mehrere an.

Praxis Teil 2 (Vorbereitung 5. Mission): Helligkeitssensor

Aufgabenstellung:
Verwenden Sie zusätzlich zum Temperatursensor noch einen Helligkeitssensor. Den bauen Sie aus einem LDR (lichtempfindlicher Widerstand) und einem Festwiderstand auf (Spannungsteiler).
Sie benötigen den analogen Eingang des ESP8266. Geben Sie den Wert auf der seriellen Konsole aus, bestimmen Sie den Wert für die größte Helligkeit (entspricht 100%) und den Wert dafür, wenn Sie mit der Hand den Sensor beschatten (entspricht 0%).
Übertragen Sie die Daten auch an den Webservice zusammen mit den Temperaturdaten:
Datenschnittstelle: Temperatur;Helligkeit
Überlegen Sie, ob es eine Möglichkeit gibt, alles mit der Ampel zu visualisieren.
Lassen Sie Ihrer Fantasie freien Lauf und denken Sie sich mal eine völlig innovative Anzeige aus, die Sie am liebsten realisieren möchten ( die Ideen dürfen gern unrealistisch sein).

 

5 Mission (Vom Laboraufbau zum funktionalen Prototypen – Löten)

22.11.2023

Vier weitere Hinweise zur Dokumentation der Praxisversuche (sollte seit dem 2. Semester gekonnt sein):

  • Abbildungen, die sich in der Ausarbeitung befinden, müssen auch im Text referenziert werden. Es ist gut, wenn Abbildungslegenden schon etwas für sich aussagen.
  • Geben Sie Orientierung durch Zwischenüberschriften, auch bei kurzen Texten.
  • Zur Erinnerung: Die Schriftform wird mit beurteilt: Strukturierung, Formale Aspekte wie Benennung von Abbildungen, vollständige Sätze …)
  • Zur Erinnerung: Beschreiben Sie auch die Anwendungsdomäne:
    a) Was soll bei dem Versuch herauskommen bzw,. was soll der Versuch zeigen (also: warum führen wir diesen Versuch durch), und
    b) wie benutzen Sie es und
    c) was können Sie beobachten, wenn das Ganze fertig ist.
  • „Schreibregeln“ beachten: https://cbrell.de/blog/schreibregeln/

Unterlagen

Foliensatz Temperatur- und Licht- Kombisensor löten

Praxis Sensoren auf Streifenraster-Platinen löten

Sie haben: 1 LDR, 1 DS18B20, 2 Widerstände 4k7, 1 Widerstand 100 Ohm
Sie bekommen: Ein Stück Streifenrasterplatine, etwas Kabel, Pfostenstecker
Löten Sie den Kombisensor Licht und Temperatur zusammen. 
Bauen Sie Ihre Schaltung aus der 4. Mission so um, dass sie mit dem gelöteten Sensor funktioniert.

Drei Hinweise zur Dokumentation dieses Praxisversuchs:

  • Wenn Sie diesen Praxisversuch ausarbeiten wollen, handelt es sich um eine kleine Anleitung „Wie löte ich elektronische Bauteile auf eine Experimentierplatine am Beispiel eines kombinierten Sensors“
  • Schreiben Sie etwas zum Löten allgemein (warum löten, was ist Lötzinn und welche Eigenschaften hat es, was ist zu beachten, was kann schiefgehen ….)
  • Beziehen Sie sich auf die Aufgabenstellung und beschreiben Sie auch, wofür das von Ihnen hergestellte Bauteil gut ist.

6 Mission (Vom Laboraufbau zum funktionalen Prototypen – 3D-Druck)

29.11.2023

Achtung – zur Vorbereitung:

Beschaffen Sie sich einen privaten kostenfreien Tinkercad-Account. Falls Sie schon mit einem anderen CAD-Programm für 3D-Druck arbeiten, überlegen Sie bitte, wie Sie das kurz Ihren Kommilitonen erklären können.

Theorie

Folien: Gehäuse entwerfen, 3 D Drucken

Praxis

Der Einstieg mit Tinkercad und Cura

Sie haben: Einen Kombisensor.

1. Entwerfen sie Mit Tinkercad ein einfaches Gehäuse ohne Deckel. Das Gehäuse sollte möglichst klein sein.
2. Erstellen Sie aus dem Modell (STL-Datei) eine Druckdatei mit Cura, alternativ mit PrusaSlicer.
(Nach dem Druck wird der Kombisensor eingelegt und mit Heißkleber vergossen).
3. Optional: Wärmestrahlungseigenschaften Gehäusedeckelfarbe - eine Messreihe

Drei Hinweise zur Dokumentation dieses Praxisversuchs:

  • Wenn Sie diesen Praxisversuch ausarbeiten wollen, handelt es sich um eine kleine Anleitung „Wie baue ich mein erstes Gehäuse mit dem 3D-Drucker“
  • Orientieren Sie sich an der Reihenfolge: Vorteile von 3D-Druck für „Losgröße 1“, Planung des Modells, Entwicklung des Modells mit Tinkercad, Slicing des Modells mit Cura, Druck des Modells.

7 Mission (Sensoren und Aktoren II – elektrische Leistung messen und Stromverbraucher steuern)

06.12.2023

Theorie

Einführung in die „Shelly-Welt“

Folien WLAN-Schalter und Co

Shelly Vergleichstest Plug S, 1PM und Plus 1PM

Erste Experimente mit dem Shelly Plus Plug S (WLAN-Steckdose)

Einen Shelly Schalter mit dem ESP8266 steuern

Eine Shelly WLAN-Steckdose mit dem Raspberry auslesen (in Python)

 

Praxis – Prozesse webbasiert automatisieren

Bauen Sie einen internetgesteuerten Lüfter (alternativ es Gerät: Heizung oder Glühweinbereiter):
1. Verwenden sie die REST-API des Shelly, um das Gerät über Ihren ESP ein- und auszuschalten.
2. Verwenden Sie Ihr Webservice-Verzeichnis (a.txt), um das Schalten zu steuern. (ESP ruft jede Sekunden die Daten ab)

8 Mission (Datenvisualisierung und Fog-Computing)

13.12.2023

Theorie

Datenvisualisierung

Folien zur Datenvisualisierung

Cloud- / Fog- und Edge-Computing

Folien IoT Cloud Fog Edge

Edge Computing und künstliche Intelligenz mit Raspberry Pi und Nvidia Jetson nano

Alternative Entwicklungsumgebungen (Python mit Thonny, alles mögliche mit Visual Studio Code, Platform-Io)

Folien Python mit der Thonny IDE

Python Programm zur Datenvisualisierung, als zip gepackt: datenvisualisierung231208.py

Noch offene Punkte:

  • LoRaWAN, NB-IoT und Co
  • MQTT vs. HTTP
  • Webserver auf dem IoT-Device

Anmerkungen zu Praxisversuchen: Heute werden die Laborexperimente abgeschlossen. Hier finden Sie eine Sammlung meiner Anmerkungen zu Laborberichten.

 

 

Praxis

1. Fertigstellung von unfertigen Teilprojekten.
2. Fog-Computing mit Python:
   Laden Sie die Tages-Heizungsüberwachungsdaten
   Berechnen Sie den Mittelwert aller geladenen Daten der Vorlauftemperatur.
   Bestimmen Sie einen Temperatur-Schwellwert.
   Schreiben Sie in Ihr Verzeichnis je nach Schwellwert, so dass ESP die Heizung, den Lüfter an- oder ausschaltet.
   

9 Mission (IoT in Wirtschaft und Gesellschaft)

20.12.2023

Theorie

Studierendenvorträge 1

10 Mission (Anwendung von IoT in Forschungsprojekten)

03.01.2023 ONLINE

Theorie

Vorstellung des Projektes Biene40

Video: Ergebnisse des Projektes, eurobee 2023 Friedrichshafen. Video des Vortrags auf youtube (0:20): https://youtu.be/hGbfwfCQLvc?si=Wj3ITxObnVj_UJzr

Video (optional&vertieft): Vortrag Stadtimker Monheim (1:36) Mitschnitt auf Marie Försters youtube-Kanal 

Die Vortragsfolien Stadtimker Monheim zum Download: Brell, Claus Biene40 Hitzestress bei Honigbienen 230613_

Projektseite bieneviernull, Klicken Sie auch auf die „Ergebnisse“.

Vorstellung des Projektes als Artikel: Brell, Claus (2022) Forschungsprojekt Biene40 – effizienter und verlustärmer Imkern mit digitalen Methoden. In: Das Bienenmütterchen, 74. Jahrgang, 04/06 2022, Drognitz

 

11 Mission (Sensoren in Bienenstöcken)

10.01.2024

Praxis

1. Vorführung von Sensoren für Bienenstöcke

2. Freies Basteln

 

12 Mission (IoT in Wirtschaft und Gesellschaft)

17.01.2024

Theorie

Studierendenvorträge 2

###################################

Ende Veranstaltungen Wintersemester 2023

###################################

xx Mission

Wann?

Imkerworkshop „Temperaturen im Bienenstock messen und loggen mit dem ESP8266 D1 Mini“

(Erfordert später zuhause: Bienenstock in WLAN-Nähe)

  • Arduino IDE einrichten
  • Notwendige Bibliotheken laden
  • Erstes „Hallo-Welt“-Programm auf dem D1 Mini
  • DS18B20 anschließen und seriell auslesen
  • Den ESP ins WLAN bringen
  • Einen Webserver auf dem ESP einrichten
  • Temperaturen über den Webserver auslesen.
  • Diskussion: Wo und warum bringe ich den Sensor an? Was sagt mir das? (Ergebnisse aus den Forschungsprojekten)

Prüfung (Planung, gültige Version auf Moodle)

Die Prüfung ist eine kumulative Hausarbeit mit Praxiselementen.

Labortagebuch

Die Studierenden führen ein Labortagebuch (im Idealfall eine Kladde mit handschriftlichen Notizen, keine Lose-Blatt-Sammlung. Es hat sich gezeigt, dass eine Art Heft geeigneter ist als elektronische Notizen.)

Das Labortagebuch wird im letzten Semesterdrittel geprüft (Studierende legen es dem Dozenten vor)

Praxisversuche

Jede(r) Studierende weist nach, dass insgesamt 3 Praxisversuche erfolgreich durchgeführt und verstanden wurden.
Das erfolgt zeitnah (am gleichen Tag) wie im Programm. Die Studierenden entscheiden selber, welche der Praxisversuche sie ausarbeiten. Zu jedem der drei Praxisversuche gehört: Live zeigen, dass es funktioniert. Zu jedem der 3 Praxisversuche gehört eine kurze bebilderte Ausarbeitung (selbsterstellte Bilder, etwa 2 Seiten ohne Quelltext) im Format .docx (MS Word).

Die Praxisversuche sind in den Missionen beschrieben.

Vortrag und Ausarbeitung

Die Vorträge sind quasi ein Ausblick auf die schriftliche Ausarbeitung. Vortrag und Ausarbeitung sollen so gestaltet sein, dass Sie als Lehrmaterial für diese Veranstaltung dienen könnten.

Vorträge finden während der Vorlesungszeit statt.

Hier finden Sie eine Power-Point-Vorlage: https://hs-niederrhein.sciebo.de/s/i771sxc8cvjgkcY

Vortragsfolien und Ausarbeitung können bis zum Ende der Klausurzeit abgegeben werden. Folien im Format .pptx und Ausarbeitungen im Format .docx. Bitte verzichten Sie auf aufwendige Gestaltungen.
Schreibhinweise: Schreibregeln für Seminararbeiten.

Themen:

A Alternative Entwicklungsumgebungen am konkreten Beispiel (Alles außer Blinka):
A1 Visual Studio Code
A2 Thonny
A3 Plattform IO
A4 AVR Studio
A5 Espressiv irgendwas

B Smart Cities: Konzepte, Projekte, Ergebnisse
(Tipp: Schauen Sie sich die Smart-City-Strategie der Stadt Mönchengladbach an)

C Das vernetzte Auto
(Ein guter Start ist der Vortrag von Daniel Fett auf der Pi&More „Der vernetzte Camper“)

D Smart Home
(Die Elektronikversender ELV, CONRAD etc. haben eigene Smart Home Systeme.)

E KI und Edge-Computing  konkret

F (Sie können eigene Themen vorschlagen. ich entscheide, ob ich es akzeptiere)

Anhang

Quellen

Glossar

Autor und Lizenz