www.mikrocontroller.net

Forum: Codesammlung GSM GPS - Tracker

Autor: Niels Keller (niels-k)
Datum:
Angehängte Dateien:

Das in diesem Dokument beschriebene Gerät ist eine Kombination aus einem
Mobiltelefon, einer GPS-Maus und einem Mikrocontroller. Das Gerät wird
als GSM Tracker bezeichnet, wobei dieser Name jedoch nicht alle
möglichen Einsatzgebiete wiedergibt.

Das Dokument enthält alle relevanten Informationen zum Aufbau und
Betrieb des Trackers.

Viel Spaß damit.
Autor: Niels Keller (niels-k)
Datum:
Angehängte Dateien:

Anbei die benötigten Dateien inkl. Anschlussplan.
Autor: Avr Nix (avrnix) Benutzerseite
Datum:

hallo Niels,

möchtest du dein Bascom projekt auf http://www.comwebnet.de
veröffentlichen.
Dort sind einige Bascom Projekte und siehe auch im Forum auf der HP.

Ist ein sehr schönes Projekt :)

Gruss

AVRNix
Autor: Niels Keller (niels-k)
Datum:

Hi Avrnix,

ich vermute mal, dass Du der Eigentümer der HP, also Dirk Milewski bist.

Von meiner Seite aus, kannst Du einen Link auf Deiner HP auf die
entsprechende mikrocontroller.net - Seite setzen. Auf Grund des Traffics
sollte jedoch der Betreiber dieser Seite befragt werden.

Sofern Du keinen Gewinn oder Erlös aus dem Betrieb Deiner HP ziehst
(oder in Zukunft erhälst), kannst Du das Projekt gerne mit allen Dateien
auf Deiner HP veröffentlichen. Dabei möchte ich Dich bitten, zusätzlich
auf die entsprechende mikrocontroller.net - Seite zu verweisen.

Da das Projekt noch in der Entwicklung ist, kann es zu unterschiedlichen
Versionsständen kommen, daher bitte ich um regelmäßige Updates auf
Deiner Seite.

Das mikrocontroller.net-Forum ist, meiner Ansicht nach, der deutlich
besser zugängliche Bereich für Nutzer - keine Anmeldung erforderlich -
gut strukturiert. Daher werde ich von mir aus keine Dateien bei
http://www.comwebnet.de hinterlegen.

Bei weiteren Fragen, möchte ich Dich bitten, diese an die im PDF
hinterlegte Emailadresse zu senden.

Gruß
Niels
Autor: Niels Keller (niels-k)
Datum:

Hallo zusammen,

wie bereits oben mitgeteilt, wird es zu diesem Projekt einige
Weiterentwicklungen geben. Diese werden dann in einem Rutsch
veröffentlicht. Da die Entwicklung dieser Änderungen einige Zeit in
Anspruch nimmt, wird sich die Veröffentlichung wohl noch bis ins neue
Jahr hinziehen. Wer an Vorabergebnissen interessiert ist, kann mir eine
PN schicken.

Nun zu den Änderungen:

auf uC-Seite:
- SMS an Absender zurücksenden
- Statusinformationen vom Handy (Netz, Akku) und Funktionen der
angeschlossenen Peripherie auslesen/ auswerten und per SMS zurücksenden
- SMS an eine beliebige Nummer weiterleiten
- Anruf (Sprache und Daten) an bestimmte Telefonnumer ausführen
- Verbessertes Einschalten des Mobiltelefons erreichen
- Kritische Aufhänger der Software (Timeout) weiter/stärker eindämmen
- Externe Messergebnisse abfragen (4x ADC, 2x I/O) und setzen (4x
Ausgang)
- Guthabenabfrage und Guthabenaufladung für Prepaidkarten implementieren

auf PC-Seite:
-Delphi/Octave (Matlab) Oberfläche zur Nutzung und Auswertung der o. g.
Funtkionen weiterentwickeln (wurde bisher noch nicht veröffentlicht)

allgemeine Änderungen:
- pnp-Transistor des GPS-Moduls durch npn-Transistor ersetzen
- Platinenlayout für einfaches Toner/Ätzverfahren erstellen
- Kompatibilität für weitere Prepaidkarten (O2 und Vodafone)
Autor: Klaus H. (gpsklaus)
Datum:

