From: Steven Baltakatei Sandoval Date: Mon, 29 Jun 2020 16:06:23 +0000 (+0000) Subject: doc(location):Add README for location logging, add age ref files X-Git-Url: https://zdv2.bktei.com/gitweb/EVA-2020-02.git/commitdiff_plain/170f63baf5a56d9ece11b31924a9f4a81cd92812?ds=sidebyside;hp=2dc7501ad66f239e48a962aebd4e60681b3e8f3c doc(location):Add README for location logging, add age ref files Create draft of README for Location Logging operations performed by ninfacyzga-01. Add copy of age encryption software (v1.0.0-beta2 binaries compatible with Raspbian) and age version 1 specification. --- diff --git a/doc/location/README.org b/doc/location/README.org new file mode 100644 index 0000000..d626dd0 --- /dev/null +++ b/doc/location/README.org @@ -0,0 +1,69 @@ +* Location Logging +This document was created by Steven Baltakatei Sandoval on +<2020-06-29 Mon 12:14> 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-06-29 Mon 16:05>. +** Narrative +Ninfacyzga-01 records (logs) its position in time and space using a +[[https://en.wikipedia.org/wiki/Satellite_navigation_device][GPS receiver]]. The NMEA location data produced by the receiver is +converted into the more commonly used GPS data storage formats of GPX +and KML. All three types of data are then compressed and encrypted +against a set of public keys. The encrypted data is then written to +disk. Data produced by the receiver is segmented into 60-second chunks +before being processed and written to disk. +** Description +*** Hardware +**** Raspberry Pi Zero W +See the [[https://www.raspberrypi.org/pi-zero-w/][OEM]] webpage for this product. +**** PiZ UpTime 2.0 +See the [[https://alchemy-power.com/piz-uptime-2-0/][OEM]] webpage for this product. +*** Software +~bkgpslog~ : The bash script that performs the location data +collection and processing. Is an executable file contained within this +repository at ~exec/bkgpslog~. It should be copied to +~$HOME/.local/bin~. + +~gpsd~ : A background daemon app capable of interfacing with the +Ozzmaker BerryGPS-IMU's GPS submodule. Installed and initialized by +~apt~. + +~gpspipe~ : A command line app that polls ~gpsd~ and produces a stream +stdout consisting of GPS data lines in NMEA format. Installed via +~apt~. + +~gpsbabel~ : A command line app that converts GPS data from one format +into another. ~bkgpslog~ uses it to convert NMEA data into GPX and +KML. Installed via ~apt~. + +~gzip~ : A simple command line app that compresses stdin into a +smaller stdout stream. + +~age~ : A simple command line app that encrypts stdin against public +keys specified in its options. Produces encrypted stdout. Is an +executable file contained within this repository at ~exec/age~. It +should be copied to ~$HOME/.local/bin~. + +**** Narrative +~bkgpslog~ populates a 60-second buffer with NMEA data from ~gpsd~ via +~gpspipe~. This buffer is used by ~gpsbabel~ to produce GPX and KML +versions of the buffer. All 3 buffers are then comprssed with ~gzip~, +encrypted with ~age~, and then written to disk. + +*** Output +**** File Formats +***** NMEA +See the [[https://en.wikipedia.org/wiki/NMEA_0183][Wikipedia page]] for this. +***** GPX +See the [[https://en.wikipedia.org/wiki/GPS_Exchange_Format][Wikipedia page]] for this. +***** KML +See the [[https://en.wikipedia.org/wiki/Keyhole_Markup_Language][Wikipedia page]] for this. +**** Encryption Method +Files produced by the bkgpslog script are encrypted against a set of +public keys using [[https://github.com/FiloSottile/age][age]]. The public keys are bech32 strings supplied as +options to bkgpslog when called. +** Operating Procedures +*** Initial Startup +*** Normal Startup +*** Normal Shutdown +*** Unscheduled Shutdown +*** End of Life Disposal + diff --git "a/doc/location/ref/age \342\200\224 A simple file encryption tool & format.odt" "b/doc/location/ref/age \342\200\224 A simple file encryption tool & format.odt" new file mode 100644 index 0000000..eecb95e Binary files /dev/null and "b/doc/location/ref/age \342\200\224 A simple file encryption tool & format.odt" differ diff --git a/doc/location/ref/age-v1.0.0-beta2-linux-arm.tar.gz b/doc/location/ref/age-v1.0.0-beta2-linux-arm.tar.gz new file mode 100644 index 0000000..9737174 Binary files /dev/null and b/doc/location/ref/age-v1.0.0-beta2-linux-arm.tar.gz differ