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
- 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
- errorchecker.php: Fehlerprotokolle der beelogger_log.php
Verzeichnisstruktur auf dem Webserver
Die beelogger-Serverdateien benötigen ein Verzeichnis, z.B. „bee“.
Hierin müssen die nachfolgenden Dateien und Verzeichnisse sowie das Verzeichnis belogger1 liegen:
- „bee“
- dygraph21.js
- dygraph21.css
- beelogger_mobileWatch.php
- beelogger_mobileCheck.php
- general_ini.php
- beelogger_icons (Verzeichnis)
- beelogger_sprachen (Verzeichnis)
-
- 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
- beelogger1
Der Name des Grundordners (z.B. „bee“), der wie ein Accountordner verwendet wird, kann frei gewählt werden (sollte aber möglichst kurz gehalten werden, in den Sketchen bestehen Grenzen bzgl. der Länge; auf Umlaute, Sonder- und Leerzeichen muss verzichtet werden). Die Skripte benötigen Schreibrecht auf Ebene des Verzeichnis „bee“, weil die beelogger_log.php dort Fehlerprotokolldateien bei fehlerhaften Daten, falschem Passwort, usw. anlegt.
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 für jedes System/jede Waage 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.
Information zum local_Updater
Im Script-Paket ist das Script „local_Updater.php“ enthalten mit dem die neuen Scriptdateien in bestehende beelogger-Verzeichnisse automatisch kopiert werden.
Das Script funktioniert mit Version vom 11.04.2024 sowohl in Systemen die mehrere Accounts mit beelogger-Unterverzeichnissen verwenden und auch, wenn nur die beelogger-Verzeichnisse vorhanden sind.
Beispielstrukturen der Verzeichnisse:
AlleAktuelleDateien (Verzeichnis mit den neuen Scripten)
- User_1 (z.B. „bee“)
- beelogger1
- Quad1
- User_2 (z.B „test“)
- beelogger1
- Duo1
- beeloggerD1_1
- beeloggerD1_2
Das Script local_Updater wird aus dem Verzeichniss „AlleAktuelleDateien“ aufgerufen.
Ohne Option werden nur die Verzeichnisse angezeigt, die ein Update erhalten können.
Mit Option ?U werden die Script-Dateien kopiert.
Mit Option ?X werden die Icons und Sprachdateien kopiert.
Werden die verschiedenen Updates der Scriptversionen in verschiedenen Verzeichnissen vorgehalten,
z.B. neben „AlleAktuellen Dateien“ auch „M27_AlleAktuellenDateien“, „M28_240407_AlleAktuellenDateien“,
so kann jederzeit auf eine alte Script-Version geändert werden.
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/bee/beelogger1/beelogger_log.php?TempIn=25&TempOut=35&FeuchteIn=40&FeuchteOut=60&Licht=50000&Gewicht=25000&BienenIn=200&BienenOut=500&Show=1&PW=meinPasswort(default=Log)
Ein beelogger (Universal, STM32, SMD) mit einer Waage wird diese Daten aussenden:
http://meineDomain.de/bee/beelogger1/beelogger_log.php?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&PW=meinPasswort(default=Log)
Übermittlung mehrerer Datensätze in einer Übertragung:
http://meineDomain.de/bee/beelogger1/beelogger_log.php? 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&PW=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/bee/Duo1/beelogger_log.php?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&PW=meinPasswort(default=Log)
Hinweis: Das Datum muss aktuell sein. Datensätze mit Datum in der Vergangenheit erscheinen nicht in der Grafik
Information: zusätzlicher Parameter A=1 notwendig für Skripte vor 25.07.2024
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.31
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.