beelogger

beelogger-Solar – GSM-Shield (SIM800L)

beelogger Solar GSM ShieldGSM steht für ‘Global System for Mobile Communications’ und ist der erste Standard der zweiten Generation (‘2G’) für digitale Moblfunknetze, welche in Deutschland die technische Grundlage für D- und E-Netze bildet. 

Um mit dem beelogger-Solar das Mobilfunknetz zu nutzen und die Messwerte praktisch unabhängig von der kabelgebundenen Infrastruktur an den Webserver zu senden, ist ein GSM-Modul notwenig. Um dieses während der Schlafphase des beelogger komplett von der Stromversorgung zu trennen, kommt zusätzlich eine kleine Schaltung zum Einsatz. Aufgebaut auf einer Platine, kann das GSM-Shield auf die Buchsenleisten des beelogger-Solar aufgesteckt werden. 

 

 

GSM-Modul SIM800L

Für den beelogger-Solar kommt ein GSM-Modul mit SIM800L-Chip zum Einsatz, welches Sprachanrufe, SMS und Internetbetrieb unterstützt. Das SIM800L-Modul benötigt eine Spannung von 3,7V – 4,2V und ist damit ideal für den Betrieb mit einem Li-Ion-Akku geeignet. Der Logikpegel ist hierbei 3,3V kompatibel. Über eine serielle Schnittstelle kann mit dem Modul über AT-Befehle kommuniziert werden. 

Bei Kauf des Moduls sollte darauf geachtet werden, dass eine externe Antenne mit Anschluss an die MCX-Buchse mitgleliefert wird. Diese verbessert die Sende-Empfangsleistung und ist der Federdraht-Antenne vorzuziehen. Sollte dennoch eine Federdraht-Antenne gewählt werden, ist diese direkt an ‘NET’ des Moduls anzulöten.

Achtung! Der Chip wird auf verschiedenen Modulen eingesetzt, die sich alle recht ähnlich sind, nicht aber die gleichen Eigenschaften haben müssen. So kann beispielsweise durch integrierte Spannungsregler die notwendige Versorgungsspannung abweichen.  

SIM-Karte

Für die Verbindung ins Mobilfunknetz ist eine aktive SIM-Karte (MicroSim) notwendig. Aus Sicherheitsgründen ist eine Prepaid-Karte zu empfehlen, da die Karte nicht mit einem Pin-Code genutzt werden kann. Sollte die SIM-Karte einen Pin-Code besitzten, muss dieser über ein Handy zuvor gelöscht werden. Der Provider muss das GSM-Netz unterstützen, was in der Regel bei jedem Anbieter der Fall ist. Eine kostengünstige Möglichkeit bietet eine Internet-Flatrate auf Volumenbasis. Das Volumen spielt praktisch keine Rolle, wenn auch nach dem Verbrauch des Volumens, weiterhin das Internet mit gedrosselter Geschwindigkeit genutzt werden kann.

Über diverse Portale im Internet können die aktuell günstigsten Tarife schnell ermittelt werden. Berücksicht werden sollte neben dem Preis auf jeden Fall auch die Netzabdeckung im gewünschten Einsatzgebiet. 

Es ist darauf zu achten, dass die SIM-Karte richtig herum in das Modul geschoben wird. Hierzu muss die SIM-Karte mit dem Chip in Richtung Platine und die abgeflachte Seite nach außen zeigen. Die Karte muss soweit eingeschoben werden, bis sie einrastet.

beelogger Solar SIM800L SIM Karte

MOSFET

Damit das SIM800L-Modul den Akku während der Schlafphase nicht belastet, wird dieses über einen MOSFET vom Strom getrennt. Optimale Stromeinsparung wird durch einen zusätzlich vorgeschalteter Transistor erreicht.

