beelogger

Webserver-Skripte (dygraphs)

Um die Messwerte der Sensoren zu speichern und grafisch darzustellen, wird ein Webserver benötigt. Dieser kann ein externer Webserver bei einem Internetprovider sein oder beispielsweise auch ein lokaler RaspberryPi, den man zu diesem Zweck installiert. Sollte kein eigener Webserver zur Verfügung stehen, kann auch unser kostenloses Testsystem mit bereits installierten Skripten genutzt werden. Die Skripte zum Speichern und Anzeigen der Messwerte sind sehr einfach gehalten, um eine größtmögliche Flexibilität zu erhalten. So wird beispielsweise keine MySQL-Datenbank benötigt und weitere Datenlogger werden einfach durch ein zusätzliches Verzeichnis, welches alle Skript-Dateien enthält, hinzugefügt.

Auf dem Webserver sind für einen Datenlogger lediglich vier Dateien notwendig:

  • ‘beelogger_log.php’ dient zum Speichern der Messwerte vom Arduino und ermöglicht den Zugriff per Android-App
  • ‘beelogger_show.php’ ist für die grafische Anzeige der Messwerte verantwortlich
  • ‘dygraphs-combined.js’ und ‘dygraphs-combined-dev.js’ sind Skriptdateien von dygraphs

Verzeichnisstruktur auf dem Webserver

Für den Betrieb eines Datenloggers müssen die vier Skript-Dateien in einem Ordner liegen:

  • beelogger1
    • beelogger_log.php
    • beelogger_show.php
    • dygraphs-combined.js
    • dygraphs-combined-dev.js

Werden mehrere Datenlogger eingesetzt, ist für jeden Datenlogger ein eigenes Verzeichnis mit diesen vier Skript-Dateien anzulegen:

  • beelogger1
    • beelogger_log.php
    • beelogger_show.php
    • dygraphs-combined.js
    • dygraphs-combined-dev.js
  • beelogger2
    • beelogger_log.php
    • beelogger_show.php
    • dygraphs-combined.js
    • dygraphs-combined-dev.js

Auf der Seite der grafischen Darstellung, wird auch ein Auswahlmenü angezeigt, um einfach zwischen weiteren Datenloggern zu wechseln. Voraussetzung für diese automatische Funktion ist, dass die Dateinamen der vier Skriptdateien unverändert bleiben und sich alle Verzeichnisse mit den jeweils vier Dateien in einem gemeinsamen, übergeordneten Verzeichnis befinden. Dieses übergeordnete Verzeichnis kann auch das Hauptverzeichnis auf dem Webserver sein. 

beelogger Skript Auswahl

Speichern der Messwerte

Zum Speichern der Messwerte wird die php-Datei ‘beelogger_log.php’ verwendet. Beim Aufruf der Datei auf dem Webserver, werden die Sensordaten über die URL mit Variablen übergeben und in der Datei ‘beelogger.csv’ gespeichert. Dabei wird die CSV-Datei automatisch angelegt, sollte sie noch nicht vorhanden sein.

Folgend eine Erklärung der wichtigsten Elemente für die Anpassung und zum Test von ‘beelogger_log.php’.

Als kleine Absicherung, dass nicht jede Person mit Kenntnis des Skriptes, Datensätze speichern kann, muss bei der Übertragung der Variablen ein Passwort mitgegeben werden. Zur eigenen Sicherheit ist ‘!meinPasswort!’ in ein eigenes Passwort zu ändern. Das gleiche Passwort muß auch im Skript vom Ethernet-Adapter bzw. der kompletten Programmcodes eingegeben werden.

Zum Test kann über einen Browser das Skript auf dem Webserver aufgerufen und mit der URL Variablen übergeben werden. Hierfür muss das Passwort in der URL an das eigene Passwort, sowie die Domain und das Verzeichnis angepasst werden.

Bei Erfolg wird auf dem Server die Datei ‘beelogger.csv’ erstellt, die Daten werden darin gespeichert und die Website gibt folgenden Hinweis zurück:

Grafische Darstellung

Zur grafischen Darstellung der Daten wird die beliebte Library dygraphs verwendet.
Diese kommt dabei mit nur zwei Dateien aus, die nicht bearbeitet und einfach auf den Webserver geladen werden:

Zur Anzeige der gespeicherten Messwerte aus ‘beelogger.csv’ wird die php-Datei ‘beelogger_show.php’ verwendet, in der die Library eingebunden ist.

Eine Demonstration der grafischen Darstellung ist unter ‘Live‘ zu finden.

Folgend eine Erklärung der wichtigsten Elemente für die Anpassung von ‘beelogger_show.php’.

Änderung der Größe der Kurvendarstellung:

Beim Aufruf der Website sind als Standard alle Messkurven eingeblendet. Sollte ein Sensor über den Programmcode des Datenloggers deaktiviert sein, wird für diesen Sensor keine Messkurve angezeigt. Somit ist auch die Anzeige der detaillierten Messwerte des Sensors automatisch ausgeblendet. Über die Checkboxen können einzelne Messkurven temporär  aus- bzw. wieder eingeblendet werden, beispielsweise um eine höhere Auflösung zu erhalten. Beim Aufruf oder bei Aktualisierung der Seite, wird der Standard automatisch wieder gesetzt. Soll beim Aufruf der Website eine Messkurve als Standard ausgeblendet sein, kann das im Skript eingestellt werden:

‘true’ bedeutet eingeblendet
‘false’ bedeutet ausgeblendet

Dabei bezieht sich die Reihenfolge auf folgende Elemente, wobei ‘Datum’ nicht mitgezählt wird:

Entsprechend der vorgenommenen Änderungen, müssen auch die Checkboxen angepasst werden, damit bei einer eingeblendeten Messkurve der Haken gesetzt und bei einer ausgeblendeten Messkurve der Haken nicht gesetzt ist. Eine Checkbox besteht dabei immer aus zwei Zeilen (Beispiel: Stocktemperatur):

Ob ein Haken standardmäßig gesetzt ist oder nicht, wird mit dem Befehl “checked” in der oberen der beiden Checkbox-Zeilen festgelegt. Ist dieser Befehlt vorhanden, ist der Haken beim Aufruf oder bei Aktualisierung der Seite gesetzt.

Die Konfiguration des Schwarmalarms wird auf der Seite Schwarmalarm erklärt.

Release Notes

Version Release Notes
1.0
  • Initiale Version
Download

 

Webserver-Skirpte für beelogger-Solar

Der beelogger-Solar ist ein spezieller Client für den Batterie- bzw. Solarbetrieb. Die Verwendung des Bienenzählers mit diesem Client ist aufgrund des hohen Stromverbrauchs nicht sinnvoll. Zudem müssen die Zählergänge permanent überwacht werden, wodurch der Prozessor nicht in einen Schlafmodus versetzt werden kann. Stattdessen bietet der beelogger-Solar die Option, seine aktuelle Batterie- und Solarspannung zur Überwachung und Dokumentation zu übermitteln. Die Webserver-Skripte für den beelogger-Solar basieren auf den beschriebenen Skript-Dateien und wurden durch kleine Modifikationen an die neuen Bedürfnisse angepasst.

Zum Test über einen Browser kann auch das Skript für den beelogger-Solar auf dem Webserver aufgerufen und mit der URL Variablen übergeben werden. Auch hierfür muss das Passwort in der URL an das eigene Passwort, sowie die Domain und das Verzeichnis angepasst werden.

Release Notes

Version Release Notes
1.0
  • Initiale Version
Download