HoneyPi: Zwischenstand

Das Projekt HoneyPi nimmt zunehmend Gestalt an. Neben der bereits vorgestellten App befindet sich auch die Entwicklung der übrigen Komponenten auf einem guten Weg.

Auf dem Pi:

Das Pi wurde mit einer Konfigurationsseite ausgestattet: Wird ein Button betätigt startet ein Python Script einen Wlan AccessPoint. Der Nutzer kann sich einfach über sein Smartphone mit dem AccessPoint verbinden und Einstellungen im Webinterface, welches sich auf einem Lighttpd-Webserver befindet, vornehmen.

Das Webinterface wurde mit Angular erstellt. Es verfügt über ein einfaches php-backend, welches die vorgenommenen Einstellungen in eine .json Datei ablegt.

Durch die Datei settings.json liest das Pi diese Einstellungen.

 

ThingSpeak:

Im ThingSpeak-Konto wurden nun die drei Channels „Bienenstock 1“, „Bienenstock 2“ und „Bienenstock 3“ angelegt, da ein Channel einen Bienenstock darstellen soll. Für jeden Channel können maximal acht Fields angelegt werden. Im HoneyPi-Projekt stellt ein Field eine Messwertart, z. B. Temperatur innen, Luftdruck oder Geweicht des jeweiligen Channels/Bienenstocks dar. Zum Testen wurden deshalb diverse Fields in den drei Channels angelegt.

Außerdem wurde eine neue Funktion, der Schwarmalarm, hinzugefügt. Ein Schwarmalarm soll ausgelöst werden wenn das Gewicht des Bienenstocks in einem gewählten Zeitraum drastisch fällt. Die Daten, welche das Pi an Thingspeak sendet werden in Channels abgelegt. Mit Hilfe der MAtLab-Erweiterung werden diese Werte miteinander verglichen und, sollte ein starker Gewichtsverlust stattgefunden haben, ein http-request an den honey-pi server geschickt. Auf diesem liegt ein Python-Skript, welches die Daten(Empfängeradresse, Gewicht und Zeitangaben) aus dem Body der POST Anfrage übernimmt und eine e-mail an den Nutzer schickt.

Hardware:

Im Hardwarebereich musste der Temperatursensor ausgetauscht werden, da er fehlerhaft war.

 

 

In der App:

  • Die App ließt nun die Namen aller Channels und Fields des Benutzers aus und untersucht diesen nach bestimmten Strings wie „temperatur“ und erzeugt somit die Elemente des Navigation Drawers auf der linken Seite dynamisch mit entsprechendem Icon. Die Detailseite wird bei solchen vordefinierten auf die Messwertart spezialisiert (siehe nachfolgende Abbildung).

 

  • Die Detailseiten aller Elemente aus dem Navigation Drawer (Temperatur, Luftfeuchtigkeit, Luftdruck, Luftqualität, Gewicht und Sonstiges) werden nun dynamisch erzeugt. Jedoch sind nur bei Temperatur und Luftfeuchtigkeit Daten zum Anzeigen vorhanden, da die anderen Sensoren noch keine Messdaten an ThingSpeak senden. Deshalb wird auf der jeweiligen Detailseite der Text „Keine Daten verfügbar.“ Angezeigt (siehe nachfolgende Abbildung).

 

  • Bei den Tabs der Detailseiten wurden die Zeiträume ein wenig abgeändert und zwar in „HEUTE“, „3 TAGE“, „7 TAGE“, „30 TAGE“ und „BENUTZERDEFINIERT“. Bis auf den benutzerdefinierten Tab, zeigen alle anderen Tabs die Messwerte für den jeweiligen Zeitraum an (sieh nachfolgende Abbildung).

 

 

HoneyPi (5) Projekt Update