Data přijímaná z družic GPS

Využití GSM,GPS a GPRS modulu A7 pro příjem signálů z družic GPS lze následujícím způsobem. Modul A7 lze zakoupit na AliExpressu nebo podobném portálu za cenu kolem 10 US$. Dá se koupit samostatný modul, nebo osazený modul s konektorovou lištou s 24 piny a dvěma anténami pro GSM a GPS.

V současnosti je modem A7 nahrazen novým modemem A9, který se liší ve formátu přijímaných dat. Například GPGGA data má označení GNGGA…

Pro první pokusy je možno použít převodník USB TTL RS232 do počítače. Tam ale musíme dávat pozor, aby převodník pracoval s vaším operačním systémem. S Windows 10 mám vyzkoušené převodníky osazené čipem CH340 a Silicon Labs CP210x. Stačí propojit napájení +5V a GND a signály Rx a Tx. Nezapomenout přepnout na USB převodníku propojku na 3.3V, protože modul A7 má povolené napětí maximálně 4.2V.

Na počítači spustíme Hyperterminál. Když ho nemáme nainstalovaný můžeme nainstalovat jakýkoliv jiný. Já osobně používám na tyto účely Termite 3.3, nastavený na příslušný COM port (instaluje Windows). Na který port Windows nainstaloval převodník se dá zjistit například ve Správci zařízení.

Program Termite nabídne nainstalovaný port ve výběru. Dále se musí nastavit:

Baud rate 115 200

Data bits 8

Stop bits 1

Parity none

Flow control none

Potom již stačí do příkazové řádky napsat AT+GPS=1, tím se zapne modul GPS, který to potvrdí „OK“. Následuje povel do příkazové řádky AT+GPSRD=1 a modul začne chrlit každou vteřinu data. Je důležité, aby anténa GPS byla na místě, kde je možno přijímat signály z družic (ne ve sklepě nebo zastíněných budovách). Na našem území je možno v ideálních podmínkách přijímat současně až 13 družic. Nám budou stačit čtyři. Kolik družic právě přijímáme je možno zjistit v řádku GPGGA na sedmé pozici:

AT příkazy pro modul A7 pro GPS:

AT+GPS=1 ; zapne GPS přijímač

AT+GPSRD=1 ; začne přijímat data po vteřině z GPS přijímače

AT+GPSRD=0 ; ukončí posílání dat

AT+GPS=0 ; vypne GPS přijímač

Příklad poslaných dat z GPS přijímače (část) :

+GPSRD:$GPGGA,221041.000,4949.16948,N,01431.16991,E,1,07,2.0,430.0,M,,M,,0000*47..

$GPGSA,A,3,24,12,19,13,15,20,17,,,,,,2.8,2.0,2.0*37..

$GPGSV,3,1,12,24,35,280,24,12,07,221,27,19,23,137,33,13,63,159,29*79..

$GPGSV,3,2,12,15,67,255,26,20,18,236,27,17,35,110,29,30,12,089,*7B..

$GPGSV,3,3,12,10,09,330,,11,06,039,,28,38,053,,18,20,303,*72..

$GPRMC,221041.000,A,4949.16948,N,01431.16991,E,0.00,0.00,141017,,,A*6B..

$GPVTG,0.00,T,,M,0.00,N,0.00,K,A*3D..

..

+GPSRD:$GPGGA,221042.000,4949.16948,N,01431.16991,E,1,07,2.0,430.0,M,,M,,0000*44..

$GPRMC,221042.000,A,4949.16948,N,01431.16991,E,0.00,0.00,141017,,,A*68..

$GPVTG,0.00,T,,M,0.00,N,0.00,K,A*3D..

..

+GPSRD:$GPGGA,221043.000,4949.16949,N,01431.16990,E,1,07,2.0,430.0,M,,M,,0000*45..

$GPRMC,221043.000,A,4949.16949,N,01431.16990,E,0.00,0.00,141017,,,A*69..

$GPVTG,0.00,T,,M,0.00,N,0.00,K,A*3D..

..

+GPSRD:$GPGGA,221044.000,4949.16949,N,01431.16989,E,1,07,2.0,430.0,M,,M,,0000*4A..