Hallo Niels,
auch ich finde Dein Projekt interessant. Vor einigen Jahren hatte ich
mich mit ähnlichen Dingen beschäftigt, es dann aber 1. wegen des
Verschwindens geeigneter Handys auf dem Markt und 2. aufgrund des
Preisverfalls bei industriell gefertigten Geräten inzwischen weitgehend
aufgegeben. Darüberhinaus hatte sich auch gezeigt, dass die seinerzeit
benutzten ( Siemens- ) Handys für einen sicheren Dauerbetrieb als
Tracker nicht optimal geeignet waren.
Neue Aspekte ergeben sich durch die inzwischen sehr preisgünstig
erhältlichen chinesischen GSM-Moduln. Mit ihrer Hilfe ist ein
komfortabler Ersatz der Handys möglich und das Ganze wird dabei auch
noch deutlich betriebssicherer. Schön fände ich es deshalb, wenn
Irgendjemand ein entsprechend geeignetes Platinenlayout für einen
kompletten Tracker erstellen würde.
Die folgende Link zeigt eine Liste geeigneter und leicht erhältlicher
Moduln, wobei für einen Betrieb in Europa bereits die Version "SIM300D"
genügen würde und in dieser mechanischen Ausführung auch verhältnismäßig
einfach zu adaptieren ist:
http://www.tme.eu/de/katalog/?#id_category%3D80%26...
PS: Diese Moduln akzeptieren ( natürlich ) auch die üblichen AT-Befehle
und nachdem sie dabei auch den Text-Mode beherrschen, ist bei ihnen ( im
Gegensatz zu den Siemens-Geräten ) keine umständliche PDU-Programmierung
erforderlich, so dass vermutlich auch ein kleinerer Prozessortyp
ausreichen würde. Ansonsten ist gegenüber der Handy-Nutzung lediglich zu
beachten, dass die zur Aktivierung der SIM-Karte ggf. benötigte
PIN-Nummer jetzt aus dem Speicher des Mikrokontrollers gesandt werden
muss. Dafür kann man das Systen aber nun so gestalten, dass zur Aufnahme
des Tracking-Betriebes lediglich die Versorgungsspannung angelegt werden
muss und keine weiteren Eingaben nötig sind.

Klaus
Autor: Niels Keller (niels-k)
Datum:

Ich sehe schon, dass ich mich da in einen hart umkämpften Markt befinde
...

Naja, seht es so: Das Ding hier kann zwar deutlich mehr als die üblichen
GSM Tracker, die i.d.R. nur das Klingeln auswerten und dann eine SMS an
nur eine Nummer senden können. Dafür ist es ein Eigenbau, der nicht
industriegerecht ist (Zertifizierung nach DIN/ISO "Schießmichtot").

Zum PDU-Format: Das könnte man auch mit diskreter Hardware aufbauen und
zwar recht einfach. Ich glaube nicht, dass das wirklich ein Vorteil ist,
eine SMS in Klartext zu senden - wo liegt denn dann der Programmierspaß?

Zum Mobilteil: Die Siemens Geräte sind übrigens recht ausfallsicher. Ich
hatte die Datenverbindungen mehrere Stunden im Dauerbetrieb ohne einen
einzigen Übertragungsfehler geschweige denn einer Unterbrechung im
Datenstrom.

Zum Preis: Die GSM-Module sind aber wirklich recht billig geworden. Im
Vergleich zu einem Durchschnittspreis von 4 Euro pro A60 (ebay) sind sie
aber noch verhältnismäßig teuer.

Zur PIN: No problem at all. Kann man direkt in der Konsole eingeben.
Stichwort Simulation von Tasten. Oder man entfernt die PIN komplett -
der Sinn erschließt sich mir in einem stationärem System nicht.
Autor: Klaus H. (gpsklaus)
Datum:

> Ich sehe schon, dass ich mich da in einen hart umkämpften Markt befinde
...

Selbstbauprojekte sind aber eher die Seltenheit.

> Zum PDU-Format: Das könnte man auch mit diskreter Hardware aufbauen und
zwar recht einfach. Ich glaube nicht, dass das wirklich ein Vorteil ist,
eine SMS in Klartext zu senden - wo liegt denn dann der Programmierspaß?

Ein Programm zur Steuerung wird man in jedem Fall benötigen, aber im
Text-Mode geht das halt einfacher.

> Zum Mobilteil: Die Siemens Geräte sind übrigens recht ausfallsicher. Ich
hatte die Datenverbindungen mehrere Stunden im Dauerbetrieb ohne einen
einzigen Übertragungsfehler geschweige denn einer Unterbrechung im
Datenstrom.

