fix(exec):Camera script and daily job script
[EVA-2020-02.git] / TODO.org
index c85e44f5af4690e55760f2c585dc78a8490390aa..cddc236f33281b975939b81c60b4b30687e18af0 100644 (file)
--- a/TODO.org
+++ b/TODO.org
@@ -1,6 +1,71 @@
 * Task List
 * Task List
-** TODO ~doc/setup~: Disable bluetooth
-** TODO ~/doc/time~: Migrate from ~ntpsec~ to ~chrony~
+** TODO Add ~photograph~ (?) logging
+The Raspberry Pi Zero W has a camera connector that lets certain types
+of camera devices connect. The ~raspistill~ command permits capturing
+of photographs and outputting the file to stdout. Therefore, it should
+be possible to create a script that periodically calls ~raspistill~ to
+output ~jpg~ stdout to ~age~ for encryption and addition to a ~tar~
+file. An Arducam IMX219 wide angle camera captures an 8 megapixel
+image; default settings of ~raspistill~ produces an image of roughly
+~4.5~ to ~5~ megabytes. 
+
+Some commands that can be used for creating timelapses via ~ffmpeg~
+are:
+
+: ffmpeg -r 60 -f image2 -s 3280x2464 -pattern_type glob -i '*.jpg' -vcodec libx264 -crf 18 "$(date +%Y%m%dT%H%M%S%z)..time_lapse".mp4
+: cat *.jpg | ffmpeg -f image2pipe -i - output.mp4  # see https://trac.ffmpeg.org/wiki/Slideshow#Pipe
+
+*** TODO Augment ~bklog~
+Also, either the ~bklog~ script needs to be augmented or a new script
+written in order to handle the case of handling an image file coming
+in via stdin. Currently, ~bklog~ can't properly handle the stdout
+produced by a command such as:
+
+: raspistill -o -
+
+Even if a helper script is written that outputs jpg images via stdout,
+~bklog~ currently has no way of knowing how to partition the stream of
+stdout into separate files.
+
+Since ~raspistill~ produces a single image and then should be
+terminated, it is appropriate to use ~cron~ to call a simple script to
+run regularly (ex: every 5 minutes) and to pipe the output to a script
+that uses ~age~ to encrypt against a recipient. Code from ~bklog~ can
+be reused to do this. It is probably not appropriate to try and
+augment ~bklog~ to handle this method of being called since it was
+written with the intention of handling continuous streams of stdout.
+
+** TODO Create automatic setup scripts for logging
+Date Created: 2021-01-25T00:21Z
+
+Create bash scripts that automatically set up a ~ninfacyzga-1~ device
+to automatically run executables in ~exec/~ according to procedures
+described in ~doc/~.
+
+*** TODO Create setup script for location logging
+Date Created: 2021-01-25T00:24Z
+
+Setting up location logging script using ~bklog~ via ~cron~ job.
+
+*** TODO Create setup script for time tracking
+Date Created: 2021-01-25T00:25Z
+
+Setting up time tracking via ~chrony~.
+
+** TODO Use ~age --version~ in creating ~VERSION~ output files
+~age~ as of ~beta7~ outputs its version using the ~--version~ option.
+
+* Finished Tasks
+** DONE Remove unused executables
+   CLOSED: [2021-01-25 Mon 00:07]
+Date Created: 2021-01-25T00:03Z
+
+Some unused executables are present in the ~exec/~ directory that are
+not used. An example is ~bkgpslog~ which has been superceded by
+~gpspipe | bklog~.
+
+** DONE ~/doc/time~: Migrate from ~ntpsec~ to ~chrony~
+   CLOSED: [2020-10-19 Mon 03:48]
 The ~ntpsec~ package is in the ~dfsg~ Debian repository instead of the
 ~main~ Debian repository. This is likely due to ~ntpsec~ using a mix
 of ~ntp~'s original "NTP License", ~BSD 2~, and ~MIT~ licenses.
 The ~ntpsec~ package is in the ~dfsg~ Debian repository instead of the
 ~main~ Debian repository. This is likely due to ~ntpsec~ using a mix
 of ~ntp~'s original "NTP License", ~BSD 2~, and ~MIT~ licenses.
@@ -11,3 +76,14 @@ in the Debian main repository.
 ~gpsd~ documentation for communicating to ~chrony~ via
 ~/run/chrony.XXXX.sock~ and ~/run/chrony.YYYY.sock~ sockets (for GPS
 and PPS data respectively) can be found [[https://gpsd.gitlab.io/gpsd/gpsd-time-service-howto.html#_feeding_chrony_from_gpsd][here]].
 ~gpsd~ documentation for communicating to ~chrony~ via
 ~/run/chrony.XXXX.sock~ and ~/run/chrony.YYYY.sock~ sockets (for GPS
 and PPS data respectively) can be found [[https://gpsd.gitlab.io/gpsd/gpsd-time-service-howto.html#_feeding_chrony_from_gpsd][here]].
+
+*** Closing comments (bktei):
+~chrony~ seems much simpler to configure. Its method for interfacing
+with ~gpsd~ seems simpler as well. The fact that it displays time
+units in its ~chronyc sources~ output means the developers value
+communicating clearly the values they provide the user.
+** DONE ~doc/setup~: Disable bluetooth
+   CLOSED: [2020-10-19 Mon 03:50]
+*** Closing comments (bktei):
+Bluetooth is disabled via a ~systemctl~ command and modifications to
+~/boot/config.txt~.