GPS-Koordinate mit Webserver visualisieren

Hallo,

ich bin gerade im Web auf der Suche um folgendes Problem zu lösen:
Ich möchte auf einem Schiff (kein GSM etc. vorhanden) die aktuelle Position mittels Webserver (dort greift man mit dem Laptop oder dem iPad zu) visualiseren.

Über diverse Suchkombinationen bin ich vorhin auf dieses Forum gestoßen. (Einstieg war das hier im Forum: "Gps to Gprs to Webserver live tracker" - sorry, darf beim ersten Post keine URL posten)

So wie es scheint kann man mit dem Arduino-System mein Problem etvl. lösen, da es ja neben dem Board GPS Komponenten gibt. Momentan erschlägt mich die Vielfalt (mal ein Blick auf einen Händler geworfen und dort nach GPS suchen - es kann natürlich sein, dass die Komponenten nicht alle für das Arduino sind).

Prinzipiell soll / braucht die GPS-Box keinen integrierten Webserver. Sie soll aber wenn möglich die GPS-Koordinate z.B. IP ala http/192.168.178.1/gps-koordinate.php an meinen Webserver senden (Push). Der Webserver kann dann alles sein, ein PC, Steckdosen PC, NAS mit integriertem Web-Server ....

Es ginge natürlich auch, dass die GPS-Box die Koordinate über einen einfachen Webserver (gibt nur eine Seite und die Koordinate als plain/text) zur Verfügung stellt (Pull).

Idealerweise sollte die GPS-Box etwas robust sein (Wellen, Regen ...).

Vielen Dank
Maik

Vorschlag:
PC mit einer GPS Mouse und SW auf PC waere keine Loesung? (ganz ohne Arduino?)
Willst Du das ueber einen Webserver loesen?
Uwe

Hallo,

mein erster Plan ist, dass eine Diskstation (Firma Synology) mit integriertem RAID1, Webstation (PHP und MySQL), Audiostation (MP3-Streaming), Photo-Station (Slideshow) und sogar der Unterstützung von IP-Kameras (Stichwort Fahrtkamera) als Server und eine Fritzbox als Router/WLAN agieren soll. Diese Kombi habe ich im Familien-Kreis mehrfach im Betrieb und ich bin sehr zufrieden.

Dieses System soll sicher irgendwo im Schiff stehen und das USB-Kabel müsste schön 30 Meter lang sein. Ist sicherlich machbar.

Aber die Idee mit dem Arduino hat noch weitere Vorteile. Ich kann z.B. Temperatur-Sensoren usw. integrieren und so auch die Live-Temperatur per Web-Oberfläsche visualiseren. Außerdem ist das System nett entkoppelt.

Da ich mich gestern Abend noch ein wenig tiefer eingelesen habe, sollte ich mich evtl. schon bei der Wahl der Module einschränken können.

Ein User hier im Forum hat für GPS2GPRS ein Arduino Mega mit einem GPS Vincotech von Libelium erfolgreich eingesetzt. Bei einem anderen Porjekt ein GPS Falcom von ESawdust. Ich stelle mir den Arduino GPS-Shield (Libelium) vor.

Arduino Ethernet Shield (auch wenn ich von einem Router gelesen habe, der wohl mit alternativer Firmware die seriellen Ports abfragen kann) für die LAN-Verbindung.

Bei einem großen Online-Shop (mit der Watte) steht aber, dass das Arduino Mega nicht mit dem Ethernet Shield verbunden werden kann. Dieser Shop sorgt aufgrund seiner Vielfalt natürlich immer noch für Verwirrung. Daher bin ich beim Arduino Duemilanove gelandet. ... Jetzt lese ich doch gerade, wieder, dass es mit dem Mega geht. Was meint ihr, welches Board sollte ich für mein System nehmen? Duemilanove oder Mega?

Bei obigem Shop gibt es 2 Netzteile 3-12 Volt mit jeweils 0,3A oder 1,0A - ich denke, ich brauche 1,0A zweite?

Da ich noch keinen Plan habe, was ich dann beim Zusammenbau noch benötige, sollte ich mir wohl so ein Arduino Erweitertes Bauteilset bestellen?

Brauche ich noch eine Platine oder einen Kasten für das ganze?

