beelogger

Installation und Test der Webserver-Skripte

Installation:

Die Skripte ab Version M24 sind mit PHP8 getestet worden. Für einige Funktionen muss die Programmbibliothek cURL installiert sein.

Auf dem Webserver sind für einen Datenlogger zunächst lediglich 7 Dateien und 2 Ordner mit Grafikelementen und Sprachfiles notwendig:

  • beelogger_log.php‘ dient zum Speichern der Messwerte vom beelogger
  • ‘beelogger_config.php’ dient zur Konfiguration des beelogger-Systems
  • beelogger_show.php‘ ist für die grafische Anzeige der Messwerte verantwortlich
  • ‘beelogger_wetter.php’ sorgt für aktuelle Wetterdaten
  • beelogger_mobileWatch.php‘ ist ein Tool zur komprimierten Ansicht aller beeloggerDaten  (vornehmlich fürs Smartphone)
  • beelogger_mobileCheck.php‘ ist ein Tool zur komprimierten Ansicht einzelner beeloggerDaten  (vornehmlich fürs Smartphone)
  • dygraph21.css‘ und ‘dygraph21.js‘ sind Skriptdateien von dygraphs
  • ‘beelogger_icons’ Dieser Ordner enthält diverse beelogger-Icons
  • ‘beelogger_sprachfiles’ Dieser Ordner enthält die Übersetzungsdateien für die Sprachen

Zusätzlich werden noch einige Dateien automatisch von den php-Skripten angelegt:

  • beelogger.csv : speichert alle gesendeten Datenpakete, um sie in Dygraphs darstzustellen
  • month.csv : speichert die gesendeten Daten des letzen Monats (dies führt zu geringeren Ladezeiten im Alltag)
  • week.csv : speichert die gesendeten Daten der letzen Woche (dies führt zu geringeren Ladezeiten im Alltag)
  • beelogger_ini.php : speichert alle Einstellungen rund um die Darstellung und Funktionen des beeloggers
  • beelogger_map.php : speichert Daten zur beeloggerMap
  • beelogger_interface.php : legt eine Datensammlung für die mobileCheck an
  • loc.php : speichert die Standortdaten, die nach User-Freigabe vom SIM-Modul übermittelt wurden
  • general_ini.php: speichert generelle Einstellungen wie mobileWatch und GeneralAutoWatch
  • notes.csv: speichert alle Anmerkungen die in den Grafiken vom User eingefügt werden
  • warnung.txt : speichert serverseitig Informationen zum Schwarmalarm

Verzeichnisstruktur auf dem Webserver

Für den Betrieb eines Datenloggers müssen die beiden Skript-php-Dateien in einem Ordner liegen, während die beiden dygraphs-Dateien (dygraph21.js und dygraph21.css), die beelogger_mobileWatch.php und die Ordner: beelogger_icons und beelogger_sprachen im direkt übergeordneten Ordner liegen müssen:

  • dygraph21.js
  • dygraph21.css
  • beelogger_mobileWatch.php
  • general_ini.php
  • beelogger_icons
  • beelogger_sprachen
  • beelogger1
    • beelogger_log.php
    • beelogger_config.php
    • beelogger_show.php
    • beelogger_wetter.php
    • beelogger.csv
    • month.csv
    • week.csv
    • beelogger_map.php
    • beelogger_interface.php
    • beelogger_ini.php
    • notes.csv
    • warnung.txt

Der Name des Grundordners kann frei gewählt werden (sollte aber möglichst kurz gehalten werden, da somit die auszusendende Datenmenge geringer wird). Die Namen der Unterordner (beelogger1… beelogger8… Duo1…Triple1… usw) dürfen nicht verändert werden. Wir haben extra die Funktion der “Beutenbezeichnung” eingeführt, um dem User die Möglichkeit zu geben, einen eigenen Namen vergeben zu können.

 

Will man mehr als einen beelogger einsetzen, muss man die Ordner und Dateien nicht von Hand anlegen bzw. kopieren. Es reicht, wenn man sich in der Konfiguration eines bereits angelegten beeloggers “zusätzliche beelogger” (Normal, Duo, Triple,QuadPenta oder Hexa) anlegt. Das System erstellt dann automatisch alle dazugehörigen Dateien und Ordner.

Speichern der Messwerte

