beelogger

beelogger-SIM800L Testprogrammcode

 

beelogger-Solar mit GSM-Shield, Akku und FTDI-Adapter

beelogger-Solar mit GSM-Shield

Mit dem Test-Programmcode stellt der beelogger über das SIM800-Modul eine Daten-Verbindung ins Internet her und überträgt Test-Messwerte an den Webserver. Nach 5 Übertragungen der Messwerte ist der Test beendet und das Modul schaltet sich ab. Sollte es zu einem Übertragungsfehler kommen, wird der Upload bis zu 3 mal wiederholt, bis sich das Modul ebenfalls abschaltet und der Test beendet wird.

Die Voraussetzung hierfür ist ein über das Internet erreichbarer Webserver mit installierten Webserver-Skripten. Zudem wird eine aktivierte SIM-Karte ohne Pin-Code benötigt. Sollte die SIM-Karte einen Pin-Code besitzten, muss dieser über ein Handy zuvor gelöscht werden. Auch muss der Akku vollständig geladen sein.

 

Die Kommunikation des beelogger mit dem SIM800L-Modul erfolgt über eine serielle Schnittstelle mittels AT-Befehlen. Da die vom ATmega zur Verfügung gestellte serielle Schnittstelle über D0 und D1 bereits für die Ausgabe des seriellen Monitors benötigt wird, ist eine zusätzliche virtuelle serielle Schnittstelle über die Standard-Library ‘SoftwareSerial’ notwendig.

Die Konfiguration des Programmcodes ist sehr einfach und in wenigen Schritten erledigt:

Über die Variable ‘APN’ (Access Point Name) wird der Name des Zugangspunktes des Netzwerkproviders eingetragen. Sollte diese Information nicht zusammen mit der SIM-Karte zur Verfügung gestellt werden, kann dieser beispielsweise über die folgende Liste nachgeschlagen werden: http://www.lte-anbieter.info/ratgeber/apn/uebersicht.php. Bei einigen Providern ist zusätzlich ein Benutzername und ein Passwort für den Zugangspunkt notwendig. Diese sind ebenfalls über die Liste ersichtlich. Sollten keine weiteren Zugangsdaten benötigt werden, sind die entsprechenden Variablen nicht zu belegen.

Eine einfache Konfiguration wird durch die Nutzung unseres Webservers ermöglicht. Nach dem Anlegen eines kostenlosen und annonymen Accounts können die notwendigen Konfigurationen einfach kopiert und in den Test-Programmcode kopiert werden. Der Test-Programmcode mit GSM verwendet Daten für ein Einzel-Waage-System.

Wenn das SIM800L-Modul mit Strom versorgt wird, bllinkt die rote LED langsam. Sobald sich das Modul mit einem Netzwerk verbunden hat, blinkt die rote LED schnell.

Ausgabe des seriellen Monitors (9600 baud):

Hinweise:

  • Die Firmwareversion wird auf Fähigkeit zur Standortbestimmung getestet.
    Der GSM-Test-Sketch versucht bei passender Firmware eine Abfrage des Standorts durchzuführen.
    Bei einer Ausgabe von 0, 0.00, 0.00, Datum Uhrzeit konnte der SIM800 die Position nicht abfragen.
  • Die Antwort vom Server “10ok *” ist abhängig von den Einstellungen in der Webserver-Konfiguration.
  • Bei zu geringer Spannung am SIM800 Modul wird eine Information dazu ausgegeben.
  • Der Sketch wird bei zu geringem Empfangspegel beendet.
  • Bei Verbindungsfehler:
    • den Akku / Schaltregler auf ausreichende Spannung kontrollieren
    • SIM-Karte auf korrekten Einbau prüfen
    • SIM-Karte ohne PIN!
    • Kondensator 1000uF auf beelogger-Solar Shield einbauen

Libraries

Um die Kommunikation mit dem SIM800L über AT-Befehle zu vereinfachen, wird auf eine Library zurück gegriffen. Hierfür steht eine von uns speziell für den beelogger GSM modifizierte Library zum Download bereit. Als Basis hierfür diente die Library von Stanley Huang – http://arduinodev.com.

Programmcode Testprogramm und Libraries

beelogger_Test_GSM 03.11.2020
Die Abfrage der Standortfunktion im SIM800L funktioniert nur mit Firmwareversion 1418B05SIM800L24 und der Bibliothek Version 22,  enthalten im beelogger-Library-Paket

Achtung: Die Multishields bis Version 2.5 und Lochrasteraufbauten nach alter Anleitung weisen eine andere Pinbelegung auf.
Bitte Hardware anpassen. TX = Pin 9 unverändert; RX = Pin 8 (alt Pin 10).
Alternativ Sketch passend konfigurieren.

Es wird empfohlen, auch den Test-Programmcode mit den Basisfunktionen des beeloggers durchzuarbeiten, um sich mit weiteren wichtigen Funktionen und Variablen für den Haupt-Programmcode vertraut zu machen.

Der komplette Programmcode für den Arduino Datenlogger mit Stockwaage für Imker ist unter Programmcode zu finden.