Bienenzüchter, die ihre Völker besser kennenlernen möchten, müssen die fleißigen Insekten nicht pausenlos stören. Mit einem Raspberry Pi und verschiedenen Sensoren überwachen die beiden Autoren als Hobbyimker Temperatur, Luftfeuchtigkeit und bald auch das Gewicht des Bienenstocks.
Die Winter im Sauerland sind lang, aber vor allem wechselhaft. Mal schneit es im Oktober, mal herrschen über Weihnachten frühlingshafte 15 Grad. Die Imker in der Gegend sind darauf eingerichtet und füttern schon im Frühherbst (also nach der letzten Honigernte) für den Winter ein: Je nach Größe des Bienenvolks wandern mehrere Liter Zuckerlösung in die Insekten-Behausungen, die so genannten Beuten. Fallen die Außentemperaturen, heißt es irgendwann: Klappe zu, Mäusegitter vors Flugloch, und im April sehen wir uns wieder.
Da Imker während der Wintermonate die Beuten normalerweise nicht öffnen, können sie nicht wissen, ob es einem Volk gut geht. Inspiriert vom Hiveeyes-Projekt [1] und dem Open-Hive-Monitoringsystem [2] planen die Autoren eine eigene Monitoring-Lösung für ihre Bienenvölker. Die Hobbyimker wollen zunächst die Temperatur beobachten (siehe Kasten “Versuchsaufbau”), später aber auch eine eigene Stockwaage anschließen.
Versuchsaufbau
Zum Einsatz kam ein Raspberry Pi 2 Model B mit Raspbian Stretch (auf Basis von Debian 9), an den die Imker einen Temperatur- und Luftfeuchtigkeitssensor (DHT11) anschlossen. Sie experimentierten ebenfalls mit einem DS18B20-Temperatursensor und einem aktiven Lautsprecher, die sie über ein 40-Pin-GPIO-Extension-Board und ein Breadboard mit dem Pi verbanden.
DHT11-Sensor anschließen
Den digitalen Temperatur- und Feuchtigkeitssensor DHT11 gibt es für wenige Euro im Handel. Er liefert die Temperatur in Grad Celsius und die relative Luftfeuchtigkeit in Prozent. Die Bastler verbanden den Sensor im ersten Versuch direkt mit dem Raspberry Pi. Beim Auslesen hilft die Python DHT Sensor Library [3]. Nach dem Installieren der beiden Pakete »build-essential« und »python3-dev« checkten wir die Bibliothek aus dem Github-Repository aus und spielten sie auf dem Rechner ein:
$ git clone https://github.com/jugend-programmiert/Python_DHT $ cd Python_DHT $ sudo python3 setup.py install
Danach ist es möglich, die Library mit »import« in eigenen Python-Skripten zu verwenden. Listing 1 zeigt ein Beispiel, das die Daten des Sensors ausliest und auf der Konsole ausgibt. Ein Testlauf auf der Konsole zeigt, dass Sensor und Pi zusammenarbeiten:
Listing 1
dht11_einfach.py
01 import Python_DHT
02
03 sensor = Python_DHT.DHT11
04 pin = 4
05 humidity, temperature = Python_DHT.read_retry(sensor, pin)
06 print("dht temperature="+str(temperature)+",humidity="+str(humidity))
$ python3 dht11_einfach.py dht temperature=17.0,humidity=49.0
Das Skript legten die Hobbyimker unter »/usr/local/bin« ab und kümmerten sich als Nächstes um die Datenbank und den Collector.
Datenbank einrichten
Sowohl Influx DB [4] als auch Telegraf [5] steuerte die Influxdata-Paketquelle [6] bei, sie wurden in die Datei »/etc/apt/sources.list.d/influxdb.list« eingetragen. Danach fügten wir den Gnu-PG-Schlüssel des Repo hinzu:
$ curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
Nach dem Aktualisieren der Paketliste (»apt update«) spielten die Bastler die beiden Pakete »influxdb« und »telegraf« ein. Für die Datenbank aktivierten sie den automatischen Start beim Booten und initialisierten den Server:
$ sudo systemctl enable influxdb $ sudo systemctl start influxdb
Danach starteten sie den Kommandozeilenclient:
$ sudo influx Connected to http://localhost:8086 version 1.5.1 InfluxDB shell version: 1.5.1
Hier legten sie einen neuen Benutzer »admin« und auch eine neue Datenbank namens »telegraf« an:
> CREATE USER admin WITH PASSWORD '****' WITH ALL PRIVILEGES > CREATE DATABASE telegraf > exit
In der Influx-DB-Konfiguration »/etc/influxdb/influxdb.conf« gilt es, unter »[http]« den Webserver zu aktivieren:
[http] enabled = true bind-address = ":8086"
Nach einem Neustart des Dienstes über »systemctl restart influxdb« ging es mit der Telegraf-Konfiguration weiter.
Gut gesammelt
Der Account »telegraf« muss Mitglied in der Gruppe »gpio« sein, damit der Kollektor die Werte vom GPIO-Pin lesen darf:
usermod -a -G gpio telegraf
In der Datei »/etc/telegraf/telegraf.conf« stehen im Abschnitt »OUTPUT PLUGINS« die Informationen zur Datenbank:
[[outputs.influxdb]] timeout = "5s" username = "admin" password = "****"
Im Bereich »INPUT PLUGINS« ist dann auch noch Platz für das eigene Python-Skript, das später jeweils einmal pro Minute laufen soll:
[[inputs.exec]]
commands = ["python3 /usr/local/bin/dht11_einfach.py"]
interval = "60s"
data_format = "influx"
Wer prüfen will, ob die Kommunikation zwischen Telegraf und Influx DB klappt, kann den Client »influx« starten. Listing 2 zeigt eine Abfrage der »telegraf«-Datenbank auf dem Testsystem.
Listing 2
telegraf-Datenbank abfragen
01 $ influx 02 Connected to http://localhost:8086 version 1.5.1 03 InfluxDB shell version: 1.5.1 04 > show databases 05 name: databases 06 name 07 ---- 08 telegraf 09 _internal 10 > use telegraf 11 Using database telegraf 12 > show series 13 key 14 --- 15 cpu,cpu=cpu-total,host=raspberrypi 16 [...] 17 dht,host=raspberrypi 18 [...] 19 system,host=raspberrypi 20 > select * from dht; 21 name: dht 22 time host humidity temperature 23 --------------------------- 24 1522242851000000000 raspberrypi 54 19 25 1522242911000000000 raspberrypi 54 19 26 1522242971000000000 raspberrypi 53 19 27 1522243031000000000 raspberrypi 53 19 28 [...]
Anschaulich gemacht
Grafana [7] ist zuständig für das Visualisieren der gesammelten Daten. Die Software unterstützt zahlreiche Datenquellen, darunter auch Influx-DB-Datenbanken. Da in den offiziellen Raspbian-Repositories eine relativ alte Grafana-Version liegt, fiel die Wahl auf ein aktuelles Paket von Github [8].
Auch der Grafana-Dienst möchte per »systemctl enable« auf den automatischen Start nach dem Booten vorbereitet sein. »systemctl start grafana-server« ruft ihn schließlich auf den Plan, Anwender erreichen das Webinterface über den Port 3000 (Benutzername und Passwort: »admin«). Als Erstes fügt man über »Add data source« die Datenbank »telegraf« hinzu. Danach geht es ans Einrichten des Dashboard, um die Metriken zu visualisieren (Abbildung 1).