$GPRMC,221044.000,A,4949.16949,N,01431.16989,E,0.00,0.00,141017,,,A*66..

$GPVTG,0.00,T,,M,0.00,N,0.00,K,A*3D..

Žlutě jsou označeny jednotlivé řádky relace, červeně zemské souřadnice (včetně nadmořské výšky), zeleně čas, oranžově kolik družic právě přijímáme, modře síla signálu jednotlivých družic, šedá je datum. Dvěma tečkami je oddělena celá relace za 1 vteřinu. Ostatní údaje je možno ztotožnit podle následujícího popisu relace. Potřebujeme-li souřadnice, můžeme je zjistit v řádku $GPGGA, ale i v řádku $GPRMC.

Popis přijmutých dat:

GSA, aktivní satelity a DOP (Dilution Of Precision)

Příklad: $GPGSA,A,3,09,13,28,05,,,,,,,,,6.6,4.7,4.6*37..

# formát příklad komentář
1 c A Přepínání mezi N-rozměrnými módy
(A=automatické, M=manuální)
2 d 3 Počet dimenzí N (1=?, 2=2D, 3=3D)
3 dd 09 ID prvního satelitu použitelného pro výpočet
4 dd 13 ID druhého satelitu použitelného pro výpočet
5 dd 28 ID třetího satelitu použitelného pro výpočet
6 dd 05 ID čtvrtého satelitu použitelného pro výpočet
7 dd N.A. ID pátého satelitu použitelného pro výpočet
8 dd N.A. ID šestého satelitu použitelného pro výpočet
9 dd N.A. ID sedmého satelitu použitelného pro výpočet
10 dd N.A. ID osmého satelitu použitelného pro výpočet
11 dd N.A. ID devátého satelitu použitelného pro výpočet
12 dd N.A. ID desátého satelitu použitelného pro výpočet
13 dd N.A. ID jedenáctého satelitu použitelného pro výpočet
14 dd N.A. ID dvanáctého satelitu použitelného pro výpočet
15 d.d 6.6 PDOP (Position Dilution Of Precision) v metrech
16 d.d 4.7 HDOP (Horizontal Dilution Of Precision) v metrech
17 d.d 4.6 VDOP (Vertical Dilution Of Precision) v metrech
18 *xx 37 Kontrolní součet

RMC (Recommended Minimum Navigation Information)
Minimální doporučená informace pro navigaci

Příklad: $GPRMC,194651.000,A,4949.20245,N,01431.18408,E,5.81,18.31,141017,,,A*56..

# formát příklad komentář
1 hhmmss.sss 194651.000 Čas (UTC) 19h (+2h) 46 min 51 vteřin
2 c A Status (A=OK, V=varování)
3 ddmm.mmmm 4949.20245 Zeměpisná šířka
4 c N Indikátor sever/jih (N=sever, S=jih)
5 ddmm.mmmm 01431.18408 Zeměpisná délka
6 c E Indikátor východ/západ (E=východ, W=západ)
7 d.d 0.04 Vodorovná rychlost (Speed Over Ground, v uzlech)
8 d.d 16.43 Kurz pohybu ve stupních
9 ddmmyy 280705 Datum ddmmyy
10 d.d N.A. Magnetická deklinace ve stupních
11 c N.A. Indikátor východ/západ (E=východ, W=západ)
12 *xx 32 Kontrolní součet

GSV (Satellites in View) – Informace o družicích

Množství údajů závisí na počtu viditelných družic. Jedna věta může obsahovat nejvýše 80 znaků, což vystačí pouze k uložení dat týkajících se nejvýše čtyř družic. Informace proto bývá rozdělena do několika dílčích vět.

Příklad (trojice vět):

Poznámka: Příklad v tabulce se vztahuje pouze k první větě.

# formát příklad komentář
1 d 3 Celkový počet vět (číslují se od 1)
2 d 1 Číslo aktuální věty (taktéž se čísluje od 1)
3 dd 11 Počet viditelných družic
4 dd 09 Identifikační číslo družice
5 dd 84 Úhlová výška, kde se daná družice nachází
6 ddd 297 Azimut, kde se daná družice nachází
7 dd 41 Odstup signálu od šumu (SNR – Signal to Noise Ratio). Je-li tento údaj roven nule, nelze daný satelit využít k výpočtu polohy. Nejčastěji proto, že je zastíněn.
Podle počtu viditelných družic mohou následovat
další čtveřice údajů (4-7)
n *xx 74 Kontrolní součet