Ich denke hier an eine Langzeitnutzung mit Dauerladung z.B. im Auto,
wofür die die Handys schlichtweg nicht gebaut sind. Dabei kam es oft
vor, dass sich die Geräte trotz angeschlossener Ladeeinrichtung
irgendwann abschalteten. Solange es immer nur um einen mehrstündigen
Betrieb mit folgenden Unterbrechungen geht, dürfte es dagegen keine
Probleme geben.

> Zum Preis: Die GSM-Module sind aber wirklich recht billig geworden. Im
Vergleich zu einem Durchschnittspreis von 4 Euro pro A60 (ebay) sind sie
aber noch verhältnismäßig teuer.

Na ja, es kommt halt immer auch darauf an, wie zuverlässig die Anordnung
arbeiten muss.

Klaus
Autor: Christian Fricke (cfrisch4711)
Datum:

Hallo Niels,

ich arbeite an einem vergleichbaren Projekt (per SMS programmierbare
Alarmanlage mit optionaler Ausgabe der GPS-Koordinaten als SMS),
zusätzlich mit einem ADXL322, um Bewegungen festzustellen.
Als Handy benutze ich ein Siemens S35i, das läßt sich durch Anlegen
einer Spannung am Ladeanschluß einschalten und per Kommando wieder
ausschalten.
Am Anschlussstecker des Handys wird auch eine Hilfsspannung abgegeben
(max. 100 mA), die reicht zum Einschalten.

Viele Grüße
Christian
Autor: Niels Keller (niels-k)
Datum:

Christian Fricke schrieb:

> Als Handy benutze ich ein Siemens S35i, das läßt sich durch Anlegen
> einer Spannung am Ladeanschluß einschalten und per Kommando wieder
> ausschalten.
> Am Anschlussstecker des Handys wird auch eine Hilfsspannung abgegeben
> (max. 100 mA), die reicht zum Einschalten.

Hi Christian,

danke für Deine Information - ich hatte vergessen diesen Sachverhalt zu
beschreiben. Bei einigen Siemens Geräten kann durch Anlegen von GND an
die Clockleitung für externe Geräte das Mobiltelefon eingeschaltet
werden. Bei einem A60 geht das leider nicht mehr.

Was ich noch nicht probiert habe ist das Anlegen von +9V an den
Ladeanschluss und dann setzen der Clockleitung. Wie funktioniert das bei
Dir genau?

Zum Thema Bewegungssensor fällt mir als Ergänzung noch ein, eine
Digitalkamera zu integrieren. Diese macht bei Aufforderung ein Bild und
sendet dieses via CSD an eine bestimmte Nummer. Das habe ich mit einer
Olympus getestet - das ging verhältnismäßig einfach bei guten
Ergebnissen.
Autor: Christian Fricke (cfrisch4711)
Datum:

Hallo Niels,

> Was ich noch nicht probiert habe ist das Anlegen von +9V an den
> Ladeanschluss und dann setzen der Clockleitung. Wie funktioniert das bei
> Dir genau?

Bei S35i wird Pin 7 (Z_CLK) permanent auf Masse gelegt, das entspricht
dem Car-Modus. Dann reicht es zum Einschalten aus kurz an Pin 3 die
Ladespannung anzulegen oder Pin 3 und Pin 4 (Versorgung externe Geräte
max. 100mA) kurz zu verbinden. Bei meinem Prototypen nutze ich im Moment
zum Test die 2. Variante.
Die ganze Spannungsversorgung mit Alarm bei Ausfall der Hauptversorgung
und Nutzung des Handyakkus als Notstromversorgung usw. ist noch nicht
fertig - sollte aber nicht zu schwierig sein.

Um möglichst viel Strom zu sparen schalte ich das GPS-Modul und das
Handy erst ein, wenn eine Bewegung erkannt wurde. Der ADXL322 mit Mega8
braucht noch ca. 16 mA.
>
> Zum Thema Bewegungssensor fällt mir als Ergänzung noch ein, eine
> Digitalkamera zu integrieren. Diese macht bei Aufforderung ein Bild und
> sendet dieses via CSD an eine bestimmte Nummer. Das habe ich mit einer
> Olympus getestet - das ging verhältnismäßig einfach bei guten
> Ergebnissen.

Das mit der Kamera ist auch eine gute Idee. Mir geht es eher darum eine
Alarmanlage mit stillem Alarm und Ortungsmöglichkeit zu bauen.

Viele Grüße
Christian
Autor: MBNalbach (Gast)
Datum:

Hai,

