Beschreibung

Der aktuelle Release1 der weatherpi.de Devices ist funktionsfähig. Eine Nutzung im ursprünglich geplanten Umfang ist jedoch noch nicht möglich bspw:

  • es kann nur ein definierter Arduino an den Raspberry angeschlossen werden
  • es kann nur ein Raspberry in der Datenauswertung genutzt werden

Im Rahmen der Studienarbeit wird ein Release2 zu entwickeln sein, welches funktionale Erweiterungen vorsieht, bspw:

  • Datenversand zwischen Arduino und Raspberry auf Basis message Queuing (bspw. MQTT)
  • Arduino erhält bei der Initalisierung eine Unique ID, welche er bis zu einer Neuprogrammierung gespeichert hat und anwendet
  • Arduino puffert Daten, wenn er diese nicht versenden kann
  • Umstellung des Arduino auf ein konfigurierbares Datensendeintervall
  • Optimierung des Stromverbrauch auf dem Arduino
  • Eventbasierter Wakeup des Arduinos bspw. bei Regen, externer Datenanforderung
  • Wahlweise XBEE oder XRF Kommunikation (per Konfigurationseinstellung auswählbar)
  • Alerts vom Arduino versenden bei
    • LowPower
    • Aufladen des Akku / Ladezustand
    • andere konfigurierbare Events
  • Alerts vom Raspberry versenden bei
    • Kommunikationsproblemen (bspw. zwischen Arduino und Raspberry, Raspberry - Backend)
    • Serverproblemen (bspw. Low Harddisk, High Utilization)
  • Fehlerbeseitigung bei bestehender Datenerfassung (Raindrops, Windspeed) auf Arduino oder Raspberry
  • LED's auf Arduino per Konfiguration / Message ein und ausschaltbar
  • Streaming der Daten auf zusätzliche Datenspeicher (bspw. wunderground, XIVELY)

Das Ziel der Studienarbeit wird gemeinsam zu Beginn der Studienarbeit spezifiziert und abgestimmt.

 

Anforderungen

Grundkenntnisse in

  • webservices
  • Phyton (Raspberry)
  • Linux (Raspberry, backend)
  • mySQL (backend)
  • PHP (backend)
  • Arduino / Raspberry Grundkenntnisse (IDE, Monitoring, Zugriff)

 

Anzahl der erforderlichen Studenten

Ein Team bestehend aus 2 Studenten.

 

Bewertung

Mindestanforderung

  • funktionsfähiger Prototyp
  • Vorführung und Erläuterung des funktionsfähigen Prototypen
  • Benutzer"handbuch"
  • Fehlerbeseitigung bei bestehender Datenerfassung (Raindrops, Windspeed)
  • LED's auf Arduino per Konfiguration ein und Ausschaltbar
  • Einführung von message Queuing für den Versand zwischen Arduino und Raspberry
  • Verbesserung der Akkulaufzeit auf dem Arduino
  • funktionierender Parallebetrieb von mehreren Arduinos an einem Raspberry
  • Minimalversand von Alerts (LowPower) vom Arduino über Raspberry zum Ziel

Sehr gutes Ergebnis

  • Unique ID Nutzung auf dem Arduino
  • wahlweise XBEE und XRF Nutzung (per Konfigurationsdatei steuerbar)
  • Update der Konfiguration des Arduinos im laufenden Betrieb über Messageversand vom Raspberry an Arduino bspw.
    • Unique ID
    • Intervall des Datenversands
    • Ein/Ausschalten von Status-LED's am Arduino
    • Alerts
  • Konfiguration und Versand von Alerts
    • Alerts auf Arduino generieren
    • Alerts auf Raspberry generieren
  • Streaming der gesammelten Daten auf zusätzliche Datenspeicher (bspw. wunderground, XIVELY)