GGA – zeměpisná délka a šířka, geodetická výška, čas určení souřadnic

Příklad:

# formát příklad komentář
1 hhmmss.sss 170139.615 Čas (UTC), pro který platí údaje o vypočtené pozici
2 ddmm.mmmm 4912.2526 Zeměpisná šířka
3 c N Indikátor severní/jižní šířka (N=sever, S=jih)
4 dddmm.mmmm 01635.0378 Zeměpisná délka
5 c E Indikátor východní/západní délky (E=východ, W=západ)
6 d 1 Indikátor kvality:
0 — nebylo možno určit pozici
1 — pozice úspěšně určena
2 — pozice úspěšně určena (diferenční GPS)
7 dd 07 Počet viditelných satelitů 00 — 12
8 d.d 1.0 Vliv rozestavění družic na určení polohy
HDOP (Horizontal Dilution of precision)
9 d.d 357.5 Výška antény nad geoidem
10 c M Jednotka pro předchozí údaj (č.9) (M=metr)
11 d.d 43.5 Geoidal separation, rozdíl mezi WGS-84 zemským elipsoidem a střední úrovní moře (geoid). Znaménko mínus znamená, že střední úroveň země je pod elipsoidem.
12 c M Jednotka vzdálenosti pro předchozí položku (č.11) (M=metr)
13 d.d 0.0 Stáří poslední aktualizace DGPS. Údaj je uváděn v sekundách. Jestliže údaj chybí, nepoužívá se DGPS.
14 dddd 0000 Identifikační číslo referenční stanice pro DGPS (0000 — 1023)
15 *xx 7D Kontrolní součet

Čas je zobrazován v UTC ve formátu hhmmss.sss – Hodiny, Minuty, Sekundy s rozlišením na 1/1000 sec. K tomuto času je nutno připočítat naše časové pásmo +2 hodiny (letní čas)

Datum je zobrazován ve formátu DDMMRR – Den, Měsíc, Rok

Zemské souřadnice jsou zobrazovány ve formátu ddmm.mmmmm – stupně a minuty v desetinném formátu na 5 desetinných míst. Chceme-li si ověřit správnost přijímaných dat například na Mapy.cz nebo na Google maps, musíme udělat malou úpravu formátu zadávání do vyhledávače polohy v mapě. Malý příklad:

$GPGGA,211901.000,4949.16746,N,01431.17441,E,1,06,3.1,431.0,M,,M,,0000*48..

čas UTC šířka délka SAT CRC

zobrazení na MAPY.cz : 49°49.16746’N,14°31.17441′,E

zobrazení na Google maps: 49°49.16746′, 14°31.17441′

Příklad souřadnice Zahradní:

– 4949.16748, 01431.1744 =>ssmm.mmmmm, sssmm.mmmm (GPS data v $GPRMC)

– 49.8195960, 14.519491 => ve stupnich (z mapy Google)

– 49°49’10.020″N, 14°31’10.464″E => přepočítáno na klasický formát (MAPY.cz)

GPS data pro polohu jsou :

$GPGGA,211901.000,4949.16746,N,01431.17441,E,1,06,3.1,431.0,M,,M,,0000*48..

čas UTC šířka délka SAT CRC

$GPRMC,211907.000,A,4949.16750,N,01431.17436,E,0.00,0.00,141017,,,A*65..

čas UTC šířka délka DDMMRR CRC

zobrazení na MAPY.cz : 49°49.16746’N,14°31.17441′,E

zobrazení na Google maps: 49°49.16746′, 14°31.17441′

One Reply to “Data přijímaná z družic GPS”

  1. Jedna poznámka:
    AT příkazy je nutno ukončit CR+LF, to znamená na konci AT příkazu musí být připojeno 0x0D a 0x0A. Není-li to takto zakončeno, modul nám se zpožděním 50 ms odpoví, co jsme tam poslali, ale nevykoná žádný povel. Výchozí nastavení baudové rychlosti je 115200,8N1 bez řízení toku a chodí to spolehlivě.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.