Das ist mein erster Kontakt zu dem ganzen System und ich stehe erst einmal vor der Eiger Nordwand. Tante Google ist toll, aber etwas Richtungshilfe wäre klasse.

Danke
Coach

  • Duemilanove sollte reichen
  • Ethernet Shield oder WiFly Shield (spart das Kabel, dürfte aber etwas komplizierter zu konfigurieren/programmieren sein und die Steckverbinder musst Du da auch extra mitbestellen und selbst löten). Die nutzen beide die SPI Pins (10-13) auf dem Arduino
  • GPS Shield - nutzt die seriellen RX + TX Pins (0-1) auf dem Arduino

Das kann man wahrscheinlich problemlos in der Reihenfolge einfach übereinander stecken.

Ein Sketch (=Arduino Programm) liest einmal pro Minute oder so die GPS Koordinaten aus und schickt die per HTTP-POST/GET an Deinen Webserver. Programmierbeispiele und Bibliotheken finden sich meistens auf den Webseiten der Hersteller.

Pull würde ich nicht machen, weil die Konfiguration mit Router->NAT/Firewall... nervt.

Visualisieren würde ich das ganze mit Google Maps :slight_smile:

Vergiß ein USB kabel mit 30 m Länge.
USB kabel dürfen nur 5 m lang sein und solche mit einem Repeater dürfen bis zu 5 hintereinander geschaltet sein (max 25m). Es gibt Lösungen die ein USB über ein Netzwerkkabel übertragen. Ist hat teuer.
Grüße Uwe

Ich würde jetzt denken, aber ich kann mich irren, daß du über TWI bzw. I2C + VCC besser fährst bei der Länge....

1x Atmega / Arduino (als GPS Station irgendwo am Mast oder auf dem Deck) und 1x Arduino (mit USB) am Server.

Es gibt i2c GPS Module.... ob man da rankommt weiß ich nicht, dann
wärst du ziemlich nahe an Deiner Vorstellung.

Kleiner Vorteil, da das Bussysteme sind, sie standardisiert arbeiten wäre es nicht so kompliziert nochmal modul xy in den Bus zu hängen um 50cm unter dem Deck den Luftdruck zu messen und ebenfalls über den Bus zu kommunizieren.

Flugzeuge oder Autos werden in der Regel auch über Busse ausgestattet, und nicht über Sternverabelung. (Je nach Sicherheitsaspekten natürlich).

Vielleicht auch eine Idee....

Lieber Gruß
ChrisS

Also ich würde genauso wie Uwefed auch keinen Arduino für sowas nehmen. GPS Maus + "richtiger" Computer ist sicher die bessere Wahl. "Richtige" Computer gibt es auch in billig und klein: SheevaPlug – Wikipedia
Dann ist auch der Stecker und ein Gehäuse schon dabei.

Davon abgesehen sind I2C und TWI nur für Leitungslängen geeignet die deutlich unterhalb dem liegen was mit USB geht.

Gruß, Udo

Hallo,

vielen Dank für eure Antworten. Ich bin zwar ein Infomatiker, aber auf Treiber- oder Schnittstellenebene bin ich nicht so bewandert. Ab Anwendungsschicht ( application layer ) oder Darstellungsschicht ( presentation layer ) - Stichwort OSI-Modell - bin ich dabei :wink:

Darum gefiel / gefällt mir ja immer noch das Arduino in der Hoffnung nicht so viel löten zu müssen.

Den Sheeva-Plug kenne ich, aber aufgrund der Hitzeprobleme hatte ich den aus meinem Ideen-Katalog gestrichen. Ich hatte damals vor, diesen als Webserver einzusetzen.

Klar, eine GPS-Stick mit intigriertem Webserver wäre ein Traum, habe ich aber so im Web nicht gefunden.

http://www.synotrak.com/GPS_over_wifi_LAN-1000.shtml ist sicher viel zu teuer.

http://gomite.com/locogps.html hat GPS und WLAN, aber wird anders angewendet.

http://www.airstash.com/ war ein netter Fund, aber ein anderes Thema.

Ein Empfänger von Garmin, wie z.B. Garmin | Select a location ist wasserdicht, aber da brauche ich am Ende des Kabels wieder einen "Computer" zum Parsen der NEMA-Strings.