>Ich denke hier an eine Langzeitnutzung mit Dauerladung z.B. im Auto,
>wofür die die Handys schlichtweg nicht gebaut sind. Dabei kam es oft
>vor, dass sich die Geräte trotz angeschlossener Ladeeinrichtung
>irgendwann abschalteten.

Lösung: Akku raus und direkt an den Akku Pins einspeisen (selbst 5 Volt
stören das S35i nicht), ich nutze 4,3 Volt (5 Volt über ne Diode gejagt
und mitm 2000µF gepuffert, beim senden gibts ordentliche Peaks beim
Strom).

Bei den GSM Modulen stört mich massiv, das sie quasi als Bausatz kommen,
bei nem 0815 Handy is alles kompakt fertig, rüttelfest und stabil.
Nebenbei kann man das Display noch als Ausgabe benutzen (stichwort
at^sstk). Sogar den Datenstecker liefert Siemens mit, die 3 Pins vom
Ladegerät reichen. Gut ich muß ehrlich sein, ich hab am S35i noch an die
Rote Taste nen Kupferlackdraht angelötet und rausgeführt, zum
einschalten... wobei das auch irgendwie untenrum geht (stichwort
ladehalterung KFZ).

Danke an Niels, auch wenn ich die PDU geschichte widerrum in den mega8
nicht reinpacken kann (zu klein), aber meine Standheizung macht auch so
warm ;-)

Gruß MB
Autor: Avr Nix (avrnix) Benutzerseite
Datum:

@ MBNalbach

Wie Funktioniert der Befehl at^sstk und wie benutz man diesen mit einen
AVR µC oder Termialprogramm? Kannst du mal ein Beispiel geben was man da
machen muss damit das Display was erscheint ?
Autor: MBNalbach (Gast)
Datum:

schau mal hier rein: Beitrag "MP3-Player Bauteile für wenig Geld"

Da stehn ein paar Info´s darüber, damit hab ich bisher ein wenig
rumgefrickelt. PDU lässt auch hier wieder grüßen ;-)
Autor: Niels Keller (niels-k)
Datum:

Hier die Lösung zum Displaythema:

Beitrag "Text in Siemens Display schreiben"

Gerade frisch erstellt, habe es erstellt, da es so nicht wirklich viel
mit dem Tracker zu tun hat. Werde es in die neue (angekündigte) Version
mit einbeziehen.
Autor: MBNalbach (Gast)
Datum:

erschreckend.... ich wollte mich eben (ehrlich!!) damit genauer
auseinandersetzen =)

und mal wieder: Danke Niels
Autor: Niels Keller (niels-k)
Datum:
Angehängte Dateien:

Juhu - endlich ein Update ...

Hallo zusammen, na ja so schlecht war die alte Version nun auch nicht.
Aber leider nicht so besonders ordentlich dokumentiert. Daher wurde der
alte SMS GPS Tracker auch an einigen Stellen optimiert. Die Änderungen
im Überblick:

·  Es existiert nun eine Platine, die einfach in ein genormtes Gehäuse
gepackt werden kann. Die Platine ist einseitig und sehr einfach im
Tonerätzverfahren herstellbar
·  Der CSD-Modus, für die Livedatenübertragung mittels zwei
zusammengeschalteten Mobiltelefonen, wurde entfernt.
·  Die Befehlspalette wurde an einen reinen SMS-Betrieb angepasst. Es
kamen neue Befehle hinzu und genauso wurden Befehle, die sich nicht
bewährt haben entfernt.
·  Die „Absturzfreudigkeit“ wurde auf ein Minimum (praktisch keine
Ausfälle mehr) reduziert. Das plötzliche „Einfrieren“ während des
Betriebs konnte entfernt werden.
·  Statusmeldungen werden nun auf dem Display des Mobiltelefons
ausgegeben.
·  Es werden Statusmeldungen nach dem Bearbeiten eines Befehls per SMS
versendet.
·  Es können vier Ausgänge per SMS ein- bzw. ausgeschaltet werden.
Autor: Niels Keller (niels-k)
Datum:
Angehängte Dateien:

Bezugnehmend auf die am 19.04.2010 veröffentlichte Version 1.2, möchte
ich einige Ergänzungen vornehmen (noch einmal herzlichen Dank an Uwe
Leigraf, der dieses Problem bei einem MC60 beobachtete):