Für eine stabile Funktion kann jedoch nicht ein beliebiger MOSFET verwendet werden. Da die Nennspanung des Lipo-Akkus 3,7V beträgt und das SIM800L-Modul eine minimale Spannung von 3,7V für einen stabilen Betrieb benötigt, sollte der Innenwiderstand des MOSFET im durchgeschalteten Zustand (RDSon) möglichst gering sein, um die Spannungsverluste minimal zu halten. Zudem sollte die notwendige Steuerspannung (UGSth) möglichst gering sein, um auch im Akkubetrieb bei 3,7V komplett durchzuschalten. Auf der Suche nach einem MOSFET mit entsprechenden Eigenschalten stellt man schnell fest, dass die Auswahl für einen P-Kanal-MOSFET im TO-220 Gehäuse nicht besonders groß ist und sich die Preise hierfür auch auf recht hohem Niveau befinden. MOSFET mit diesem Gehäuse sind in der Regel für höhere Spannung und größere Leistung ausgelegt. Optimale Werte zu einem angemessenen Preis erhält man praktisch nur in SMD-Bauformen. Daher wird für das GSM-Shield ein MOSFET in SO-8 Bauform genutzt, welcher mit ein wenig Geschick auch direkt auf eine Lochrasterplatine im 2,54mm Rastermaß gelötet werden kann. Eine Adapter-Platine für das Rastermaß 2,54 mm erleichtert jedoch den sauberen Aufbau.

Lochrasterplatine

Für den einfachen Aufbau des GSM-Shields für den beelogger-Solar ist eine Lochrasterplatine mit einem Rastermaß von 2,54 mm erforderlich. Um das Shield mit den inneren Buchsenleisten des beelogger-Solar verbinden zu können, sind mindestens 22 Löcher pro Reihe notwendig. Hierfür kann eine Standard-Lochrasterplatine entsprechend zugeschnitten werden. Um ein wenig Arbeit zu sparen, können auch bereits passende Platinen in unterschiedlichen Ausführungen und Qualitäten erworben werden. Für unsere Dokumentation verwenden wir eine doppelseitige Lochrasterplatinen mit den Abmessungen 5 cm x 7 cm. 

Um die Platine als Shield mit dem beelogger-Solar zu verbinden, werden Pin- oder Buchsenleisten eingesetzt. Für eine optimale Verbindung mit der Buchsenleiste sollte die Ausführung mit langen Pins verwendet werden.

Bezug

Bild Bezugsquelle Preis ab Suchbegriffe*  Bemerkungen
 beelogger Solar SIM800L eBay 4,80€ SIM800L SIM800L inkl. externe Antenne, Versorgungsspannung 3,7-4,2V
 beelogger Solar Shield Platine eBay 6,00€
(5 Stück)
Lochrasterplatine 5×7 doppelseitig Lochrasterplatine 5×7, Lötpads auf beiden Seiten
  eBay 1,10€
(10 Stück)
pin header long Lange Pinleiste
  eBay 1,00€
(10 Stück)
adapter SO-8 optionale Adapterplatine für den MOSFET auf 2,54 mm Rastermaß

*Einkaufstipps

Werden die Bauteile für die Hauptplatine des beelogger-Solar, wie bereits unter ‘beelogger-Solar – Bauteile & Bezug‘ beschrieben, über Mouser bezogen, könnten einige Bauteile für das GSM-Shield gleich mitbestellt werden. Hierfür ist eine Teilenummer (Bestellnummer) von Mouser angegeben, die optional für eine einfache Bestellung der Bauteile verwendet werden kann. 

Bauteil Spezifikation Mouser-Teilenummer Anzahl pro Platine
IRF7425PBF 13mOhm bei Ugs = 2,5V 942-IRF7425PBF 1
BC547C   512-BC547CBU 1
Widerstand 4,7k Widerstand, 4,7k, Axial, max. 5%, min. 100mW 71-CCF07-J-4.7K-E3 1
Widerstand 220 Widerstand, 220, Axial, max. 5%, min. 100mW 71-CCF07220RJKE36
Widerstand 2,7k Widerstand, 2,7k, Axial, max. 5%, min. 100mW 71-CCF072K70GKE36

Beschaltung und Aufbau

