IoT und Webanwendungen – aktuelle Angebote für studentische Projekte

Raspberry Pi mit Temperatursensor DS18B20

Im Modul Webanwendungen realisieren Studierende der Hochschule Niederrhein, Fachbereich Wirtschaftswissenschaften, Projekte im Internet-Umfeld (inkl. IoT). Informationen zu den Rahmenbedingungen im Modul erhalten Studierende unter

Das müssen Studierende im Modul tun – Modul Webanwendungen

Bereits realisierte Projekte aus den letzen Semestern finden Sie hier.

Stand 18.06.2021

Projekte 2021 Wintersemester

Projekte mit IoT Komponente

  1. Biene40 Monitor (mit ESP32 und eINk Display)
    Für das Projekt Biene40 soll eine WLAN-fähige Anzeigestation für den Imker aufgebaut werden.
    Die Anzeigestation besteht aus einem ESP32 mit einem eInk Display. alle 10 Minuten werden über WLAN von einem Webservice Informationen abgeholt und auf dem eInk Display dargestellt. Dazwischen soll die Station schlafen und Energie sparen, so dass ein Battriebetrieb möglich ist.
    Der zu entwickelnde Webservice holt sich die aktuellen Daten von mehreren bereits existierenden Webservices (im CSV-Format), extrahiert die neuesten und generiert daraus mit der GD-Lib ein Bild (ein typischer ETL-Prozess). Alternativ kann das Bild auch auf dem ESP32 generiert werden.
    Programmierung: ESP32 in C mit Arduiono IDE, Webservice in PHP, Datenhaltung in CVS-Dateien, Bilddateien oder in SQLite-DB.
  2. Internet-Trachtwaage mit dem ESP32
    Mit preiswerten Wägemodulen und einem ESP32 soll eine Energiesparende Trachtwaage aufgebaut werden. Alle 5 Minuten sendet der ESP32 die Daten an einen in PHP geschriebenen Webservice im Internet, der die Daten in einer SQLite-Tabelle ablegt. Dazu gibt es ein Dashboard, das die Daten als Liste und l Grafik ausgibt. Die Aktualisierung erfolgt über Ajax. Die Grafik kann server- (bevorzugt) oder clientseitig erzeugt werden.
  3. Diebstahlmelder für Bienenstöcke
    Es soll ein internetbasierter Diebstahlmelder (z. B. für Bienenstöcke) mit einem Beschleunigungssensor aufgebaut werden. Um mehrere Stationen mit einem Internetzugang versorgen zu können, ist ein Gatewaykonzept sinnvoll.
    MPU6050–>ATTiny95–>433MHz))) (((433MHz–>Raspi–>WLAN–>Internet–>Webservice
    Einschätzung Schwierigkeitsgrad: Hoch
  4. KI-Erkennung von Anzeigeinstrumenten auf dem Raspberry
    Es existiert bereits ein System, dass mit Computer Vision runde Thermometer abliest. Ungelöst ist das Problem: gibt es ein Anzeigeinstrument und wo auf dem Bild befindet es sich? Das Bild mit ggf. Markierung des Anzeigeinstrumentes soll auf einen Webservice geladen werden. Dazu gibt es ein kleines Dashboard.
  5. digitalHumidor – der elektronische Zigarrenschrank
    Nichts ist schlimmer als zu feuchte oder zu trockene Zigarren. In einer Kiste soll die Temperatur und die Luftfeuchte gemessen und über das Internet dargestellt werden. Die Messung kann (für Arduino-geübte) mit einem ESP8266 (in Form von NodeMCU oder ESP32) erfolgen. Das Team soll sich Gedanken über einen geeigneten Alarmierungsmechanismus machen.
    Siehe auch: Tabakgarage – Eine Fallstudie für die Wirtschaftsinformatik

 

 

Projekte 2021 Sommersemester

Aufgrund eines im März 2021 startenden Forschungsprojektes (Biene40) haben Projekte, die das Forschungsvorhaben stützen, Priorität. Die Projektangebote für das kommende SommerSemester 2021sind voraussichtlich (kann sich 25.03.2021 noch ändern):

Projekte mit IoT-Komponente

  1. datenRettungAppliance
    Raspberry-Projekt.
    Es fallen 7*1200 Bilder pro Tag aus der Naturbeobachtung an: https://cbrell.de/naturwatchcam/. Alle vier Wochen ist der Speicherplatz auf dem Server voll. Ein System, das ohne weiteres Zutun zyklisch die Bilder von Server holt, sichert, und einen geordneten Löschprozess auf dem Server anstößt, wäre eine Entlastung. Das System sollte flexibel und an andere ähnliche Szenarien anpassbar sein, zudem sollte es ein „Gerät“ sein, das man überall anschließen kann. Für die Implementierung ist ein Raspberry Pi mit einer SSD die geeignete Hardware.
  2. CalliBot goes Raspi: Websteuerung für den CalliBot
    Die Plattform für den CalliopeBot wird über einen Raspbery Pi gesteuert. Der Raspberry Pi holt sich ein „Fahrprogramm“ von einem Webservice und fährt das „Fahrprogramm“ einmal ab (so ähnlich wie im Brettspiel Roborally).
    Es gibt eine einfache Online-Eingabemöglichkeit für das Fahrprogramm.
    siehe Videos zum Girls Day, google Suche: „hochschule mönchengladbach girls day calliope youtube“
  3. Interneautarkes Sensorsystem (Trachtwaage)
    Problem: Auf dem Bienenstand gibts kein Internet. Trotzdem sollen Daten z.B. einer Trachtwaage gelogt werden.
    * Schalter umgelegt: Ablesemodus (Start des Webservers)
    * Eigenes WLAN
    * Eigener Webserver auf dem Raspi
    * Anwendung auf dem Webserver (js) zeigt Daten an und archiviert auf dem Internetserver, wenn WLAN verfügbar (SSID raspilab Pass raspilab).
    * Vorteil: keine Datenanbindung erforderlich
    * Auf Internet-Archiv kann auch verzichtet werden.
    * Wenn Schalter nicht umgelegt: Messmodus. Gewicht (oder anderer Messwert) wird alle 5 Minuten gelesen und in Datei geschrieben.
    * Jeden Monat gibt es eine neue Datei auf /Boot/AA/DATA
    * Raspberry Pi Zero oder ESP32 Cam
    Skizze zur autarkne Trachtwaage
  4. Ein Iot-Demonstrator mit dem Calliope Mini (Vorbereitung Lehrerworkshop)
    Ziel
    * Calliope als IoT Gerät einbinden
    – Calliope mit analogem Feuchtemesser.
    – Anzeige Über das Leuchtdioden Feld.
    – Aufnahme des Diodenfeldes mit dem Smartphone.
    – Umsetzung des Bildes in einem Wert.
    – Übertragung des Wertes an einen Web Service.
    – Übersicht Seite mit allen Werten über die Zeit.
    * Weiterverwenden in Schulkooperationen
    ToDo
    * Calliope misst etwas und stellt es mit den LED dar.
    * Mit dem Handy abfotografieren und an Webservice übertragen (oder Zahl abtippen)
    * Übersichtsseite der hochgeladenen Bilder
    Topologie Calliope Mini in IoT Projekten einsetzenCalliope mit Feuchtesensor
    Variante a) „Bilddokumentation“ – Ein Bild des Sensors (Die Sensornummer wird mit einem Postit an den Calliope geklebt) wird hochgeladen, Eine Übersichtsseite zeigt die letzten 10 Bilder, die hochgeladen wurden, an. Optional gut wäre: Die Bilder bekommen einen Zeitstempel aufgedruckt.
    Variante b) „Zahlendokumentation“ – Es wird die Zahl und die Sensornummer eingegeben und hochgeladen. Auf einer Übersichtsseite erlält man tabellarisch die letzten10 Werte (mit Zeitstempel, wird serverseitig erzeugt). Die Werte werden zusätzlich grafisch (Als Balken, wer es schöner haben will: als Törtchen) dargestellt.

Projekte ohne IoT-Komponente

Achtung: Projekte ohne IoT-Komponente sind einfacher und werden maximal nur mit 95% der erreichbaren Punkte bewertet

  1. Steampunk vs Grafana-Style Dashboard
    Daten aus der Feinstaub-Messstation oder aus den Bienenstöcken sollen auf dem Smartphone als analoge Zeigerinstrumente dargestellt werden. Auch ohne Neuladen sieht man immer den aktuellen Messwert. Die eigentliche Erstellung der Grafik erfolgt in PHP auf dem Webserver (GD-Lib), Die Bilder werden zyklisch mit Jacascript geladen und angezeigt.
    Es sollen zwei Sätze grafiscjer Darstellung implementiert und verglichen werden: Im Steampunk-Style (Am Besten Element mit der Hand selber zeichnen, analog zur „Gnomen-Technologie“ in WoW) und eher kühl&nüchtern Style so wie bei Grafana. https://codeblog.dotsandbrackets.com/grafana-quick-intro/
  2. elektronische Stockkarte

    Ausgangslage: Imker nutzen zunehmend ihr Smartphone, auch zur Verwaltung ihrer Bienenstöcke. Einige nutzen Excel, um ihre Arbeit an den Bienen zu dokumentieren. Zentrales „analoges“ Instrument ist die Stockkarte, die normalerweise an jedem Bienenstock liegt.
    Idee: Eine Online-Anwendung soll die Papier-Sockkarte ersetzen. Es soll eine mobile Variante der Stockkarte geben, die der (Hobby-)Imker immer auf seinem Smartphone mitführen kann. Die elektronische Stockkarten soll mittels PHP und Javascript (AJAX) entwickelt werden, vorzugsweise als Progessive Web App.  Hier ein Beispiel von Stockkarten:

    https://kivkv.de/wp-content/uploads/2017/12/WEB_MeinImkerOrdner_KIVKV_plus.pdf

  3. predictiveMaintenance mit Progressive Web Apps
    Für Anwendungen in der Maschinenwartung, aber auch insbesondere in der Bienenhaltung, wäre es spannend, mit einer einfachen Browseranwendung 10s-Soundschnipsel aufzunehmen und an einen Webservice (PHP) zu senden.
    Hinweis zur Realisierung: https://thomassommer.org/javascript/web-audio-api-audio-buffer-aufnehmen-und-wiedergeben/
    Hinweis zur Anwendung:  Honigbienen 2020
  4. Trello Klon
    Alles ist eine Karte. Eine Karte ist ein Objekt, das Text enthält (Erste Zeile=Titel). Eine Liste ist eine Karte die Karten enthält. Eine Tabelle ist eine Karte, die Listen enthält (mit gleichen Anzahlen). Ein Kanban-Board ist eine Karte, die Listen enthält (mit unterschiedlichen Anzahlen). Eine Sammlung ist eine Karte, die mehrere Kanban-Boards enthält usw.. Mit Ajax, CSS und einem PHP-Backend (vermutlich SQLite zur Datenhaltung) solle ein einfacher Klon für z.B. Trello oder Wekan-Board erstellt werden.
  5. Reaktionstest (Alkoholtest)
    Tippen auf Kugel, die auf dem Bildschirm zufällig hin und her springt.
    Sprungweite größer 2*Durchmesser, aber nur bis zum Rand
    Springfrequenz steigt von Sprung zu Sprung 1 sec ….. 0,3 sec
    Daten auf Webservice speichern ?x=<spitzname>;0;1;1;0;0; …. 0=nicht getroffen, 1= getroffen
    Auf der Auswerteseite grafische Auswertung.
    Skizze Reaktionstest
    Einschätzung Schwierigkeitsgrad: einfach
  6. Online-Codeeditor
    Für einfache Wartungsaufgaben wäre es sinnvoll, PHP-Scripte und HTML-Dateien direkt „mal eben mit dem Smartphone“ auf dem Server bearbeiten zu können. Syntax Highlihting und das Anlegen neue Dateien wären ebenfalls gewünscht. Hierzu soll ein System als Web-Anwendung in PHP und Javascript (AJAX)  bereitgestellt werden. Stichwort (Google Suche) zum Syntax Highlighting: codemirror
    Einschätzung Schwierigkeitsgrad: Einfach

Projekte 2022 Sommersemester

Die folgenden Projekte können erst im Sommersemester 2022 und nicht im Sommersemester 2021 bearbeitet werden.

  1. wichtelBoard – ein interaktives Board für die Geschenkeabstimmung
    Wer schenkt wem was? WhatsApp-Schwemme mit einer spezifischen Internet-Austauschplattform verhindern. Es soll eine PWA entwicklet werden mit folgende Eigenschaften:
    – jeder kann (s)eine Liste mit Wünschen einpflegen.
    – jeder kann seine und die Wünsche der anderen lesen.
    – jeder kann zu den anderen Wünschen mitdiskutieren.
    – alles außer den letzten fünf Einträgen wird nach 72 Stunden gelöscht.
  2. gemDealer – eine Handelskomponente für ein Edelstein-Sammelspiel
    Für die Unterstützung des stationären inhabergeführten Handels wurde bereits ein Edelstein-Sammelspiel erprobt. Hierz fehlt noch eine Crafting- und eine Handels-Komponenten. Um letztere geht es. Das ´Ganze sollte sich anfühlen wie eine App (verschiedene Entwicklungsumgebungen denkbar). Datenverwaltung liegt auf dem Server. Jeder Spieler hat zu Beginn n Edelsteine in verschiedenen Farben. Nun kann man einem anderen Spieler seinen Wunsch und sein Gebot zeigen. Der andere Spieler kann mit Wunsch und Gebot reagieren. wenn Wunsch und Gebot übereinstimmen, können beide Spieler zustimmen und die Edelsteine werden übertragen. (Skizze vom 24.11.2019 folgt)
  3. Dashboard mit Unity
    Typische Dashboard-Anwendungen (vgl. https://hafenneuss.de/) setzen auf Javascript im Browser-Frontend und PHP im Backend. Die Entwicklung ansprechender Dashboards könnte durch den Einsatz von Spieleengines wie Unity beschleunigt werden. Hierzu ist ein Demonstrator zu entwickeln. Es kann auf Daten der HSN-Feinstaubmesstation zurückgegriffen werden. ETL-Prozesse und Datenaufbereitung soll in PHP erfolgen.
  4. It-Security-Escaperoom mit Unity
    Es soll ein Escaperoom mit Unity entwickelt werden, der spielerisch Grundlagen der IT-Sicherheit vermittelt. Es soll veränderliche Komponenten geben, die über Serverprozesse gesteuert werden, Ebenso ist ein Logging der Daten auf dem Webserver gewünscht, um Lernpfade und Nutzungsintensität analysieren zu können. Zum Vergleich kann  ein Bierbrauer-Escaperoom dienen: https://www.youtube.com/watch?v=nWJE63IyeGk
  5. dataGuardian – Datenvisualisierung für Messdaten (Umweltdatennetzwerk MG)
    Aus einigen studentischen Projekten sind Datensammlungen entstanden. Im geplanten Umweltdatenmessnetzwerk Mönchengladbach werden viele Daten anfallen. Hierfür soll eine einfache generische Visualisierungsmöglichkeit geschaffen werden.Beispiel einer Visualisierung: https://cbrell.de/biene40.
    Beispiel für noch unvisualisierte Daten: https://cbrell.de/raspilab/umweltdaten.php?pin=hummel2&modus=tab
  6. Infokiosk für den stationären Handel
    Zusammenführung der Projekte InKi und iKiosk zu einem funktionierenden Prototypen mit einheitlicher Schnittstelle.
  7. eyePi – Augen für den CalliBot
    Analog zum Anki Cozmo sollen „emotionale Zustände“ über Augen visualisiert werden. Dazu ist ein Anzeigemedium (128 x 64 Pixel, entweder als App auf dem Smartphone oder Mini-Display mit Raspberry oder Ajax-Anwendung) zu programmieren, das einen emotionalen Zustand von einem Webservice holt und visualisiert.
    Die passenden Webservices und eine Eingabemöglichkeit für die emotionalen Zustände sind zu erstellen.
    Eine alternative Nutzungsform (auf einem Tablet, „Cozmo-like-eyes“) wäre die Funktion als eye-Catcher für Schaufenster im stationären Handel. Hier wäre es sinnvoll, wenn die Augenbewegungen einem Schaufensterbummler vor dem Schaufenster folgen würden.
  8. wetterFreund – Ü50 Wetterdaten
    Ein einfache Wetterseite ohne Bildchen, die sich selber aktualisiert und Wetter Ü50-gerecht aufbereitet. Zu überlegen ist, welche weiteren Informatationen ohne Komplexitätserhöhung noch sinnvoll angezeigt werden sollten.
    Realisierung als PWA, ETL-Prozess in PHP, Datenquelle z.B. openweathermap.org.
    Projekt ist inhaltlich (nicht technisch) ähnlich zu „Raspberry Internet-Wetterstation“)
    Einschätzung Schwierigkeitsgrad: Einfach
  9. Raspberry Internet-Wetterstation
    Raspberry-Projekt.
    Mit einem Raspberry Pi und einem 7 Zoll Display soll eine Wetterstation aufgebaut werden. Die Wetterstation als Gesamtanwendung zeigt die aktuellen Wetterdaten der Region (z.B. anhand der IP Adresse des Raspberrys) in Textform und „Ü50-Buchstaben“ an.
    * Webservice, der Wetterdaten im Internet sammelt und aufbereitet. Der Webservice ist in PHP zu realisieren. Der Aufruf des Webservice erfolgt zyklisch durch den raspberry, z. B jede Minute.
    * schlanke Webschnittstelle zu Raspberry (REST, http GET, Daten im CSV-Format (JSON, wenn das Team das wünscht), Aktualisierung alle 1- 10 Minuten).
    * headless Betrieb, einfaches Plug-und Play System. Sobald der Raspberry Strom hat, sollen alle Prozesse starten ohne Nutzerbeteiligung.
    * Raspberry zeigt Daten lediglich an. Heißt, die eigentliche Intelligenz liegt in der Webservices. Das hat den Vorteil, dass die Webservices einfach manuell mit dem Browser getestet werden können.
    * Empfehlung: Programmieren des Raspberry in Python. Hier findet man umfangreiche Tutorials im Internet. Es sind aber auch andere Realisierungsideen möglich, z.B. komplette Aufbereitung in den Webservices und Raspi als schlankes Kiosk-System.
    Einschatzung Schwierigkeitsgrad: Mittel.
  10. ideaCollector
    Ausgangssituation: Spontane Ideen, gefundene Zitate und Links, mündliche Mitteilungen … gehen verloren oder stehen nicht auf allen eigenen Geräten zur Verfügung.
    Lösungsansatz: webbasierte Textschnipselsammlung. Über ein einfaches, responsive Interface können Ideen festgehalten werden.
    Technik: REST Schnittstelle, um ggf. auch eine App ankoppeln zu können. Datensparsam mit Javascript / AJAX.
    Anforderungen: Mehrbenutzerfähig (keine explizite Nutzerverwaltung), eigene Ideen chronologisch auflisten, Grafik mit Ideenstatistik.
  11. Zugangskontrolle für den Internet-Meisenkasten
  12. Fledermauskasten 4.0 – Optische Überwachung mit Bewegungsmelder und IR-Kamera
  13. Internet-Verlängerung für Funksteckdosen – IoT-lite und smart home
  14. Javascript Geotracker

 

Teile diesen Beitrag.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.