Es kommt anscheinend vor, dass sich nicht alle Siemens-Telefone mit der
Befehlsfolge 'at+cpms="SM","SM","SM"' dazu bringen lassen, den Speicher
für ankommende SMS-Nachrichten vom Mobiltelefon zur SIM-Karte zu
wechseln. Das bedeutet, dass nach dem Senden dieses AT-Befehls zwar vom
Mobiltelefon angegeben wird, dass auf der SIM-Karte gespeichert wird
(Antwort auf at+cpms? ist  +CPMS: "SM",0,30,"SM",0,30,"SM",0,30), aber
dennoch weiterhin sämtliche ankommenden Nachrichten im Speicher des
Telefons abgelegt werden.

Dadurch bedingt funktioniert der SMS Fernschalter Version 1.2 nicht, da
dieser Nachrichten nur von der SIM-Karte verarbeiten kann. Tritt das
Problem auf, so gibt es zwei Abhilfemaßnahmen. Man muss 100 Nachrichten
auf dem Mobilelefon haben, dann wird der Speicher der SIM-Karte
verwendet. Oder man verwendet die neue Version 1.3. Diese Version
arbeitet mit dem Speicher des Mobiltelefons. Es werden dabei alle
Nachrichten im Mobiltelefon gelöscht - also bitte vorher keine wichtigen
SMS-Nachrichten dort aufbewahren. Der Initialisierungsvorgang dauert nun
rund 50 Sekunden (0.5 Sekunden pro Nachricht, die gelöscht wird).
Getestet wurde diese Version mit einem A60, einem A65 und einem MC60.
Das A60 und A65 funktionieren gut. Beim MC60 kam es verstärkt zu
Lesefehlern beim Auslesen der SMS (ich vermute hier einen sehr hohen
Datendurchsatz, den der uC nicht mehr vollständig empfangen und
verarbeiten konnte).
Autor: Niels Keller (niels-k)
Datum:
Angehängte Dateien:

So - da war doch tatsächlich ein Bug in der Software, der verhindert
hat, dass beim zyklischen Auslesen der SMS-Nachrichten nach Eintritt
eines fehlerhaft ausgelesenen Datensatzes, die Fehlerkorrekturroutine
(die für den Einsatz unterschiedlicher Mobiltelefone, mit
unterschiedlichen Wartezeiten vorgesehen ist) verlassen werden kann. Das
Zurückschalten war nicht definiert. Es wurde nun integriert. Der Fehler
war in Zeile 592.

Anbei der Quelltext und die HEX-Datei.

Also es sieht nun so aus:

Das Gerät wird gestartet
"AT
AT"
und begrüßt seinen Nutzer:
"AT^SSTK=71,0
D0458103012180820281028D3904534D53204750530D545241434B455220284D696E69290D2A2A323031312A2A0D56657273696F6E20312E330D4E69656C73204B656C6C657220AT"

und weißt diesen darauf hin, dass alle Nachrichten gelöscht werden:
"AT^SSTK=82,0
D0508103012180820281028D440421212141636874756E672121210D416C6C6520534D532D4E616368722E0D617566206465722053494D2D0D4B617274652077657264656E200D67656C6F65736368742E20AT"

und löscht anschließend alle Nachrichten:
"at+cpms="ME"
at+cmgd=1
[...]
at+cmgd=100"

Dann geht es in den dauernden Abfragemodus über:
"AT^SSTK=77,0
D04B8103012180820281028D3F04534D532047505320545241434B45520D2A2A2A0D5761727465206175660D416E77656973756E67656E202E2E2E0D43202D204E69656C73204B656C6C657220AT"

Und fragt sich, ob eine SMS angekommen ist:
"at+cpms="ME""

Wenn dann eine SMS ankommt meldet es:
"Eingabe: +CPMS: 1,100,0,25,0,25"

Dann beginnt die Auswertung und Verarbeitung der SMS --> siehe PDF.

Kommt aber als Meldung nichts zurück, z.B. durch einen Timeout, dann
geht die Abfrage in den Fehlermodus über und es erscheint:
"Eingabe: ERROR
Zwischenspeicher1:
Nachrichtennummer: 0
Fehler aktiv (2)"

Jetzt wird ein Modus aktiviert, bei dem auch ein zugedröhntes Telefon
noch eine Chance hat, eine Nachricht an den uC zu senden. Kommt wieder
nichts wird nun !!!!! wieder in den Fehler-Inaktiv-Modus
zurückgeschaltet.

Ja, das war es eigentlich schon.

Grüße Niels

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder GIF-Format hochladen.
Siehe Bildformate

Mit dem Abschicken erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net