beelogger

beelogger – SD / Bluetooth Programmcode

 

beelogger-SD (mit optionaler Bluetoothdatenübertragung)

‘beelogger-SD’ kann mit dem beelogger-SMD oder beelogger-Universal aufgebaut werden und unterstützt einige Sensoren bis auf den Bienenzähler, auf den aus Energiespargründen verzichtet werden muss, sowie die Einstellung eines Weckintervalls über die integrierte Echtzeituhr. Weitere Sensoren können bei Bedarf integriert werden. Zusätzlich ermöglicht die spezielle Platine des beelogger-SMD die Messung der Solarspannung.

Zwischen den Messungen wird das komplette System in einen sehr stromsparenden Schlafmodus mit einem Verbrauch von ca. 8uA versetzt. Die Messwerte der Sensoren werden vom beelogger auf eine SD-Karte geschrieben.

Die Konfiguration der Sensoren erfolgt wie bei den Multi-Sketchen.

Das Messinterval wird in diesen Werten eingestellt:

//Weckintervallsteuerung
#define WeckIntervall_aktiv 1 // Manuelle Intervallsteuerung 0 = inaktiv, 1 = aktiv

#define WeckIntervall_Tag 10
#define WeckIntervall_Nacht 30
#define WeckIntervall_Nacht_Anfang 22
#define WeckIntervall_Nacht_Ende 6

//Weckintervallsteuerung Alternativ- / Winter- Intervall
#define WeckIntervall_Winter_aktiv 1 // Intervall Winter 0 = inaktiv, 1 = aktiv
#define WeckIntervall_Winter 60 // Intervall in Minuten
#define WeckIntervall_Winter_Anfang 9 // Monat Winterintervall Start
#define WeckIntervall_Winter_Ende 4 // Monat Winterintervall Ende
#define AlternativIntervallMinuten 120

Das normale Messinterval wird mit WeckIntervalTag konfiguriert. Des Weiteren ist das Intervall für die Nachtstunden konfigurierbar.
Die Option Intervall_Winter schaltet das normale Messinterval in den Monaten (hier August bis März) auf einen 60-Minuten-Takt um.
Das AlternativInterval wird ausgeführt, wenn die Batteriespannung die Spannung VAlternativ unterschritten hat.

In der Konfiguration sind die für die jeweils genutzte Batterie vordefinierten Wertepaare aus zu kommentieren.

// 12V PB-Akku beelogger-Universal
//const float VAlternativ = 11.9; // Minimale Spannung ab der automatisch das alternative Intervall aktiviert wird
//const float VMinimum = 11.5; // Minimale Spannung ab der keine Messungen und Abspeichern von Daten erfolgt

Der Programmcode wurde speziell für die Platine des beelogger-SMD-SD  bzw. beelogger-Universal entwickelt. Bei Verwendung des Sketch V 1.0 für den beelogger-Universal sind ggf. die Pins in den #define Blue RX/TX zu tauschen.

Vor Verwenden der Sketche Kalibrierung und Test vollständig durchführen.
Kalibrierwerte eines Systems ( ADC / Waage) und andere Konfigurationsdaten können aus bisher verwendeten Daten übernommen werden.
Neukalibrierung ist erforderrlich für:
– Waage: bei Tausch einer Wägezelle oder HX711
– ADC-Kalibrierung: bei Austausch des ATmega328, z.B. durch Wechsel des NANO/Pro-Mini oder Universal-Platine

Version Release Notes  
15.05.2023
  • BH1750 Adressierung

SD / BT 1-2 Waagen

Programme für Datenabruf über die serielle Schnittstelle (“Waage_USB”) oder via Bluetooth (beelogger_BT”) unter Windows 10/11
sind enthalten.
Die Konfiguration des Sketch erfolgt weitestgehend wie bei den Multi-Sketchen.

Offline-Grafik zur Darstellung der Daten

15.04.2023
  • BME280-/ DHT- beelogger- Libs

16.05.2022
  • DHT Abfrage modifiziert

Feb 2021
  • neue HX711 Bibliothek
  • Debug-Info ergänzt
 
April 2020
  • Programmcode für bis zu zwei Waagen
  • verbesserte Intervallsteuerung integriert
 

Juli 2019

  • Ergänzung Debug Information;  Hinweis: nur im Probebetrieb aktivieren
  • automatische Konfiguration der RX/TX Pins für das BlueTooth-Modul beim beelogger-SMD / -Universal
  • Gewicht auf kg skalierbar
 
1.0
  • Initiale Version
 

Dieser Sketch verwendet 57600 Baud auf der seriellen Schnittstelle.

Über die Serielle Schnittstelle kann durch Senden eines Zeichens unmittelbar nach Erscheinen der Bereit-Kennung über den Monitor im beelogger eine Funktion ausgelöst werden. Folgende Zeichen sind möglich:
– “*” neuer Dateiname für die Messdaten
– “?” Daten von SD-Karte holen
– “#” aktuelle Messdaten anzeigen
So ist für Testzwecke ein Zugriff auf das Live-Systems über den USB-Anschluss, z.B. mit dem Monitor der Arduino-IDE, möglich.
Achtung: Die Nutzung der seriellen Schnittstelle löst im System einen Reset aus.

Zum Auslesen der Daten ohne Kartentausch bzw. Zugriff auf den USB-Anschluss direkt am Bienenstand steht eine Erweiterung mit einem Bluetooth-Modul zur Verfügung. Die grafische Darstellung der Daten kann vor Ort über die Offline-Grafik  oder mit dem Smartphone erfolgen.

Folgende weitere Konfiguration der Sketche ist je nach Systemaufbau notwendig.

Neben dem Abspeichern der Daten auf der SD-Karte stehen konfigurierbar die serielle Schnittstelle und das Interface für ein Bluetooth-Modul für den Abruf der Daten zur Verfügung.

#define Serial_DATA  1     // mit oder ohne USB-Datentransfer

#define Bluetooth   1      // mit oder ohne Bluetooth-Datentransfer

#define Blue_On     A3     // PIN A3 Bluetooth Aktiv Erkennung

Die Debug-Funktion im Sketch (bzw. beelogger_config.h) kann über

#define Debug 1

eingestellt werden.

Mit aktivem Debug wird nach der Bereit-Kennung “*” der abgespeicherte Datensatz angezeigt:

to SD: 2019/10/17 18:40,,23.50,,,123456,1000.59,12.23,0.00

Die Daten sind Format: Datum/Uhrzeit,Temp.-In, Temp.-Out, Feuchte-In, Feuchte-Out, Lichtstärke, Gewicht, Batterie, Solarspannung. Im gezeigten Datensatz sind einige Werte nicht gesetzt.

Achtung: eine aktives Debug-Flag führt zu einer höheren Stromaufnahme als für den Schlafmodus üblich. Die Downloadtools für Windows (Waage_USB, beelogger_BT) arbeiten dann nicht korrekt.
Für den Dauerbetrieb und den Download korrekter CSV-Datendateien muss Debug auf “0” eingestellt sein.
Mit Debug auf “1” wird zusätzliche Debug-Information in die Downloaddateien gespeichert. Dadurch werden diese unbrauchbar bzw. müssen zur Verwendung im Grafiktool nachbearbeitet werden.