Apropo, die Suche nach bei Tante Google bringt ein paar interessante Links zu Tage.

Ich werde vorerst mal den obigen Ansatz von mir weiterverfolgen.

Coach

@udo:

Zitat:"Hallo Chris,
wie Lars schon schrieb, entscheidend für die maximale Länge des Kabels sind die Buskapazität und die Übertragungsrate. Bei mir läuft ein I2C Bus ohne Reichweitenextender seit Jahren im Haus störungsfrei. Länge ca. 50 m, Geschwindigkeit ca. 1 kHz. Allerdings mit Pull-up zu +12V, entsprechenden Zehner Dioden (5V) und Serienwiderstand 110 Ohm.
Theoretisch sind damit bis zu 500 m bei Cat 6 Kabel drin (mit entsprechendem Treiber beim Master). Entsprechende Reichweitentests mit Dokumentation kannst du über meine Homepage downloaden (hauscomputer.gmxhome.de)"

Der nette Herr hat 330m als Sollbruchstelle für seine Anwendung ermittelt... allerdings unter Verwendung von PICs die in unserem Falle aber zulässig wären... und etwas Obacht bei der Leitungsanordnung.... :wink:

Ergibt nur 37.000 Fundstellen...

Grundsätzlich ist es ohnehin mglich über korrekturbuffer und extender etwas größere Strecken zu überwinden.... ich kenne jedenfalls kein so langes USB Kabel.... :wink:

Also der Vergleich "mit dem was mit USB Möglich ist..." scheint etwas zu hinken...

Sofern es sich nicht um ein Rennboot handelt, dürfte die gedrosselte i2c-Bus Geschwindigkeit auch kein Problem darstellen.

Der Sheeva-Plug ist aber tatsächlich ein gutes Teil, da gebe ich Dir (Udo) wirklich recht. Bloß die Hitzeprobleme eben.... aber dürfte ja genug Wasser in der Nähe sein :wink:

Lieber Gruß
ChrisS

Hallo alle zusammen
Entschuldigt, daß ich mich nochmal zu Wort melde.

@ Coach
Wenn ich das richtig verstanden habe möchtest Du, auf einem Intranet, das sich auf das Schiff beschränkt, mit einem Gerät mit Browser über wifi zeigen, wo Dein Schiff gerade ist und einige Zusatdate anzeigen.
Zur Klarheit sowas: http://www.hurtigruten.de/norwegen/Schiffspositionen/

Das Problem mit Arduino als Webserver ist: wo bekommst Du das Kartenmaterial her? Oder soll deim Endgerät nur die Daten bekommen und als Navigationsgeröt die Position auf einer Karte zeigen?

Da verstehe ich nicht den Umweg über Arduino.

PC mit PHP,mysql Server ecc GPS über USB- GPS Maus (muß nur Sicht auf Sateliten haben, muß nicht auf dem höchsten Punkt des Schiffes sein) 5m UPS Kabel müßten reichen können. Wenns regnet funktioniert GPS sowiso schlecht (ziemlich ungenau) da das Wasser die Radiowellen der Sateliten dämpft .
Wenn Du zusätzliche Wetterdaten haben möchtest dann Arduino mit RS232 (also ohne USB umsetzer zb ein Arduino mini PRO mit Pegelwandler für RS232) an den PC anschließen und Daten mit COM Schnittstelle übertragen.

Grüße Uwe

Wenn ich mich recht entsinne, kann google earth mit Offlinedaten umgehen, und bietet ebenfalls eine Visualisierung von GPS/KML Daten an.

Ansonsten würde mit noch Celestia einfallen.... ebenfalls eine ziemlich gute Lösung zum visualisieren.

Lieber Gruß
ChrisS

Was soll bei dem System über USB angebunden werden ??

30 Meter....höchtens mit einem LAN to USB Converter.
USB selbst lässt laut Standard nur 5 Meter zu, mit einem USB-Repeater kommt mal auf 10 Meter und dann ist Schicht im Schacht

@LC_Data
Der Standart von USB erlaubt das Hintereinenderschalten von 5 Repeatern ja zu 5m das sind dann 25m.
Das würde ich dann aber nicht machen da die ganzen Steckverbindungen die Sicherheit nicht erhöhen.
Ich würde da USB over LAN benutzen.
Grüße Uwe

