トップ «前の日記(2021-08-06(Fri)) 最新 次の日記(2021-08-08(Sun))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2021-08-07(Sat) 雲を撮りながら

RasPi3で適当に

Pi3 iostat

タイムラプス撮影(1/5s)しながら、ストレージが 不足気味なのでsshfsで一部をPCにmvし、 syncしたりdfしたりする全体をiostatで撮ってみた。
iostat自体の書き込みも多分、その中にあるはず。

$ iostat  -y -x 1 -d /dev/mmcblk0p2 | tee iostat

思ってたほどキツい様子は出なかった、かも。

ファイル2つのタイムスタンプ比較

既にあるかもしれないが、探すのも面倒になって、 とてもめんどくさいシェルスクリプトになった。

$ sh two_times.sh 20200926_01.png 20210504_03.png 
2020-09-26 10:35:04.774240678 20200926_01.png
2021-05-04 23:58:46.831895095 20210504_03.png
220 日の差があります

とりあえず動くけど、まだおかしな処理があちこちあるはず。

5秒おきに撮ったつもりでも

少なくともRasPi3では、撮影時刻がけっこうずれている。
スムースに動いているタイムラプス動画が、時折ガタつくことに 気づいてからは専らPCでやっていた。
久々にPi3で撮って思い出したので、確認。

撮影時刻の吸い出しは、どのくらい待たされてるのか、 それが反映されているのか不明なタイムスタンプでなく exifから。
カメラの内蔵時計がずれていても、撮影のたびにずれが 大きく変わることは、たぶん無いだろう、という読みで。

$ for file in *.jpg; do exif -m  $file | \
 grep オリジナル | awk '{print $4}' >> dfile; done

これで撮影時刻一覧が取れた。

#!/bin/sh
for id in `cat dfile`;
do 
  new=`date --date "$id" "+%s"`
  if ! [ -z $oid ]; then
     comp="`echo $new - $oid | bc`"
     echo 'comp: '$comp  >> interval
  fi
  oid=$new
done

さきほどの 荒い使い方がこたえたのか、 実際のインターバルは、5秒でないのが結構あった。

$ wc -l interval 
719 interval
 
$ grep -vc 'comp: 5' interval
140
 
$ grep -v 'comp: 5' interval | sort | uniq -c | sort
      1 comp: 13
      1 comp: 25
      1 comp: 27
      2 comp: 22
      2 comp: 23
      4 comp: 15
      5 comp: 11
      5 comp: 14
      7 comp: 10
      7 comp: 9
      8 comp: 1
      8 comp: 8
      9 comp: 2
     10 comp: 12
     13 comp: 7
     16 comp: 3
     17 comp: 6
     24 comp: 4

Rのグラフ向けにデータを整える。

$ awk 'BEGIN{print "Time Sec"}{print NR, $2}' interval >total

撮影時刻は年から秒までだったが、シェルスクリプトで 日付と時刻の間のスペースをうまく処理できなかった。
さしあたり同じ日ということで時刻だけにする。

部分拡大すると、遅れを取り戻すために急いでいる、ような 感じにも見えたり。


リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。