beelogger

beelogger-Universal – EE-Prom

Die Sketche des beelogger-Universal mit Bienenzähler sowie LORA-Systeme verwenden kein EE-Prom und senden die erfassten Daten nach jeder Messung via WLan/Lan bzw. LORA direkt an den Server.
Bei fehlerhafter Verbindung, z.B. Ausfall des WLan, können diese Daten nicht übermittelt werden und gehen verloren.
Die Verwendung eines EE-Prom ist bei diesen Systemen und zugehörigen Sketchen nicht vorgesehen.
Bei LORA-Systemen wird der LORA-Frame-Counter im ATmega328 internen EE-Prom gespeichert.

Die Sketche mit GSM/LTE/WLAN benötigen das EE-Prom zwingend.
Durch die Zwischenspeicherung der Daten im EE-Prom kann ein mehrstündiger Verbindungsausfall überbrückt werden. Sollte der Verbindungsausfall dazu führen, dass die Speicherkapazität des EE-Prom erreicht wird, werden die Daten komprimiert, d.h. jede zweite Messung wird verworfen.

Eine weitere Anwendung ist die Optimierung der Nutzung der Kosten für die Mobilfunk-Verbindung. Viele günstige Tarife rechnen für jede Verbindung als Mindestverbrauch 1kByte ab, obwohl der beelogger nur ca. 100Byte übertragen hat. In einem normalen beelogger-SMD / -Universal mit einer Waage entstehen bei einem Mess-Intervall von 15 Minuten in zwei Stunden ca. 1kB zu übertragende Daten.
Als Nebeneffekt der Nutzung des EE-Prom tritt eine deutliche Stromeinsparung ein, da die Datenübertragung den größten Anteil am Stromverbrauch des beelogger hat.

Es wird empfohlen den Schalter für Arbeiten am Bienenvolk vorzusehen. Durch Betätigung des Schalters (Schließer) für ca. 5 Sekunden wird das Versenden der gespeicherten Messungen ausgelöst und danach das System für ca. eine halbe Stunde (konfigurierbar: Config_MULTI.h: #define USER_INT_TM 30
) im Standby gehalten bis der Schalter wieder geöffnet wird.

Die Sketche erzeugen den vollständigen Datensatz inklusive Uhrzeit nach der Messung im beelogger. Dieser Datensatz wird im EE-Prom bis zum Versenden zwischengespeichert.
Die aktuelle Uhrzeit wird bei jeder Datenübertragung zum Server von dort übermittelt und im beelogger gesetzt.
Damit die Zuordnung der Messdaten zur Erfassungszeit funktioniert, muss die Echtzeituhr dauerhaft mit Spannung versorgt werden.
Dazu ist beim beelogger-Universal die Batterie im Uhr-Modul oder dauerhafte Stromversorgung nach der Beschreibung zur Modifikation zwingend erforderlich.
Beim beelogger-SMD muss entweder eine Batterie eingesetzt oder die Lötbrücke auf der Platinenunterseite verlötet sein.

Die Nutzung des EE-Prom ist sowohl beim beelogger-Universal und -SMD vorgesehen. Es können EE-Prom der Größe 4-32 kByte (AT24C32/64/128/256) verwendet werden. Alternativ zu einem EE-Prom kann auch ein F-RAM, z.B. FM24CL64B, verwendet werden. F-RAM zeichnen sich durch deutlich höhere Schreibzyklen aus.
Beim beelogger-Universal ist ein 4kByte-EE-Prom auf dem DS3231-Uhr-Modul enthalten. Die Verwendung eines EE-Prom-Modul mit größerer Kapazität ist bei angepasster I2C-Adresseinstellung möglich.
Dieses EE-Prom kann durch andere Typen ersetzt werden: ST 24C256 MN6,ST 24C64 MN6,ST 24C32 MN6.

 

Erläuterung der Parametrierung:
Nachfolgender Text dient nur der Erläuterung. Eine Anpassung in der Konfiguration des Sketch ist normalerweise nicht notwendig.
Die Sketche sind in der Standardeinstellung in der Datei config_MULTI.h  so konfiguriert, dass diese für das 4kByte-EE-Prom des Uhr-Modul des beelogger-Universal passen.
Beispiel:
#define EEProm_Size 4096 // 4kByte EE-Prom 32kbit

Dies ist für die meisten Anwendungen, auch beim beelogger-SMD, völlig ausreichend.
Mit den Messdaten eines beelogger mit einer Waage erlaubt ein 4kByte EE-Prom mit 5 Minuten Intervall die Speicherung der Daten über knapp 4 Stunden. Für ein System mit vier Waagen und 2 Stunden Sendezyklus ist dies ebenfalls ausreichend.
Bei einer täglich einmaligen Datenübertragung mit einem Intervall von 5 Minuten wird für ein System mit einer Waage ein EE-Prom mit 32kByte (256kbit) benötigt; 60/5*24*96Byte = ~28kB.

Mit der voreingestellten Konfiguration können im normalen Messbetrieb mit Intervallen unter 15 Minuten alle zwei Stunden die aufgezeichneten Daten gesendet werden. Hierbei ist mit der Grundeinstellung der Konfiguration ein 4kbit EE-Prom mehr als ausreichend.

Damit der Effekt der Zwischenspeicherung bei Server-/Netzausfall erhalten bleibt, kann die Anzahl der Wiederholversuche angepasst werden.
Sollte trotz fehlgeschlagender weiterer Sendeversuche das EE-Prom ausgenutzt sein, werden die Daten automatisch komprimiert. D.h. jeder zweiter Datensatz wird verworfen.
Damit steht die Hälfte des EE-Prom für weitere Messungen zur Verfügung.

Weitere Angaben finden sich in der zum Sketch gehörenden Konfigurationsdatei.