Obsługa GPS

0

Witam

Robię program, który ma za zadanie zbierać dane od modułów GPS. Urządzenia do nadzoru pojazdów to gotowe moduły w skład których wchodzi GPS, modem GSM i inne pierdoły pozwalające procować urządzeniu ;) Urządzenie komunikuje się po TCP, UDP itp. - kwestia konfiguracji.

Moje pytanie jest takie: czy ktoś oprogramował już takie urządzenie i wie jak wygląda protokół komunikacyjny (czy jest jakiś standard czy też to zależy od producenta), ewentualnie jakieś porady, wskazówki, cokolwiek?

Szukałem takich informacji na google i niestety nic nie znalazłem :( Proszę o pomoc.

0

Wiele popularnych GPS-ów wysyła swoje informacje w standardzie NMEA (NMEA 0183). Dane odbiera się przez port szeregowy, GPS wysyła ciągi znaków ASCII określające odpowiednie informacje. Aczkolwiek nie wiem w jaki sposób to działa w takich "skrzynkach".

Do C# jest nawet jakaś biblioteka do tego: http://code.google.com/p/gpstalk/ (za Wikipedią znalazłem).

0

Fajna sprawa, dzięki za info. Proszę jeszcze o wypowiedzenie się osób, które miały do czynienia z takimi skrzynkami, jak to kolega ujął :) Podejrzewam że te skrzynki mają jakiś protokół komunikacyjny służący pobieraniu danych, sterowaniu itd. Będę wdzięczny za jakiekolwiek informacje :)

0

Po zainstalowaniu w systemie urządzenie widoczne jest jako klasyczny port szeregowy, a komunikacja sprowadza się tylko do sczytywania danych z bufora. Cała brudną matematyczną robotę moduł gps wykonuje już sam i do komputera przekazywane są gotowe dane (długość, szerokość, wysokość, godzina, data, fixy i dane odnośnie satelitów) w postaci znaków ASCII. Format danych opisany jest w dokumentacji protokołu NMEA, o którym wspomniał Ktos.
Tu masz wszystko bardzo ładnie rozpisane http://www.gpsinformation.org/dale/nmea.htm

0

Tak jak zostało to już napisane wcześniej. Odczytujesz sentencje NMEA z portu szeregowego. Na początku zainteresuj się sentencją RMC, która zawiera minimum niezbędnych danych. Pamiętaj też o odpowiednim ustawieniu klasy SerialPort zgodnie z konfiguracją podaną na Wikipedi.

A zamiast pisania własnej biblioteki możesz skorzystać z czegoś gotowego. Ja ostatnio korzystałem z GPS.NET i mogę polecić.

0

Dzięki za te informacje :)

Mam jeszcze pytanie, ponieważ wspominacie o porcie szeregowym, a mój problem polega na tym, że te urządzenia muszą komunikować się poprzez GPRS po TCP lub UDP (nieistotne). I jeżeli w przypadku seriala moduł wystawia wszystko na bufor to jest ok - sprawa jest prosta, ale co w sytuacji, którą opisałem? W jaki sposób zmusić urządzenie do odpowiedzi (np. wysłanie danych lokalizacyjnych), czyli jak wygląda taki protokół i czy jest jakiś standard czy też jest to zależne od producenta? W sieci jest wiele takich urządzeń (np. na Allegro) i w moim przypadku sprawa może nie skończyć się tylko na jednym producencie - stąd moje pytanie o standard. Nadmienię, że te urządzenia służą do zdalnego monitoringu, a co za tym idzie podłączenie przez port RS jest możliwe jedynie w przypadku kiedy sprzęt jest wymontowany z pojazdu :) Chciał, nie chciał port szeregowy raczej nie wchodzi w grę :)

Proszę o kolejne uwagi.

1 użytkowników online, w tym zalogowanych: 0, gości: 1