Raspberry Pi


50) Připojení GPS modulu

 

V rámci jednoho projektu jsem potřeboval k Raspberry Pi připojit navigační GPS modul: GY-NEO6MV2.

Protože by se to mohlo hodit i pro někoho dalšího, uvádím zde jednoduchý návod.

 


Připojení:

 


Modul je napájený pomocí 3V z RasPi a nepotřebuje žádný převodník napěťových úrovní datových vodičů

.


Popis komunikace:

Modul odesílá po sériové lince několik typů textových zpráv.

Tyto zprávy obsahují různé informace.
Například:
Zpráva "$GPGLL" obsahuje jen GPS souřadnice a čas.
Zpráva "$GPRMC" obsahuje GPS souřadnice, čas, datum a rychlost pohybu v uzlech.
Zpráva "$GPGSV" pak informuje o jednotlivých satelitech, jejich poloze a kvalitě přijímaného signálu.

Všechny zprávy jsou podrobně popsány v katalogovém listu: GPS_Firmware_GSC3_3.5.0_V4.2.pdf

Při připojení GPS modulu k terminálu vypadají zprávy takto:

Nepotřebné zprávy by měly jít vypnout pomocí speciálních příkazů ($PSRF103 ......), které se po sériové lince odesílají z RasPi do GPS modulu. To se mi však nepovedlo.
Například při pokusu vypnout zprávu $GPRMC příkazem 
   $PSRF103,04,00,00,01*20
 mi modul odpověděl hlášením "invalid format" a $GPRMC zprávy posílal dál:

 

Proto jsem ovládací program upravil tak, aby ze všech přijímaných zpráv vybral jen jednu a ostatní ignoroval.

Jako nejužitečnější zpráva se mi zdála zpráva "$GPGGA", která kromě GPS souřadnic a času obsahuje i nadmořskou výšku a počet komunikujících satelitů.


Příklad zprávy "$GPGGA" z katalogového listu


Nastavení systému a program:

Pro zprovoznění sériové komunikace je potřeba nejdříve provést stejné nastavení, jako jsem popisoval v článku o připojení měřícího přístroje Metex k RasPi (v bodě 5)

Nebudu to tady znovu všechno opisovat.
Jde o úpravu těchto dvou souborů:
"/boot/cmdline.txt" a "/etc/inittab"

 

Pak je třeba přes terminál nainstalovat doplněk pro sériovou komunikaci pro Python:

sudo apt-get install python-serial

 

Vlastní program pro zjišťování a zobrazování polohy vypadá takto: gps.py

A výstup programu je zde:

 


Doplnění 4.10.2016

Matúš Jurečka poslal do návštěvní knihy návod, jak nepotřebné zprávy z GPS modulu povypínat.
Já už ten GPS modul nemám, takže to nemohu ověřit, ale možná to někomu pomůže:

Poznamka k nastavovaniu NEO 6M GPS modulu. 
Tymto sposobom to ide mne, napr.: 

1. zmena baund rate na 19200 
  $PUBX,41,1,0007,0003,19200,0*25 

2. vypnutie GSV,GLL,VTG,RMC,GSA 
  $PUBX,40,GSV,0,0,0,0,0,0*59 
  $PUBX,40,GLL,0,0,0,0,0,0*5C 
  $PUBX,40,VTG,0,0,0,0,0,0*5E 
  $PUBX,40,RMC,0,0,0,0,0,0*47 
  $PUBX,40,GSA,0,0,0,0,0,0*4E 

3. Zapnutie vysielania GGA a GSV kazdych 5s na UART 
  $PUBX,40,GGA,0,5,0,0,0,0*5F 
  $PUBX,40,GSV,0,5,0,0,0,0*5C 

Snad to niekomu pomoze.

 


úvodní strana webu AstroMiK.org

poslední úprava stránky 4.10.2016