** About
This document was created by Steven Baltakatei Sandoval on
~2020-06-29T12:14Z~ under a [[https://creativecommons.org/licenses/by-sa/4.0/][Creative Commons BY-SA 4.0 license]]. It
-was updated by Steven Baltakatei Sandoval on ~2020-10-08T18:14Z~
+was updated by Steven Baltakatei Sandoval on ~2020-10-16T23:32Z~
** Narrative
Ninfacyzga-01 records (logs) its position in time and space using a
executable file contained within this repository at ~exec/bklog~. It
should be copied to ~$HOME/.local/bin~.
-~bkgpslog~ : A legacy bash script similar to ~bklog~ but narrower in
-scope in that it only records output from ~gpspipe~.
-
-~gpsd~ : A background daemon app capable of interfacing with the
-Ozzmaker BerryGPS-IMU's GPS submodule. Installed and initialized by
-~apt~.
+[[https://tracker.debian.org/pkg/gpsd][~gpsd~]] : A background daemon app capable of interfacing with the
+[[https://ozzmaker.com/berrygps-berrygps-imu-quick-start-guide/][Ozzmaker BerryGPS-IMU]]'s GPS submodule. Installed and initialized by
+~apt~. Should be installed along with the ~gpsd-clients~ package.
~gpspipe~ : A command line app that polls ~gpsd~ and produces a stream
stdout consisting of GPS data lines in NMEA format. Installed via
When prompted "Would you like the serial port hardware to be
enabled?", answer ~Yes~.
-***** Configure ~gpsd~
+***** Setup ~gpsd~
~gpsd~ needs to know which serial port to look at for NMEA location
data generated by the GPS unit. This can be done by modifying the
~gpsd~ configuration file at ~/etc/default/gpsd~.
: sudo nano /etc/default/gpsd
-Change
+Make sure the following lines are present:
+
+#+BEGIN_EXAMPLE
+START_DAEMON="true"
+USBAUTO="false"
+DEVICES="/dev/ttyAMA0"
+GPSD_OPTIONS="-n"
+#+END_EXAMPLE
+
+NOTE: The ~DEVICES=~ line must be adjusted if the the ~ninfacyzga~
+device is configured to also track time.
+
+NOTE: The ~-n~ option causes ~gpsd~ to begin polling GPS devices
+without waiting for a client to connect. This is important if ~gpsd~
+provides data to other applications (ex: ~gpspipe~, ~chrony~).
+
+Restart ~gpsd~ via:
-: DEVICES=""
+: $ sudo systemctl restart gpsd.service
-to
+Run ~gpsmon~ to verify that location data is being recorded.
-: DEVICES="/dev/serial0"
+: $ gpsmon
***** Automatic Start Configuration
It is recommended to create a daily ~cron~ job that executes a bash