Das Projekt ‚beelogger‘ ist ein System zu Erfassung von diversen Messwerten im und am Bienenvolk.
Der Aufbau der beelogger-Hardware besteht im Wesentlichen aus den Standardanschaltungen der Sensoren und Module, wie diese in vielen Tutorials gezeigt werden.
Die Messwerte umfassen das Gewicht der Bienenbeute, Temperatur, Luftfeuchte, Lichtintensität sowie die Anzahl der aus- und einfliegenden Bienen. Die gesammelten Daten können beispielsweise auf einer SD-Karte gespeichert oder über ein lokales Netz bzw. das Internet an einen Webserver übergeben werden. Durch den modularen Aufbau eignet sich der beelogger aber natürlich auch für andere Anwendungen.
Vom Webserver können die Daten grafisch aufbereitet mit einem Browser abgerufen werden. Auch eine extra für Smartphonebrowser geschriebene Webserverdatei steht für einen schnellen Überblick zur Verfügung. Über den Webserver kann zudem ein konfigurierbarer Schwarmalarm per Email oder Pushservice ausgelöst werden.
Allgemeine Information über:
- Hardwarevarianten
- Sensoren
- Kommunikationswege / Netzwerk
- Messwerte
- verfügbare Konfiguration
in den nachfolgenden Abschniten.
Hardwarevarianten
Ein beelogger ist in unterschiedlichen Hardwarevarianten aufbaubar. Er basiert im wesentlichen auf dem populären Arduino. Der Aufbau ist somit unter Verwendung handelsüblicher Komponenten möglich.
Der beelogger-Universal auf Basis eines ATmega328 ermöglicht einen schnellen und einfachen Aufbau mit Standard-Bauteilen.
Mit dem beelogger-Universal steht ein solargestützes, Akku versorgtes autarkes System mit sehr geringem Stromverbrauch zur Verfügung. Ein Aufbau mit externer Stromversorgung ist alternativ möglich.
Für Anwendungen wie den Bienenzähler dient der beelogger-Universal einfache Ausbaustufe. Die Stromversorgung erfolgt durch Netzteil über normale Netzspannung
Des Weiteren steht der beelogger mit µC STM32F… zur Verfügung.
Die beelogger sind weitestgehend in allen Funktionen und Eigenschaften identisch.
beelogger-STM unterstützt Audioerfassung an der Bienenbeute; Sketche für Bienenzähler / Regenmesser verfügbar.
Für das Projekt ‚beelogger‘ wurden spezielle Platinen entwickelt.
Sensoren
Zur Erfassung der Messwerte werden diverse Sensoren unterstützt:
– Gewicht mit einem HX711 in Verbindung mit einer Wägezelle
– Temperatur mit DS18B20
– Beleuchtungsstärke mit BH1750 (GY-30)
– Bienenzähler durch Lichtschranken (nur mit beelogger-Universal)
– Luftfeuchtigkeit / Temperatur mit
– Luftdruck mit BME280
– Niederschlagmesser
– weitere Sensorik sind durch eure eigenen Erweiterungen möglich.
Netzwerk
Die Messdaten werden vom beelogger erfasst und können über Netzwerkschnittstellen zum Webserver übermittelt werden. Hierzu stehen grundsätzlich drei Optionen zur Verfügung:
- WLAN über das ESP8266 Modul
- Mobilfunk über ein 4G-LTE -Modul,
der Aufbau von 2G-GSM wird nicht mehr empfohlen - LoRaWAN™ über ein RFM95 Modul im TheThingsNetwork
- LAN über WIZnet W5100 Ethernet-Adapter (nur mit beelogger-Universal 1.x (nicht mehr verfügbar))
SD-Karte / Bluetooth (Offline-Option)
Beim beelogger-Universal (erweiterter Aufbau) besteht die Möglichkeit, die Messdaten mit einem Zeitstempel versehen auf einer SD-Karte abzuspeichern. Die genaue Uhrzeit wird hierbei von der Echtzeituhr DS3231 zur Verfügung gestellt. Zum Auslesen der Daten wird die SD-Karte dem System entnommen bzw. ausgetauscht oder die Daten werden per Bluetooth übertragen. Die Daten können manuell auf einen Webserver mit den Webserver-Skripten übertragen oder mit der Offline-Grafik ausgewertet werden.
Messwerte
Mit den von uns erstellten Arduino-Sketchen und Webserver-Skripten werden im Basissystem mit einer Waage insgesamt bis zu elf Parameter übertragen.
In den Sketchen sind diese Parameter mit folgenden Messwerten belegbar:
– Temperatur Sensor 1
– Temperatur Sensor 2
– Luftfeuchte Sensor 1
– Luftfeuchte Sensor 2
– Lichtstärke
– Gewicht Waage 1
– Akkuspannung oder Bienenzähler Wert 1
– Solarspannung oder Bienenzähler Wert 2
– Luftdruck
– Niederschlag oder Bienenzähler Zählverfahren Nr.2
– ein frei verwendbarer Parameter oder Bienenzähler Zählverfahren Nr.2
Bei Systemen mit zwei oder mehr Waagen steht je Waage zusätzlich zur Verfügung ein Messwert:
– Temperatur
– Luftfeuchte
– Gewicht
und für das System
– einmal der Messwert Wägzellentemperatur.
Grundsätzlich können die Parameter durch individuelle Anpassung der Sketche beliebig für Messwerte verwendet werden. Die Beschriftung der Parameter in der Grafik ist frei anpassbar. So könnte z.B. das Gewicht einer zweiten Waage in einem nicht durch andere Sensoren belegten Parameter oder anstelle eines anderen Parameter, z.B. Lichtstärke, übertragen werden.
Fehlende Messwerte werden vom System automatisch erkannt. Dadurch kann ein Minimalsystem aufgebaut werden, welches z.B. nur das Gewicht einer Waage erfasst und anzeigt.
Konfigurationen
Diese Konfigurationen werden von unseren Programmcodes unterstützt.
Komponenten und Konfigurationen sind den Arduino-Pins in den beelogger-Sketchen weitestgehend fest zugeordnet.
Durch die Konfiguration der Sketche über „config“-Dateien und Webserverskripte kann die Zahl der Sensoren auf die jeweilige Systemausstattung angepasst werden.
Informationen zu möglichen Sensoren hier.
Verbindungen (Netzwerk) / Daten abspeichern:
Mobilfunk 4G-LTE |
|
Ethernet (LAN) – W5100 |
WLAN -ESP8266 |
LORA -RFM95 |
SD-Karte / RTC (Echtzeituhr) – DS3231 |
|
beelogger-Universal 2.x | x | E | nur Version 1.x |
x | nur Version 1.x |
x, opt. Bluetooth |
beelogger-STM32 | x | E | – | x | x | – |
E => nicht mehr empfohlen
Hinweis: beelogger-SMD und Universal 1.x sind nicht mehr verfügbar
beelogger Akku-/Solarbetrieb:
Alle beelogger Varianten für Akku-/Solarbetrieb haben im Energiesparmodus eine geringe Stromaufnahme von <= 10uA.
Leider ist es nicht einfach damit getan, ein Netzteil gegen einen Akku auszutauschen. Der Stromverbrauch wäre für eine angemessene Laufzeit viel zu hoch, zumindest wenn man keine ’schweren Geschütze‘ auffahren möchte. Der Fertigstellung dieses speziellen Datenloggers für Imker gingen daher viele Recherchen, Überlegungen und noch mehr Tests voraus. Die Entwicklung der Prototypen mit Dauertest benötigt üblicherweise über ein Jahr. Dabei werden die Platinen und Firmware weiterentwickelt, optimiert und wieder getestet. Das Ergebnis ist diese viele Arbeit jedoch auf jeden Fall Wert.
Die herausragendste Eigenschaft des beeloggers ist seine Energieeffizienz. Mit nur ca 10uA im Sleep-Mode ist der Verbrauch deutlich geringer als die Selbstentladung des Akkus. Grundlage ist die Auswahl der optimalen Bauteile sowie eine intelligente Schaltung. Für die optimale Nutzung der Möglichkeiten ist ferner ein spezieller Programmcode notwenig.
Das grundlegende Prinzip ist hierbei ganz einfach: Zwischen den Messungen der gewünschten Parameter, versetzt man den Microcontroller in einen Schlafmodus. Die angeschlossenen Sensoren und Module werden zuvor von der Stromversorgung getrennt.
Eine tolle Übersicht über verschiedene Sleep-Modes des ATmega328 und deren Einsparpotential findet man unter http://www.mikrocontroller.net/articles/Sleep_Mode. Wirklich interessant und praxistauglich sind auch die ausführlichen Tests zur Stromeinsparung von Nick Gammon unter http://www.gammon.com.au/forum/?id=11497.
Informationen zum Stromsparen bei den STM32F103/STM32F4x1 finden sich auf der Webseite des Herstellers ST.com und unter www.stm32duino.com.
Die größte Einsparung erhält man hierbei mit dem Power-Down-Modus. Um den Microcontroller aus diesem Modus regelmäßig für die Messungen zu wecken, verwendet der beelogger eine RTC (Real Time Clock) mit Alarmausgang, der an einem Interrupt des Microcontrollers angeschlossen ist. Bevor der Power-Down-Modus nach erfolgreichem Versand der gemessenen Daten wieder aktiviert wird, muss die RTC mit der nächsten Weckzeit programmiert werden. Erst dann können Sensoren und Module vom Strom getrennt und der Microcontroller schlafen gelegt werden.
Beim beelogger-STM32 ist die RTC in den Microcontroller STM32F103/STM32F4x1 integriert.
Weiteres Potential zur Einsparung nutzt man durch speziell entwickelte Hardware. Große Stromfresser sind beispielsweise die LEDs, die rund 5 – 10mA pro LED verbrauchen können, werden deaktiviert. Auf eine USB-Programmierschnittstelle, die dauerhaft mit Strom versorgt, obwohl diese für den Betrieb nicht notwendig ist, wird verzichtet. Die Spannungsregler, um beispielsweise aus der Akkuspannung 5V zu erzeugen, sind so gewählt, dass deren Eigenverbrauch, der letztlich in Wärme umgesetzt wrid, minimal ist.
Programmcodes
Für die jeweiligen Konfigurations- und Einsatzvarianten mit Sensoren und Netzwerk werden für die verschiedenen beelogger-Hardwaretypen zugeschnittene und konfigurierbare Programmcodes (Sketche) für ATmega328 oder STM32Fxyz angeboten.
Zur Hilfe beim schrittweisen Aufbau stehen zusätzlich für jede Komponente Test-Programmcodes zur Verfügung.
Webserver
Um die Messdaten auf einem Webserver speichern und über einen Webbrowser grafisch anzeigen zu können, stehen Webserver-Skripte zur Verfügung. Teil der Webserver-Skripte ist auch der konfigurierbare Schwarmalarm per Email oder Pushnachricht sowie die Möglichkeit, die aktuellen Messwerte mit beelogger_MobileWatch aufzurufen.
Es gibt einen communityServer, der für alle User, die keinen eigenen Server haben, zur Nutzung der eigenen beelogger kostenlos und dauerhaft (mit immer aktuellster Software) zur Verfügung steht.