Gpsd: Difference between revisions

From Wildsong
Jump to navigationJump to search
Brian Wilson (talk | contribs)
m Brian Wilson moved page Gpsd on Mac to Gpsd without leaving a redirect
Brian Wilson (talk | contribs)
mNo edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
= Where =
== Where ==
 
I will be running gpsd in a docker container on [[Bellman]] to set up my Magnavox reference station.


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


Current version: 2.94
I used to have extensive instructions on how to set up gpsd on an old Mac Book Pro.
Now the instructions look like this, for now anyway.


The Mac port: version 2.38 http://gpsd.darwinports.com/
docker pull forcedinductionz/docker-gpsd
docker run -it -p 2947:2947 --device=/dev/ttyAMA0 forcedinductionz/docker-gpsd -D2 /dev/ttyAMA0


My Mac: MacBookPro running 10.6.3 (Snow Leopard).
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.)


= What and why =
== 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.
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.


The reason to run it on a Mac laptop is to make the signal available to programs needing time and location services in a way that is flexible and device independent.
=== Receivers ===
 
I use virtual machines, so I should be able to let a program running on any virtual machine connect to the gpsd host running on the Mac.
 
== Receivers ==


All the receivers I have currently are covered:
All the receivers I have currently are covered:
Line 26: Line 26:
*Trimble TSIP
*Trimble TSIP
*UBX
*UBX
= How =
In my case on my Mac, I will be plugging in usb devices or possibly using a bluetooth connection. I already know I can listen to BT devices using things that appear on ports /dev/tty.BT* when the devices are paired with the Mac so I won't go into that here.
== Down the slippery slope. ==
Download, build, install in order
# libusb - required to talk to usb devices
# libemul - required to talk to DeLorme LT40 usb device
# gpsd-emul - required to connect together emul and gpsd
# gpsd - the thing that we wanted back in chapter 1. Remember?
Download libusb from
http://sourceforge.net/projects/libusb/develop
./configure; make; sudo make install
To get the DeLorme LT40 going I seem to need gpsd-emul (emul = Earthmate userland). Trying to ./configure that, it tells me I need libemul. That's in the separate emul tarball. They are on the berlios.de site.
emul:
env CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" ./configure
make
sudo make install
Now that the dependencies are out of the way...
At version 2.94, gpsd builds out of the box on Snow Leopard.
unpack tarball
./configure
make
sudo make install
== Starting it up ==
# Plug in a USB gps receiver, let's see, here's a DeLorme Earthmate LT40
# /usr/local/gpsd


== What you get ==
== What you get ==
Line 84: Line 47:
== Python integration ==
== Python integration ==


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


[[Category: GPS]]
[[Category: GPS]]

Latest revision as of 19:08, 25 July 2017

Where

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

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

I used to have extensive instructions on how to set up gpsd on an old Mac Book Pro. Now the instructions look like this, for now anyway.

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.)

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.

Receivers

All the receivers I have currently are covered:

  • DeLorme Earthmate
  • Garmin
  • NMEA
  • SiRF
  • Trimble TSIP
  • UBX

What you get

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

In /usr/local/bin, you will find

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

Position

Time

Python integration

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