beelogger

beelogger – Programmcodes (ATmega)

Zum Test der Sensoren bzw. der Sensorkonfiguration sowie der Sleep-Funktionen beim beelogger und zur Kalibrierung der Spannungsüberwachung stehen mehrere Sketche zur Verfügung.

Die Haupt-Programmcodes für den Arduino Datenlogger mit Stockwaage für Imker basieren auf den bereits vorgestellten Test-Programmcodes. Die Konfiguration der Programmcodes ist sehr einfach und kann über wenige Anpassungen von Parametern vorgenommen werden.
Bei Verwendung der Platinen beelogger-Universal oder beelogger-SMD sind neben der individuellen Konfiguration keine weiteren Anpassungen mehr notwendig.

Die hier bereitgestellten Sketche arbeiten nur mit den Webserver-Skripte M.0x.
Die Versionsinformation findet sich in der Konfiguration der Webserverskripte.

Der Programmcode der Multi-Sketche enthält zudem zwei Funktionen, die speziell für den Akku- bzw. Solarbetrieb entwickelt wurden:

  1. Um den Akku zu schonen und ihm somit eine lange Lebensdauer zu ermöglichen, kann über die Variable ‘VMinimum’ die Spannung eingestellt werden, bei deren Unterschreitung keine Messung und auch kein Versand von Daten erfolgt. ‘VMinimum’ dient insbesonders beim beelogger-SMD dazu den korrekten Betrieb des SIM800L-Moduls sicherzustellen, welches eine minimale Spannung  (3,8V) benötigt.
  2. Damit der beelogger auch während einer längeren Zeitspanne ohne Aufladung (beispielsweise im Winter mit zugeschneiten Solarzellen) Sensordaten ermittelt und versendet werden, kann über die Variable ‘VAlternativ’ die Spannung eingestellt werden, bei deren Unterschreiten der Mess- und Sendezyklus verlängert wird. Die Länge dieses Zyklus wird über ‘AlternativIntervallMinuten’ eingestellt. Vorgabe ist 120 Minuten.

Diese Funktionen ersetzen keine im Akku integrierte Schutzschaltung vor Tiefenentladung

Beispiel:

  beelogger-SMD
Li-Ion-Akku
beelogger-Universal
6V Blei-Akku
2x LiIon-Akku 12V Blei-Akku
VMinimum = 3.75 V 5.7 V 7.5 V 11.5
VAlternativ = 3.8 V 5.9 V 7.6 V 11.9

WeckIntervallMinuten = 15
AlternativIntervallMinuten = 120

Bei einer Spannung die höher ist als VAlternativ, werden die Messwerte wie in den Intervallen (im Sketch oder bei aktiver Fernsteuerung über den Webserver) konfiguriert abgefragt und versendet. Ab einer Spannung von VAlternativ und geringer, werden Messungen und Versand der Daten nur noch alle 2 Stunden (120min) durchgeführt. Dieser Wert ist nicht über den Server konfigurierbar.
Bei einer Spannung die kleiner oder gleich VMinimum ist, werden weder Messungen vorgenommen, noch Daten versendet. Sobald der Akku durch die Solarzelle aufgeladen ist und die Akkuspannung die eingestellten Werte erreicht bzw. überschreitet, nimmt der beelogger seinen Betrieb wieder auf.

Die Bezeichnungen für die Sensoren, den Buttons und Standorte/Namen in der Grafik können über das Webserver-Skript online für die Darstellung konfiguriert werden.

Für eine optimale Konfiguration, Kalibrierung und den Download der notwendigen Libraries wird empfohlen, die separaten Seiten zu Sensoren, Modulen und Kalibrierung vorab durchzuarbeiten. Zu beachten ist, dass auch für deaktivierte Sensoren und Module die notwendigen Libraries installiert sein müssen. Hierzu findet sich eine Lib-Sammlung unten auf dieser Seite.

Im Vergleich mit den separaten Test-Programmcodes wurden folgende wesentliche Änderungen vorgenommen:

  • Der Programmcode ist in Funktionen organisiert.
  • Beim beelogger im Akkubetrieb werden alle Sensoren nach dem ‘Aufwachen’ neu initialisiert.
  • Serielle Ausgaben zum Ablauf sind nur nach Konfiguration verfügbar.
  • Waagen mit zwei Wägezellen (Double-Aufbau) werden bei Parallelschaltung der Wägezellen auf einen HX711 Kanal unterstützt.

Wesentliche Neuerungen:   

  • Die Multi-Sketche wurden in mehrere “ino”-Dateien aufgeteilt.
  • Konfigurationseinstellungen in “…_config.h” Dateien.
  • Temperaturkompensation der Wägezellen erfolgt nur über die Konfiguration im Webserver-Skript.
  • Waagen mit zwei Wägezellen (Double-Aufbau) werden bei Parallelschaltung der Wägezellen auf einen HX711 Kanal unterstützt.
    Vielen Dank an Marc Wetzel für die Anregungen zur Neugestaltung der Sketche.

Die Programmcode für die beelogger-Varianten finden sich unter

  • für beelogger Universal (einfache Ausbaustufe) 1.x / 2.x,  mit und ohne Option Bienenzähler

    beelogger-LAN / WLAN  (bis zu zwei Waagen)

Der Programmcode Universal (Solar) kann auch für den beelogger-SMD verwendet werden.

Der Programmcode für den beelogger-Funk (Easy-Plug) verwendet die frühere Einstellungen zur Sensorkonfiguration:

Alle Programmcode sind mit dem Webserver Multi kompatibel.

Dazu die Sammlung der verwendeten Arduino-Bibliotheken für die beelogger-Sketche zu Sensoren und Netzwerkanbindung.
Wir empfehlen die verwendeten Elemente des beeloggers mit den für jeden verwendeten Anteil mit den Testsketchen auszutesten, bevor die Sketche für den Live-Betrieb zum Einsatz kommen.