Versorgt wird das SIM800L-Modul über Pin ‘D’ des MOSFET. Hierbei ist die Batterie (Bat+) direkt mit Pin ‘S’ des Mosfet zu verbinden. Zur Schaltung des MOSFET über Pin ‘G’ wird ein NPN-Transistor verwendet. Dieser ist notwendig, um den Stromverbrauch im Sleep-Mode von rund 40uA auf die bekannten minimalen 8uA des beelogger-Solar zu senken. Der Transistor selbst wird über Pin A2 des Arduino angesteuert. Für einen optimalen Betrieb ist bei der Beschaltung des MOSFET darauf zu achten, dass alle gleichen Pins des MOSFET miteinander verbunden sind (wie in der Grafik). Hierzu kann einfach nur mit Lötzinn oder zusätzlich auch mit einem Kupferkabel gearbeitet werden.

beelogger Solar GSM Schaltung

 

SIM800L beelogger-Solar
VCC D an MOSFET (Steuerung des MOSFET über Transistor an A2)
RXD D9
TXD D10
GND Bat –

Bei der Bestückung des SIM800L-Moduls mit Pinleisten, ist darauf zu achten, dass der Anschluss für die Antenne ausgespart wird. Dies könnte die Sende-Empfangsqualität negativ beeinflussen.

beelogger Solar SIM800L Antennenanschluss

Um ohne Probleme trotz aufgestecktem GSM-Shield den FTDI-Adapter verbinden zu können, sollten die Buchsen für ‘Reset’ und ‘D2’ (‘Taster’) des beelogger-Solar nicht durch das Shield belegt werden. Hierdurch bleibt der FTDI-Header zugänglich und wird nicht von der Lochrasterplatine verdeckt.

beelogger Solar GSM Pinleiste

Vor dem Verlöten der Pinleisten ist bei der Ausrichtung der Lochrasterplatine darauf zu achten, dass die Schraubklemmen möglichst auf beiden Seiten zugänglich bleiben. Dies erleichtert die Arbeiten am beelogger-Solar.

Auf einer doppelseitigen Platine können die Verbindungen sehr schnell mit Kupferdraht vorgenommen werden. Wichtig dabei ist, dass die Leitungen mit zusätzlichen Lötpunkten fixiert werden, damit es zu keinem Kurzschluss kommen kann. Auf dem Bild gut erkennbar ist auch, dass alle gleichen Pins des MOSFET miteinander verbunden sind.

beelogger Solar GSM Zoom 

Beim Aufstecken des GSM-Shields ist darauf zu achten, dass die Pins in die korrekten Buchsen gesteckt werden.

beelogger Solar GSM Seitenansicht
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-Solar GSM modifizierte Library zum Download bereit. Als Basis hierfür diente die Library von Stanley Huang – http://arduinodev.com.

Library downloaden:

Download

Test-Programmcode

beelogger Solar GSM TestMit dem Test-Programmcode stellt der beelogger-Solar über das GSM-Shield eine 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 ist. 

Die Voraussetzung hierfür ist ein über das Internet erreichbarer Webserver mit installierten Webserver-Skripten für den beelogger-Solar. 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 noch mindestens eine Spannung von 3.7V zur Verfügung stellen.

 

 

 

Die Kommunikation des beelogger-Solar 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. Diese wird über die modoifizierte Library ‘SIM800.h’ über die Pins D9 (TX) und D10 (RX) zur Verfügung gestellt.

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.

Die Konfiguration der Daten für den Webserver entspricht der gleichen Logik wie der des Ethernet-Adapters. Eine einfache Konfiguration wird durch die Nutzung unseres Testsystems ermöglicht. Nach dem Anlegen eines kostenlosen und annonymen Accounts können die notwendigen Konfigurationen einfach kopiert und in den Test-Programmcode kopiert werden. Wie bei Nutzung des nRF24L01 mit Master und Client können bis zu 6 Verzeichnisse für separate beelogger hinterlegt werden. Der Programmcode des beelogger-Solar GSM unterstützt zwar nur einen beelogger pro Hauptplatine, da die Platine selbst aber auch als Shield für weitere Sensoren verwendet werden kann, steht eigenen Erweiterungen nichts im Weg. Hierzu muss lediglich die ClientNummer angepasst werden. 

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

Ausgabe des seriellen Monitors (9600 baud):

Download 

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