Zum Abarbeiten der übertragenen 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’ und als Kopie in ‘month.csv’ und ‘week.csv’ gespeichert. Dabei werden alle csv-Dateien automatisch angelegt, sollten sie noch nicht vorhanden sein. Die Datei beelogger_log.php erkennt automatisch, ob es sich um einen beelogger-Universal/Funk mit Bienenzähler, einen einfachen beelogger-SMD bzw. Universal oder einen beelogger-Multi handelt und legt die entsprechenden csv-Dateien in zugehörigen Ordnern selbstständig an.

 

Grafische Darstellung

Zur grafischen Darstellung der Daten wird die beliebte Library dygraphs Version 2.1 verwendet. Diese kommt dabei mit nur zwei Dateien aus, die nicht bearbeitet und einfach auf den Webserver in das beelogger-root-Verzeichniss geladen werden.

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

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

 

Testen der Webserverskripte:

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. Das voreingstellte Passwort ist “Log”. Ein beelogger mit Bienenzähler soll diese Daten aussenden:

http://meineDomain.de/beelogger1/beelogger_log.php?TempIn=25&TempOut=35&FeuchteIn=40&FeuchteOut=60&Licht=50000&Gewicht=25000&BienenIn=200&BienenOut=500&Show=1&Passwort=meinPasswort(default=Log)

 

Ein beelogger (Universal, STM32, SMD) mit einer Waage wird diese Daten aussenden:

http://meineDomain.de/beelogger1/beelogger_log.php?A=1&Z=2&M1=2022/11/04_08:30:06,0.7,11.1,-0.5,,,0.27,4.05,3.21,47.00,,3.27,13.16&Show=1&Passwort=meinPasswort(default=Log)

Übermittlung mehrerer Datensätze in einer Übertragung:

http://meineDomain.de/beelogger1/beelogger_log.php? A=1&M1=2022/11/04_08:30:06,0.7,11.1,-0.5,,,0.27,4.05,3.21,47.00,,3.27,13.16,2022/11/04_08:35:06,0.7,11.1,-0.5,,,0.28,4.05,3.50,5.00,,3.27,12.94&Show=1&Passwort=meinPasswort(default=Log)
Hinweis: Das Datum muss aktuell sein. Datensätze mit Datum in der Vergangenheit erscheinen nicht in der Grafik

Ein beelogger im Ausbau Duo (zwei Waagen) wird diese Daten aussenden:

http://meineDomain.de/Duo1/beelogger_log.php?A=1&Z=2&M2=2022/11/04_08:30:06,0.8,0.7,11.1,-0.5,-0.8,66.3,,,0.27,25.4,4.05,3.21,47.00,,3.27,13.16&Show=1&Passwort=meinPasswort(default=Log)
Hinweis: Das Datum muss aktuell sein. Datensätze mit Datum in der Vergangenheit erscheinen nicht in der Grafik

 

Die beelogger_log.php erkennt selbständig, welche Art von beelogger Daten sendet und verarbeitet diese dementsprechend. Bei Erfolg, werden die Daten auf dem Server gespeichert und die Website gibt beispielsweise folgende Ausgabe zurück:

Aktuelle ‘beelogger_log.php’-Softwareversion auf dem Server: M.24

beelogger-Universal(Solar) erkannt!
Der Datensatz wurde mit folgenden Werten gespeichert:

Temperatur Beute: 0.70
Aussen-Temperatur: 11.10
Luftfeuchte Beute: -0.50
Luftfeuchte aussen: 
Lichtstärke: 
Gewicht: 0.27
Akku-Spannung / BienenRein:  4.05
Solarspannung / BienenRaus:  3.21
Service / Bienendifferenz: 047
Aux2 : 3.27
Aux3 : 13.16

Übermittelter Datensatz: 2000/01/01 02:39:33,0.70,11.10,-0.50,,,0.27,4.05,3.21,47,0.27,,3.27,13.16,,,946690773 
Übermitteltes Sendezeit-Intervall im Modus 'zeitgesteuert' beträgt: 15 Minuten.

Übertragene Werte an Beep mit der ID: meine BeepID : time=946690773&t=11.10&t_i=0.70&h=&h_i=-0.50&l=&bv=4.05&weight_kg=0.27

Serverantwort: 1669542742T15Bok *

Hinweis: Im normalen Messbetrieb entfällt Show=1 und die Server Antwort ist: 1669542742T15Bok *
Die Antwort enthält einen Zeitstempel und Informationen zum konfigurierten Mess-/Sendezyklus.

Hier geht es zur Übersicht der neuen Funktionen, Releaseinformationen und Downloads