918a2a6558d7afdb2ec71da941348b0940b6abbf
[EVA-2020-02.git] / TODO.org
1 * Task List
2 ** TODO Add ~photograph~ (?) logging
3 The Raspberry Pi Zero W has a camera connector that lets certain types
4 of camera devices connect. The ~raspistill~ command permits capturing
5 of photographs and outputting the file to stdout. Therefore, it should
6 be possible to create a script that periodically calls ~raspistill~ to
7 output ~jpg~ stdout to ~age~ for encryption and addition to a ~tar~
8 file. An Arducam IMX219 wide angle camera captures an 8 megapixel
9 image; default settings of ~raspistill~ produces an image of roughly
10 ~4.5~ to ~5~ megabytes.
11
12 Some commands that can be used for creating timelapses via ~ffmpeg~
13 are:
14
15 : 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
16 : cat *.jpg | ffmpeg -f image2pipe -i - output.mp4 # see https://trac.ffmpeg.org/wiki/Slideshow#Pipe
17
18 *** TODO Augment ~bklog~
19 Also, either the ~bklog~ script needs to be augmented or a new script
20 written in order to handle the case of handling an image file coming
21 in via stdin. Currently, ~bklog~ can't properly handle the stdout
22 produced by a command such as:
23
24 : raspistill -o -
25
26 Even if a helper script is written that outputs jpg images via stdout,
27 ~bklog~ currently has no way of knowing how to partition the stream of
28 stdout into separate files.
29
30 Since ~raspistill~ produces a single image and then should be
31 terminated, it is appropriate to use ~cron~ to call a simple script to
32 run regularly (ex: every 5 minutes) and to pipe the output to a script
33 that uses ~age~ to encrypt against a recipient. Code from ~bklog~ can
34 be reused to do this. It is probably not appropriate to try and
35 augment ~bklog~ to handle this method of being called since it was
36 written with the intention of handling continuous streams of stdout.
37
38 * Finished Tasks
39 ** DONE Remove unused executables
40 CLOSED: [2021-01-25 Mon 00:07]
41 Date Created: 2021-01-25T00:03Z
42
43 Some unused executables are present in the ~exec/~ directory that are
44 not used. An example is ~bkgpslog~ which has been superceded by
45 ~gpspipe | bklog~.
46
47 ** DONE ~/doc/time~: Migrate from ~ntpsec~ to ~chrony~
48 CLOSED: [2020-10-19 Mon 03:48]
49 The ~ntpsec~ package is in the ~dfsg~ Debian repository instead of the
50 ~main~ Debian repository. This is likely due to ~ntpsec~ using a mix
51 of ~ntp~'s original "NTP License", ~BSD 2~, and ~MIT~ licenses.
52
53 In contrast, ~chrony~ uses the ~GPLv2~ license which allows it to be
54 in the Debian main repository.
55
56 ~gpsd~ documentation for communicating to ~chrony~ via
57 ~/run/chrony.XXXX.sock~ and ~/run/chrony.YYYY.sock~ sockets (for GPS
58 and PPS data respectively) can be found [[https://gpsd.gitlab.io/gpsd/gpsd-time-service-howto.html#_feeding_chrony_from_gpsd][here]].
59
60 *** Closing comments (bktei):
61 ~chrony~ seems much simpler to configure. Its method for interfacing
62 with ~gpsd~ seems simpler as well. The fact that it displays time
63 units in its ~chronyc sources~ output means the developers value
64 communicating clearly the values they provide the user.
65 ** DONE ~doc/setup~: Disable bluetooth
66 CLOSED: [2020-10-19 Mon 03:50]
67 *** Closing comments (bktei):
68 Bluetooth is disabled via a ~systemctl~ command and modifications to
69 ~/boot/config.txt~.