Antrax GPS/GSM/GPRS Shield
von Stefan Schuster
Dieser Artikel nimmt am Artikelwettbewerb 2012/2013 teil.
GPS und GSM sind häufig mit Arduino verwendete Technologien. Bei der Kombination von beiden können Daten mit GPS Informationen angereichert und per GSM verschickt werden. Dieser Artikel beschreibt die Verwendung des GPS/GSM Shields von Antrax Datentechnik mit einem Arduino Board. Es wird eine eigene Bibliothek für die Verwendung von GSM und GPS vorgestellt (frei zum Download). Die verwendeten Chips sind auch in vielen anderen Produkten vorhanden oder können direkt mit wenig Beschaltung verwendet werden. Daher kann dieser Artikel auch bei ähnlichen Produkten mit diesem Chips weiterhelfen. Anhand von Beispielen wird auf die Funktionen des Shields eingegangen. Getestet sind die Beispiele auf einem Arduino Mega R3. Die Bibliothek kann mit kleinen Anpassungen auch auf einem Arduino UNO verwendet werden. Das Ziel des Artikels ist es, eine Grundlage für die Arbeit mit dem Shield oder den einzelnen sowie kompatiblen ICs zu liefern.
Die Hardware und Anbindung des GPS/GSM Shields
Dieser Abschnitt enthält die wichtigsten technischen Informationen zu den verbauten Komponenten und deren Anbindung. Die Angaben basieren auf den Produktinformationen aus der Seite des Onlineshops[1]. Das Shield ist für einen Arduino Uno ausgelegt, es ist jedoch auch eine Anleitung und sogar ein Umbaukit verfügbar, mit dem die einfach Adaption an einen Arduino Mega gegeben ist. Die Anbindung des Shields an den Arduino ist mit Level-Shiftern realisiert, d.h. die interne Betriebsspannung und die Pegel des GSM und des GPS Teils können von den üblichen 5V des Arduino abweichen (und tun es auch). Als Level-Shifter Bausteine kommen 74AVC4T774 ICs zum Einsatz.
Verwendete Pins
Die verwendeten Pins sind in der Shieldlist[2] dokumentiert. Aus Gründen der Übersichtlichkeit hier nochmals als Liste (bezogen auf das Arduino UNO Layout).
| Pin | Bedeutung |
|---|---|
| D0, D1 | RX, TX (Serielle Kommunikation mit GSM) |
| D2 | CRING (Serielle Kommunikation mit GSM) |
| D3 | CTS (Serielle Kommunikation mit GSM) |
| D4 | DTR (Serielle Kommunikation mit GSM) |
| D5 | RTS (Serielle Kommunikation mit GSM) |
| D6 | DCD (Serielle Kommunikation mit GSM) |
| D7 | GSM_EN (GSM einschalten) |
| D9 | GPS LED (kann auch via SPI eingeschaltet werden) |
| D10, D11, D12, D13 | SPI Kommunikation mit GPS |
| A0 als D14 | P1 (GSM-Button, kann auch via SPI abgefragt werden) |
| A1 as D15 | P2 (GPS-Button, kann auch via SPI abgefragt werden) |
Achtung: Da die RX/TX Pins D0 und D1 verwendet werden, kommt es zu einer Überschneidung mit dem USB-UART eines Arduino Uno (und wenn die Pins nicht anderst verbunden werden auch beim Mega). Das zeigt sich auch daran, dass im Serial Monitor der Arduino IDE die AT Befehle und Antworten des GSM Modems zu sehen sind. Siehe dazu auch den Eintrag im Forum [3]
GSM Teil
Es ist das GSM-Modul Telit GE865-QUAD [4] verbaut.
GPS Teil
Beim GPS Modul handelt es sich um ein UP501 von Fastrax [5]. Die Kommunikation mit dem GPS Modul erfolgt über SPI zum Shield. Dort wird SPI mit einer SC16IS750 SPI-UART Bridge an das eigentliche GPS Modul angebunden. Das bedeutet, dass nach dem Setup der Bridge (wird von der Library erledigt) über SPI mit dem GPS Modul kommuniziert werden kann, die Fluss-Steuerung erfolgt durch die Kommunikation mit den Registern des SPI-UART Chips. Auch hier sind die Details durch die Library gekapselt.
Die Software Library und die Funktionen
Dieser Abschnitt beschreibt die beiden Libraries, deren Methoden für den Anwender und interne Funktionsweise.
Einzelnachweise
- ↑ Shield Bezug GSM/GPS Shield im Antrax Online-Shop
- ↑ Antrax GPS/GSM bei Shieldlist Shieldlist
- ↑ Forenbeitrag zum Shield und Arduino UnoForenbeitrag
- ↑ Telit GE865-QUAD Datenblätter und Guides Telit GE865-QUAD Product Page
- ↑ Fastrax UP501 Datenblätter und GuidesFastrax UP501 Product Homepage
Board im Antrax Onlineshop