@Uwe
Das bis zu 5 Repeater möglich sind wusste ich nicht....
von daher wie Du auch schon bemerktest... ein LAN - USB Converter
(Damit sind dann 100 Meter drin)

Cool, dann könntest Du die Daten der GPS-Maus im Bitbangmodus mit 2Mbit übertragen ^^
Da dürften einige km/h drin sein... g

Lieber Gruß
ChrisS

Also wenn der Sheeva Plug zu heiss wird könnte man Linux auch direkt im Router laufen lassen. Z.B. ein linksys wrt54gl. Insbesondere V2 hat nicht nur jede Menge Netzwerkports sondern auch 2 USB Ports. Das Teil ist billig, braucht wenig Platz und wenig Strom. Man muss halt nur die Firmware umflashen. Ist nicht wirklich schwer. http://openwrt.org/

@Chris: ja, mit einem modifizierten Bus kriegt man eine höhere Reichweite hin. Aber der OP wollte ja nicht löten.

Gruß, Udo

@ Udo: Richtig...

Möglichkeit wäre vielleicht auch ein Fonera, da gibt es ein paar Arduino / Processing Beispiele.

http://www.geocities.jp/arduino_diecimila/wifi/a2p_ddwrt_en.html

Lieber Gruß
ChrisS

Klar geht das, aber wenn man eh schon Linux im Router hat, wozu dann noch ein Arduino? Ziel jedes Designs sollte eigentlich immer sein die Zahl der Komponenten zu verringern. Und ein Arduino taugt da regelmäßig nur bedingt. Ist halt eine Prototypplatfrom. Danach hat immer das leidige Gehäuseproblem. Ein gehackter Router für 50 Euronen ist da kaum zu schlagen.

Udo

Nachtrag: statt Arduino geht auch noch das hier:

Unschlagbarer Preis. Und im Datenblatt sieht man, daß in den 32er Sockel ein 644er reinpasst, d.h. das Teil kann als Sanguino = Arduino kompatibel betrieben werden. Oder gleich damit: Etherrape/Aufbau - Lochraster

Udo

Hallo,

endlich Feierabend :slight_smile:

da ich mein Vorhaben evtl. mißverständlich formuliert habe, mache ich es einfach noch einmal.

Also das Schiff (> 30 Meter) fährt in einer Gegend mit keinem bis wenig Handy-Empfang, d.h. Internet gleich Null.

Die Idee ist es, den Gästen (Taucher) die in der Regel oft einen Laptop oder Smartphone bei sich führen, die aktuelle Position verknüpft mit zusätzlichen Informationen (Tauchplätze, Dörfer, Aussichtspunkte ...) zu visualisieren.

Das ganze ideal natürlich über WLAN und mit Zufriff auf ein lokales Netzwerk.

Das Kartenmaterial basiert am Ende auf http://www.openstreetmap.org/, bei dem ich aktiv bin und auch schon mal Inseln "eingetragen" habe und liegt lokal auf dem Webserver.

Da ich momentan auch beim Webserver noch nicht im Klaren bin (SheevaPlug wohl eher nicht, Diskstation wäre eine Variante mit Solid State Platten, ...) gefällt mir natürlich die Idee einer unabhängigen Komponente, die mir die GPS-Koordiante ermittelt. Eine GPS-Maus funktioniert z.B. nicht ohne weiteres an der Diskstation (hier sind dann wohl wieder spezielle Treiber zu programmieren). Da der Webserver am Ende auf PHP und MySql basiert, kann ich problemlos http-Requests absetzen und mir die GPS-Koordinate holen - egal auf welchem System der Webserver am Ende läuft. Die Variante mit dem GPS-Only-Webserver gefällt mir daher.

Und so bin ich auf Arduino gestoßen, weil preiswert, GPS und Webserver plus mehr kann.

Jetzt habe ich doch glatt die letzten Posts übersehen, der Linksys-Router steht auch auf meiner Liste. Die anderen Vorschläge sind gut, aber leider für mich zu kompliziert :frowning:
Natürlich mag ich auch eierlegende Wollmilchsäue, sprich wenig Komponenten.

Viele Grüße
Coach