beelogger

Systemübersicht

Das Projekt ‘beelogger’ ist ein System zu Erfassung von diversen Messwerten im und am Bienenvolk.
Durch den modularen Aufbau eignet er sich aber natürlich auch für andere Anwendungen. 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. 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.

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 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.
Für Anwendungen wie den Bienenzähler oder direkten Netzwerkanschluss (LAN) und Stromversorgung mit Netzteil über normale Netzspannung dient der beelogger-Universal einfache Ausbaustufe.
 
Des Weiteren steht der beelogger-Blue und der beelogger-SMD (SMD-Bauweise) zur Verfügung.

Der beelogger-SMD und der beelogger-Universal sind in allen Funktionen und Eigenschaften identisch.

Für das Projekt ‘beelogger’ wurden spezielle Platinen entwickelt.

beelogger-Universal mit Akku-Shield und SIM7600-Modul

beelogger-SMD Platine V 3.0 bestückt, mit HX711

beelogger-SMD V.3 mit HX711

 

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.

beelogger DHT21beelogger DS18b20 wasserdichtbeelogger BH1750FVI

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:

 

SD-Karte / Bluetooth (Offline-Option)

Beim beelogger-Universal (erweiterter Aufbau) und beelogger-SMD 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.  

beelogger-Universal mit den Modulen HX711, DS3231, SD-Karte und Steckplatz für HC-05

beelogger-Universal V.1.02 mit HX711, DS3231, SD-Karte und Steckplatz für HC-05

Messwerte

Mit den von uns erstellten Arduino-Sketchen und Webserver-Skripten werden in der Basiskonfiguration mit einer Waage insgesamt bis zu acht 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
 – ein frei verwendbarer Parameter

Bei Systemen mit zwei oder mehr Waagen steht je Waage zusätzlich ein Messwert:

 – Temperatur
 – Luftfeuchte
 – Gewicht
zur Verfügung.

Grundsätzlich können die Parameter beliebig für Messwerte verwendet werden. Die Beschriftung der Parameter in der Grafik ist frei anpassbar. So kann z.B. das Gewicht einer zweiten Waage (Kanal B) 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.

Programmcodes

Für die jeweiligen Konfigurations- und Einsatzvarianten mit Sensoren und Netzwerk werden für die verschiedenen beelogger-Hardwaretypen zugeschnittene und konfigurierbare Programmcodes (Sketche)  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.

 

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 jeweiligen Bedürfnisse angepasst werden.

Sensoren:

  DHT21/DHT22* DS18B20*

SHT31*

Si7021*

BME280* BH1750 Stockwaage HX711 Bienenzähler **
beelogger-Universal

 2x

 4x

2x

 1x

 2x

 1x

2 Waagen,

option. 6

bis zu 4 Module,
nur bei einfacher Ausbaustufe
beelogger-Blue

 2x

 4x

2x

 1x

 2x

 1x

2 Waagen,

option. 4

bis zu 4 Module,
(geplant)
beelogger-SMD

 2x

 4x

2x

 1x

 2x

 1x

2 Waagen,

option. 6

   —–

* Es stehen im vom uns erstellten System in der Grundkonfiguration mit einer Waage zwei Parameter für Luftfeuchte und Temperatur zur Verfügung.
Typische Beispiele für Sensorkombinationen:
– ein DHT und ein – vier DS18B20 oder
– zwei DHT oder
– ein Si7021 und ein BME280 oder
– ein SHT31 und ein BME280 oder 
– ein DS18B20 und ein BME280

** Wegen des Strombedarfs der Bienenzählermodule ist der Aufbau mit Bienenzähler und eine Akku- oder batteriegespeister Versorgung nicht möglich.

Verbindungen (Netzwerk) / Daten abspeichern:

  4G-LTE
(Mobilfunk)
– SIM7600E
2G-GSM (Mobilfunk)
– SIM800L
Ethernet (LAN) – W5100 WLAN
-ESP8266
LORA
-RFM95
SD-Karte / RTC (Echtzeituhr)
– DS3231
beelogger-Universal x x x x x x, opt. Bluetooth
beelogger-Blue x x x x x (geplant)
beelogger-SMD x x x x x

 

beelogger Akku-Betrieb:

Die beelogger Varianten für Akkubetrieb 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. Insgesamt hat die Entwicklung über ein Jahr gedauert, in denen laufend Prototypen getestet, optimiert und wieder getestet wurden. 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 Prozessor in einen Schlafmodus. Die angeschlossenen Sensoren und Module werden zuvor von der Stromversorgung getrennt.

Eine tolle Übersicht über verschiedene Sleep-Modes des AT-Mega 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.

Die größte Einsparung erhält man hierbei mit dem Power-Down-Modus. Um den Prozessor 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 Prozessors 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 Prozessor schlafen gelegt werden.
Beim beelogger-Blue ist die RTC in den Prozessor STM32F103 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. Aber auch eine USB-Programmierschnittstelle wird dauerhaft mit Strom versorgt, obwohl diese für den Betrieb nicht notwendig ist. Einfache Spannungsregler, um beispielsweise aus 5V eine Spannung von 3,3V zu erzeugen, wandeln einen großen Anteil der Energie einfach in Wärme um. Nicht zuletzt ist auch die Taktfrequenz des Prozessors für den Energieverbrauch ausschlaggebend, denn bei geringerer Taktfrequenz verringert sich auch der Stromverbrauch.

 

Die folgende Übersicht zeigt den Stromverbrauch verschiedener Komponenten im Energiesparmodus.

 Komponente  Betrieb über 5V  Verbrauch des Chips im Stromsparmodus (Datenblatt)
AT-Mega check_ok (beelogger-SMD nur 3,3V) < 1μA
STM32F103 3,3/5V mixed mode ~ 3uA
MCP1702 check_ok ~ 2uA
 HX711 check_ok
(für einen stabilen Betrieb mit 3,3V Modifikationen notwendig)
 < 1μA
 DS18B20 check_ok  7,8nA
 DHT21 / DHT22 check_ok 50uA
 BH1750FVI check_ok  1μA
 DS3231 check_ok 100uA

Durch die komplette Trennung der Komponenten von der Stromversorgung, während sich das System im Power-Down-Modus befindet, reduziert sich weiter der Stromverbrauch.