<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>carbolineum&#039;s Geocaching Blog &#187; Technikspielereien</title>
	<atom:link href="http://carbolineum.de/kategorien/technikspielereien/feed/" rel="self" type="application/rss+xml" />
	<link>http://carbolineum.de</link>
	<description>Silke und Michaels Suche nach Plastikdosen in Wald und Flur</description>
	<lastBuildDate>Fri, 09 Jul 2010 09:19:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>GPS-Fahrzeug-Ortung mit OpenGTS</title>
		<link>http://carbolineum.de/2010/01/gps-fahrzeug-ortung-mit-opengts/</link>
		<comments>http://carbolineum.de/2010/01/gps-fahrzeug-ortung-mit-opengts/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 14:04:14 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Technikspielereien]]></category>
		<category><![CDATA[Fahrzeug]]></category>
		<category><![CDATA[Fleetec]]></category>
		<category><![CDATA[GPS]]></category>
		<category><![CDATA[OpenGTS]]></category>
		<category><![CDATA[Ortung]]></category>

		<guid isPermaLink="false">http://carbolineum.de/?p=385</guid>
		<description><![CDATA[Wie kann man im Internet verfolgen, wo sich ein Fahrzeug gerade befindet?
Diese Frage habe ich mir vor nicht allzulanger Zeit gestellt und am Ende eine individuelle Lösung zusammen gebaut. Dieser Artikel beschreibt nicht alles bis ins letzte Detail, sollte aber bei der Umsetzung einer solchen Lösung hilfreich sein. Wer weitergehende Infos zu Details haben möchte, [...]]]></description>
			<content:encoded><![CDATA[<p><strong><em>Wie kann man im Internet verfolgen, wo sich ein Fahrzeug gerade befindet?</em></strong></p>
<p>Diese Frage habe ich mir vor nicht allzulanger Zeit gestellt und am Ende eine individuelle Lösung zusammen gebaut. Dieser Artikel beschreibt nicht alles bis ins letzte Detail, sollte aber bei der Umsetzung einer solchen Lösung hilfreich sein. Wer weitergehende Infos zu Details haben möchte, kann gerne per Kommentar seine Fragen stellen. Für die Umsetzung der hier beschriebenen Lösung sind auf jeden Fall Linux- und evtl. auch Skript/Programmierkenntnisse erforderlich.<span id="more-385"></span></p>
<div id="attachment_398" class="wp-caption alignright" style="width: 310px"><img class="size-medium wp-image-398 " title="Fleetec II+ GPS-Empfänger" src="http://carbolineum.de/wordpress/wp-content/uploads/PB230444-300x225.jpg" alt="Der verwendete GPS-Empfänger Fleetec II+" width="300" height="225" /><p class="wp-caption-text">Die verwendete GPS-Trackbox Fleetec II+</p></div>
<p>Nach längerer Recherche im Internet stieß ich zunächst auf verschiedene Firmen, die kommerzielle Dienste zur Fahrzeugortung anbieten. Da es mir aber eher um ein &#8220;Privatvergnügen&#8221; ging, musste eine kostengünstigere Lösung her, am liebsten mit eigener Hardware, und so unabhängig wie möglich von kommerziellen Anbietern.</p>
<p><strong>Was wird benötigt?</strong></p>
<p>Hardware:</p>
<ul>
<li>GPS-Trackbox mit GSM-Modem</li>
<li>Evtl. 12V=-Netzteil für Trackbox-Konfiguration</li>
<li>GSM-Modem für SMS-Empfang</li>
<li>2 SIM-Karten für die Modems</li>
<li>Linux-PC mit serieller Schnittstelle</li>
<li>Internet-Anschluß</li>
</ul>
<p>Software:</p>
<ul>
<li><a href="http://www.meinemullemaus.de/software/smstools/index.html" title="SMS Server Tools" target="_blank" class="liexternal">SMS Server Tools</a></li>
<li><a href="http://ant.apache.org/" title="Apache Ant" target="_blank" class="liexternal">Apache-ANT</a></li>
<li><a href="http://tomcat.apache.org/" title="Apache Tomcat" target="_blank" class="liexternal">Apache-Tomcat</a></li>
<li><a href="http://java.sun.com" title="Java Home Page" target="_blank" class="liexternal">Java</a></li>
<li><a href="http://java.sun.com/products/javamail/downloads/index.html" title="JavaMail" class="liexternal">JavaMail</a></li>
<li><a href="http://www.mysql.com/" title="MySQL" target="_blank" class="liexternal">MySQL-Datenbank</a></li>
<li><a href="http://dev.mysql.com/downloads/connector/j/3.1.html]" title="MySQL-Connector/J" target="_blank" class="liexternal">MySQL Connector/J</a> (JDBC-Support für MySQL)</li>
<li><a href="http://www.opengts.org/" title="OpenGTS Homepage" target="_blank" class="liexternal">OpenGTS</a></li>
</ul>
<p>Meine ersten Versuche startete ich mit der GPS-Trackbox &#8220;Fleetec II+&#8221; von der Firma Datafactory (heute TomTom). Im Prinzip eignet sich aber jede Trackbox, wenn sie in der Lage ist, die Daten per Mobilfunk zu versenden. Da die Fleetec II+ ihre Daten per SMS versendet, ist auf der Empfängerseite ein GSM-Modem nötig. Dazu kommt ein Siemens TC35 zum Einsatz. Damit die GSM-Modems ihren Dienst verrichten können, wurden sie mit zwei SIM-Karten bestückt. Dazu hatte Congstar eine günstige netzinterne SMS-Flatrate für rund 5 EUR und eine Prepaid-Karte für das empfangende Modem im Angebot.</p>
<div id="attachment_400" class="wp-caption alignright" style="width: 310px"><img class="size-medium wp-image-400" title="Siemens TC35" src="http://carbolineum.de/wordpress/wp-content/uploads/siemens_tc35-300x300.jpg" alt="GSM-Modem Suemens TC35" width="300" height="300" /><p class="wp-caption-text">GSM-Modem Siemens TC35</p></div>
<p>Für die Entgegennahme der empfangenen SMS-Daten sind die kostenlosen <a href="http://smstools.meinemullemaus.de/" title="SMS Server Tools von Stefan Frings" target="_blank" class="liexternal">SMS Server Tools</a> die Software der Wahl. Nun kann man also theoretisch Positionsdaten per SMS empfangen. Jetzt wäre es natürlich schön, wenn man die Daten auch auf einer Landkarte darstellen könnte. Nach einiger Sucherei im Internet fand ich schließlich das Open-Source-Projekt <a href="http://www.opengts.org/" title="OpenGTS Homepage" target="_blank" class="liexternal">OpenGTS</a>, das genau diese Funktionalität (neben einer ganzen Reihe weiterer Funktionen) beherrscht. Wie das aussieht, kann man sich online in einer <a href="http://track.opengts.org/track/Track" title="OpenGTS Demo" target="_blank" class="liexternal">Demo</a> anschauen.</p>
<p>Die in Java geschriebene Software liefert von Haus aus Unterstützung für einige GPS-Trackboxen, die Fleetec II+ ist aber leider nicht dabei. Es blieb in diesem Falle also nichts anderes übrig, als selbst ein kleines Programm zu schreiben, um die Daten aus den eingehenden SMS für OpenGTS bereitzustellen.</p>
<p>Die SMS Server Tools und OpenGTS laufen problemlos auf einem Linux-Server. Für OpenGTS wird ein Apache-Tomcat-Server und MySQL benötigt.</p>
<p><strong>Vorbereitung der Komponenten:</strong></p>
<ul>
<li>Konfigurieren der GPS-Trackbox gemäß Herstelleranleitung.</li>
<li>Installation und Konfiguration der SMS-Server-Tools gemäß Dokumentation.</li>
<li>Installation des Apache-Ant, Apache-Tomcat, Java, JavaMail und MySQL mit Connector/J, wenn noch nicht vorhanden.</li>
<li>Kompilieren, Konfiguration und Installation von OpenGTS gemäß Dokumentation.</li>
</ul>
<p>Je nach Modell unterscheidet sich die Konfiguration der Trackbox natürlich erheblich. Zum Betrieb der Trackbox zu Hause wird eine 12V-Gleichspannungsversorgung benötigt. Im Falle der &#8220;Fleetec II+&#8221; muss zunächst die Rufnummer des GSM-Anschlusses konfiguriert werden, an welchen die SMS gesendet werden sollen. Ausserdem muss eingestellt werden, dass nach einer bestimmten zurückgelegten Strecke automatisch eine SMS mit den Positionsdaten gesendet wird. Aus urheberrechtlichen Gründen darf ich die Anleitung der Fleetec II+ leider nicht zur Verfügung stellen.</p>
<p>Die SMS Server Tools werden mittels der Datei <em>smsd.conf</em> eingerichtet. <a href="http://carbolineum.de/download/smsd.conf" title="smsd.conf" class="liinternal">Hier</a> ist die Konfiguration, wie sie bei mir verwendet wird. Nach Anschluß des GSM-Modems kann man die SMS Server Tools starten und sollte nun die Kommunikation testen. Wenn alles funktioniert, werden die SMS im Verzeichnis <em>/var/spool/sms/incoming</em> gespeichert. Eine Positions-SMS der Fleetec II+ kann z.B. so aussehen:</p>
<pre>From: 4915112345678
From_SMSC: 491710760000
Sent: 08-04-25 07:32:41
Received: 08-04-25 07:32:50
Subject: GSM1
Alphabet: ISO
UDH: false

<span style="color: #99ccff;">DST</span>,<span style="color: #800000;">250408,053241</span>,<span style="color: #ff0000;">5110.3935,N,00653.0809,E</span>,<span style="color: #0000ff;">122</span>,<span style="color: #339966;">179.3</span>,03,A7.0,,0,0,26,1,26201,0000,0000,
</pre>
<p>Die farbig markierten Felder sind die Wesentlichen, die man für OpenGTS verfügbar machen sollte:</p>
<p><span style="color: #99ccff;">DST</span> ist die Befehlskennung für Positionsmeldungen, die immer nach einer konfigurierbaren zurückgelegten Strecke gesendet werden. Diese Befehlskennungen habe ich in OpenGTS für die verschiedenen  Statuscodes verwendet. Dazu nachher mehr.</p>
<p><span style="color: #993300;">Datum und Uhrzeit</span>: Die Uhrzeit nach Universal Time Code</p>
<p><span style="color: #ff0000;">Position</span>: GPS-Positionsdaten. Diese müssen für OpenGTS noch in Dezimalgrad konvertiert werden. Positive Werte repräsentieren jeweils Nord und Ost, negative Werte repräsentieren jeweils Süd und West.</p>
<p><span style="color: #0000ff;">Geschwindigkeit in km/h</span> und <span style="color: #339966;">Fahrtrichtung in Grad</span>.</p>
<p><strong>Installation von OpenGTS</strong></p>
<p>Zunächst lädt man sich die aktuelle Version von OpenGTS herunter und entpackt sie. OpenGTS und die vorausgesetzten bereits zuvor genannten Programmpakete (Apache-Ant, Apache-Tomcat, Java, JavaMail, MySQL mit MySQL Connector/J), müssen nun gemäß der recht ausführlichen Anleitung im Dokument <em>OpenGTS_Config.pdf</em> (leider nur in Englisch verfügbar) kompiliert, installiert und konfiguriert werden. Für detaillierte Anweisungen zur Installation der vorausgesetzten Pakete sind die entsprechenden bei den Paketen mitgelieferten Anleitungen zu beachten.</p>
<div id="attachment_542" class="wp-caption alignright" style="width: 449px"><a href="http://carbolineum.de/wordpress/wp-content/uploads/opengts-screenshot.jpg" ><img class="size-full wp-image-542  " title="Opengts-Screenshot" src="http://carbolineum.de/wordpress/wp-content/uploads/opengts-screenshot.jpg" alt="" width="439" height="239" /></a><p class="wp-caption-text">Opengts-Screenshot mit OpenStreetmap-Karte</p></div>
<p>Nach der Installation von OpenGTS und aller notwendigen Pakete müssen noch folgende Schritte erledigt werden:</p>
<ul>
<li>Anlegen der Datenbank mittels <em>bin/dbAdmin.pl -schema</em></li>
<li>Anlegen eines Accounts mittels <em>bin/admin.sh Account -account=&lt;MeinKontoName&gt; -create</em></li>
<li>Anlegen eines Users für den o.g. Account mittels <em>bin/admin.sh User -account=&lt;MeinKontoName&gt; -user=&lt;MeinUserName&gt; -create<br />
</em></li>
<li>Anlegen eines Device (die Trackbox) mittels<em> bin/admin.sh Device -account=&lt;MeinKontoName&gt; -device=&lt;MeinDeviceName&gt; -create</em></li>
</ul>
<p>Auch die obigen Schritte sind ausführlich in <em>OpenGTS_Config.pdf beschrieben.</em></p>
<p>OpenGTS hat ausserdem eine MySQL-Tabelle StatusCode. In dieser sind u.a. verschiedene gerätespezifische Statuscodes mit deren Klartextnamen und Beschreibungen hinterlegt. Für die Fleetec II+ habe ich die folgenden <a href="http://carbolineum.de/download/statuscodes.txt" title="StatusCodes für Fleetec II+" class="liinternal">Statuscodes</a> in der Tabelle eingetragen. Diese werden später für die Anzeige von Klartext-Statuscodes (in Bewegung, Zündung ein/aus etc.) auf der OpenGTS-Seite benötigt.</p>
<p>Da OpenGTS nicht gerade viele Trackboxen von Haus aus unterstützt, muss man für die Fleetec II+ einen eigenen Kommunikationsserver programmieren. Es gibt bei OpenGTS gibt auch einen mitgelieferten Template-Server, den man (Java-Kenntnisse vorausgesetzt) für seine eigenen Geräte verwenden und anpassen kann. Im Prinzip kommt es nur darauf an, die ankommenden SMS-Positionsdaten im passenden Format in der OpenGTS-Datenbank abzulegen.</p>
<p>Wenn eine neue SMS eingegangen ist, wird von den SMS Server Tools ein <a href="http://carbolineum.de/download/smsevent" title="SMS-Tools Eventhandler" class="liinternal">Event-Handler</a> aufgerufen. Dieser prüft, ob der Absender unsere Trackbox ist und startet dann bei Bedarf einen weiteren <a href="http://carbolineum.de/download/gts_smshandler" title="GTS-spezifischer Event-Handler" class="liinternal">Handler</a>, welcher schließlich das eigentliche (selbst geschriebene) <a href="http://carbolineum.de/download/sms2gts.c" class="liinternal">C-Programm</a> zum Import der Daten in die OpenGTS-Datenbank aufruft.</p>
<p>Das Programm liest die Daten aus den SMS-Dateien und legt die Daten nach einigen Plausibilitätsprüfungen und Konvertierungen in der Datenbanktabelle <em>EventData</em> ab.</p>
<p><strong>Einbau der Trackbox ins Fahrzeug</strong></p>
<p>Nachdem der Softwareteil nun funktionieren sollte, muss die Trackbox noch im Fahrzeug installiert werden. Hier ist definitiv Erfahrung mit der KFZ-Elektrik erforderlich, um die Trackbox korrekt anzuschliessen. Wer sich da nicht auskennt, sollte es <strong>unbedingt </strong>von einem Fachmann machen lassen. <strong><span style="color: #ff0000;">Die Gefahr eines Kabelbrandes bei Kurzschluss durch unsachgerechte Installation ist einfach zu gross.</span></strong> Neben dem Stromanschluss müssen auch noch die GPS- und GSM-Antennen installiert werden. Insbesondere die GPS-Antenne muss eine möglichst &#8220;freie&#8221; Sicht zum Himmel haben. Metallbedampfte Windschutz- und Heckscheiben sind garnicht von Vorteil. Die Plazierung der Antennen hängt stark vom jeweiligen Fahrzeugtyp ab, da muss man sich was Passendes einfallen lassen.</p>
<p><strong>OpenGTS im Internet erreichbar machen</strong></p>
<p>Um die OpenGTS-Seite aus dem Internet erreichen zu können, muss der Tomcat-Port auf dem Router nach aussen freigegeben werden. Ausserdem empfiehlt sich bei Internet-Anschlüssen mit dynamischer IP-Adresse ein <a href="http://www.dyndns.com/" title="DynDNS" target="_blank" class="liexternal">DynDNS</a>-Account, damit man die Seite über einen festen Hostnamen ansprechen kann. Anleitungen zur Router-Konfiguration und zur Einrichtung von Dyndns gibt es genug im Internet.</p>
<p>So, das war es im Groben und Ganzen. Sollte diese Anleitung jemandem geholfen haben, freue ich mich über Feedback. Fragen können natürlich jederzeit gestellt werden.</p>
<p>Gruss, Michael</p>
]]></content:encoded>
			<wfw:commentRss>http://carbolineum.de/2010/01/gps-fahrzeug-ortung-mit-opengts/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
	</channel>
</rss>