Abbildung 1: Kurz nach 10 Uhr morgens hängten die Bastler den Pi in die Bienenbeute. Der Sensor misst Temperaturen zwischen 8 und 9 Grad Celsius an der Oberkante der unteren Zarge.
Zunächst provisorisch mit Tüten und Klebeband geschützt, wanderte der Raspberry Pi in das Bienenvolk, das neben der Hauswand steht und daher das vorhandene WLAN nutzen kann (Abbildung 2).

Abbildung 2: Noch steckt der Minirechner in einer provisorischen Hülle. Ein wasserfestes Gehäuse und ein Solarmodul für die kabellose Stromzufuhr stehen auf der Einkaufsliste.
Die Imker entnahmen ein Rähmchen aus der obersten Etage der zweizargigen Beute, um Platz für den Minirechner samt Sensor zu schaffen. Der DHT11 misst derzeit also die Temperatur an der Oberkante der unteren Zarge. Bei einer Außentemperatur von 1 Grad waren das am Osterwochenende durchschnittlich 8 Grad.
Volksnah
Höher sind die Temperaturen an der Stelle, wo die Königin sitzt und wo gebrütet wird (um die 35 Grad Celsius). Andere Imker haben gleich drei oder vier Sensoren in den Beuten untergebracht und messen die Temperatur am Flugloch, unter dem Deckel und in der untersten Zarge. Das Hiveeyes-Projekt präsentiert deren Ergebnisse [9].
Angelehnt an ein Sunfounder-Tutorial [10] experimentierten die Hobbyimker mit einem DS18B20-Temperatursensor und einem Lautsprecher-Modul. Zur Kommunikation über das GPIO-Extension-Board installierten sie die Wiring-Pi-Bibliothek [11], die auch das Tool »gpio« auf den Pi bringt (Abbildung 3).
Es soll ein Messgerät entstehen, das ein Tonsignal beim Überschreiten einer bestimmten Temperatur ausgibt. Interessant könnte eine solche Vorrichtung für den Transport von Bienenvölkern sein. Sind längere Strecken geplant, sorgt ein Transportgitter oben auf der Beute für ausreichend Luftzufuhr. Bei kürzeren Wegen sichern viele Imker jedoch einfach mit einem Spanngurt.
Wird es zu warm, fangen die Bienen an, mit ihren Flügeln zu schlagen, um für Abkühlung zu sorgen. Ist die Beute verschlossen, heizt sich alles immer weiter auf – die Tiere können so hohe Temperaturen erzeugen, dass Waben und Honig schmelzen und die Bienen zugrunde gehen. Ein Signalton warnt den Imker beim Transport und verhindert, dass die Völker verbrausen, sich bei der Kühlung des Bienenstocks also zu Tode schuften.
Nicht vermessen!
Für den Sommer ist ein Update in Form einer Stockwaage geplant, um das Gewicht der Völker zu beobachten. Der Imkerverein Nettetal hat ein solches Projekt mit einem Arduino umgesetzt [12]. Die Daten präsentiert das Hiveeyes-Projekt. Eine solche Waage ist nicht nur im Sommer interessant, um die Honigproduktion zu beobachten. Sie lässt sich auch im Winter nutzen, um besser einschätzen zu können, ob ausreichend Futter vorhanden ist. Bleibt es sehr lange sehr kalt, benötigen die Bienen auch mehr Nahrung – die Imker sehen dann rechtzeitig, ob es knapp wird.
Infos
-
The Hiveeyes Project: https://www.hiveeyes.org
-
Open Hive: http://open-hive.org
-
Python DHT Sensor Library: https://github.com/coding-world/Python_DHT
-
Influx DB: https://www.influxdata.com/time-series-platform/influxdb
-
Telegraf: https://www.influxdata.com/time-series-platform/telegraf
-
Repository für Influx DB und Telegraf: https://repos.influxdata.com/debian
-
Grafana: https://grafana.com
-
Grafana auf Github: https://github.com/grafana/grafana
-
Hiveeyes-Dashboards: https://swarm.hiveeyes.org/grafana/dashboards
-
Sunfounder-Tutorials: https://www.sunfounder.com/learn
-
Wiring Pi: http://wiringpi.com
-
Arduino-Stockwaage: https://www.imker-nettetal.de/esp8266-beescale-erste-eindruecke







im winter bei temperaturen unter 5 grd C muß ich nicht wissen ob es meinen bienen gut geht, da kann eh nichts für sie tun und bei 10 grd C sehe ich wieder ob es ihnen gut gegangen ist.
Im Prinzip ist das richtig, aber : Wenn man schon im Winter merkt, dass das Futter knapp wird, hat man im Herbst Mist gebaut. Aber auch das lässt sich noch gerade biegen, wenn man es merkt. Ich habe selbst im Februar noch notgefüttert und das geht sehr wohl ! Ich betreibe einige Stockwaagen mit einem Raspberry und finde die Geschichte äußerst aufschlussreich : Viele Details wie einsetzende Tracht, deren Umfang, nächtliche Trocknung und sogar das Einfliegen der Jungbienen sind erkennbar, Alarm per Email bei einem abgehenden Schwarm usw. Was mich hier gewaltig stört, ist die Einbringung des Raspberry in das… Mehr »