Gpsd

From Wildsong
Jump to navigationJump to search

What and why

gpsd is a service that listens to one or more gps receivers and makes the received data available over a network connection. It understands a wide variety of binary protocols.

What you get with gpsd

Besides the daemon "gpsd", of course...

In /usr/local/bin, you will find

  • lcdgps
  • gpxlogger
  • gpspipe
  • gpsmon
  • gpsdecode
  • gpsctl
  • cgps

Position

Time

Magnavox GPS reference station

I will be running gpsd in a docker container on Bellman to set up my Magnavox reference station.

docker pull forcedinductionz/docker-gpsd
docker run -it -p 2947:2947 --device=/dev/ttyAMA0 forcedinductionz/docker-gpsd -D2 /dev/ttyAMA0

By using docker I avoid installation issues of getting it going on a Mac. I still have to configure it. Not able to do that at the moment. (My GPS receiver is packed in a box.)

Grove GPS, for Kali

I am putting a GroveGPS (from M5Stack) on a Pi 5, so it can talk to the Kismet data logger. See also WiFi Wireless Projects. I tried using the GrovePi Zero hat and gave up on it, currently I have the GPS jumpered directly into the GPIO port on the Pi 5.

stty -F /dev/ttyAMA10 speed 9600
cat /dev/ttyAMA10

I am not seeing any output, I tried swapping TX and RX and I tried 9600 and 115200. But even if I got the bit rate wrong I should still see something. I tried using "minicom -D /dev/ttyAMA10" too.

I had to edit /boot/cmdline.txt to remove the serial port from the console.

apt install gpsd gpsd-clients
systemctl enable gpsd.service

Edit /etc/default/gpsd to specify settings. DEVICE is probably is /dev/ttyAMA10 and speed should be set to 9600 normally but gpsd can figure that part out.

See if it's working.

Python integration

I need to put a short python script here...

Resources

gpsd home: http://gpsd.berlios.de/