mjpg-streamerに日付をつける


mjpg-streamerを使ってタイムラプスgifを作っているのですが、
これに日付をつけたいなと思いました。
mjpg-streamerからwgetした画像に日付を上書きする形で実現できました。

wget -O ~/test.jpg --http-user=user --http-passwd=password http://localhost:8080?action=snapshot
mogrify -fill white -gravity SouthEast -font helvetica -pointsize 10 -annotate +15+5 `date +%H:%M` ~/test.jpg

参考にさせて頂いたサイトはこちらです。

デジカメのレンズお掃除

ちょっと前まで愛用していたデジカメ、LumixのDMC-XS3。

軽いし起動は早い小さいので持ち歩いていた。スマホのカメラを起動するより早く綺麗な写真が撮れたので重宝していたのですが、スマホの進化や共有のスピード感から段々遠ざかってしまった。

久しぶりに動かしてみたらレンズにゴミがあるではないか!

というわけで取り除いてみようと思いました。結論、全部は取り切れませんでした。
あと、真似しても一切責任は負いかねますのでご了承ください。

あと、普通のプラスドライバーではあけられないところがありました。六芒星みたいな形のネジ。
これはいつか秋葉原で衝動買いした変なドライバーセット。

まずは両サイドのネジをはずして下へスライド。

現れたネジも外す。

あと裏側のネジも。

カメラの前面をはずしたところ。はずさなくてもいけたかも??
ただ埃だらけだったので拭いたり吹いたり。

裏のネジを外して、右のツメ、左のツメをそっとはがす。

ここで変なネジ登場。外したあと下に小さなバネが3つあるので注意する。

出た!これがきっと網膜みたいなところ。でっけーゴミが乗ってますやんか。

組み立てて空を撮影。最大ズームで撮影したら小さい黒い丸がいっぱい。
でっかいゴミは落とせたけど、細かい埃は取れなかったようだ。残念。。。

AndFTPが真っ暗になる

自分は『AndFTP』というFTPクライアントを使っていますが、

そのアプリからraspberrypiにログインしたときだけファイル欄が真っ黒で何も表示されないことがしばしばあります。

戻るボタンを押した感じではフォルダの移動はできてるような気はします。

さて、まったく根本の解決になってないのですが、何故か一旦SFTPでログインして、改めてSCPでログインするとファイル一覧が表示されました。謎ですし、毎回これやるのかなり面倒なんですが、とりあえず対処療法をメモ。

一旦プロトコルをSFTPに設定後ログイン。やっぱり真っ暗。
そして

SCPに切り替えて再度ログイン。

すると何故か表示されました。

webカメラとraspberrypiでgifアニメ


以前、室内からでもこっそり空模様をのぞけないかなぁと思い、raspberrypiにwebカメラをつなげスマホから空を見られるようにしました。
が、結局仕事中に見る暇もなく、15分おきに一枚撮影するという簡素な状態になっておりました。
そのおかげで謎の現象を撮影することができたのですが、
ずっとなんか物足りないなーと思ってました。
撮った画像を全部見るのもなかなか大変でしたし。

そこで、1分おきに撮影して、1日の最後にgifアニメにするのはどうかと思い至りました。

撮影に使用したのは『MJPG-streamer』
インストールは大変だったような気がしますが、ずいぶん前なので忘れてしまいました。
撮影はMJPG-streamerのスナップショット機能を用い、
wgetコマンドで画像を取得します。

その前にMJPG-streamerの起動。
毎回面倒なのでmjpg_streamer_start.shファイルを作りました。

#!/bin/sh
PORT="8080"
ID="user"
PW="password"
SIZE="640x480"
FRAMERATE="20"
export LD_LIBRARY_PATH=/usr/local/lib
~/mjpg-streamer/mjpg_streamer -b -i "input_uvc.so -f $FRAMERATE -r $SIZE -d /dev/video0 -y -n" -o "output_http.so -w /usr/local/www -p $PORT -c $ID:$PW"

画像ダウンロードするときはこんな感じ

wget -O ~/img/img.jpg --http-user=user --http-passwd=password http://localhost:8080?action=snapshot

まず、毎朝その日の撮影用フォルダを作成する用
gif1.sh

#!/bin/sh
DIR=`date +%Y%m%d`
mkdir ~/gif/$DIR

次に一分おきにファイルをダウンロードする用
gif2.sh

#!/bin/sh
PHOTO=`date +%H%M`.jpg
DIR=`date +%Y%m%d`
wget -O ~/gif/$DIR/$PHOTO --http-user=user --http-passwd=password http://localhost:8080?action=snapshot

そして最後にgifアニメにする用
gif3.sh

#!/bin/sh
DIR=`date +%Y%m%d`
convert -layers Optimize -loop 1 -delay 15 -scale 50% +map ~/gif/$DIR/* ~/gif/$DIR.gif

これらをクーロンで管理
cron.conf

0 3 * * * ~/gif1.sh
*/1 4-20 * * * ~/gif2.sh
3 21 * * * ~/gif3.sh

朝の3時にフォルダ作成→4時から8時59分まで1分おきに撮影→21時3分にgifアニメ生成。
なんだか冗長になってしまったけど、今はこれが精一杯。
これでうまくいくかは今日の21時にならないとわからない・・・

crontabの設定はこちらのサイト
gifアニメの作成はこちらのサイト
こちらのサイト
こちらのサイト
を参考にさせて頂きました。

肘であけるドアノブ

うちはユニットバス。トイレに入るときに触ったドアノブに、
洗った綺麗な手で再び触るのが嫌である。

ホームセンターに行けばドアノブは色々売っていて、頑張れば取り換えられそうだけど、それなりのお値段もするし、失敗して壊したり、
引っ越しのときに戻したりとか、そんなことを考えるとやはり尻込みしてしまう。

そこで考えたのがこれ、超簡単ドアノブハック。

使ったもの、布団用のピンチとはがせる接着シール。

角度を斜めにつけることで肘を入れやすくしてます。

見た目は少しかわいそうですけど、これがなかなか快適でございます。

raspberrypiでリモコン操作

参考にさせて頂いたサイト

RaspberryPiを赤外線リモコンにできると聞いて、部屋の電気をON,OFFできないものかと調べていました。

使ったものはBitTradeOne・USB接続赤外線キット
ビットトレードワン赤外線USBキット

先に言ってしまうと、家の電灯はできましたが、実家の電灯やエアコンはできませんでした。もっとちゃんとやればできるのかも。

まずは必要なものをインストール

sudo apt-get install libusb-1.0-0-dev
git clone https://github.com/kjmkznr/bto_ir_cmd
cd bto_ir_cmd
make

次にリモコンのデータを記録。

sudo ./bto_ir_cmd -e -r

コマンドを入力すると待機状態になるので赤外線キットに向けてリモコンを操作。

するとずら~っと出てきます。自分はそれをテキストファイルにしました。最後に改行も入力しました。

そしてライトに向けリモコンのデータを送信

sudo ./bto_ir_cmd -e -t `cat light_down`

電気が消えました。

ライトを点灯させるファイルも作り、
なんとなくroom_light.shというファイルにまとめました。
引数がないときは送信しないように。

#!/bin/sh
if [ $# -ne 1 ]; then
  exit 1
fi
sudo ~/bto_ir_cmd/bto_ir_cmd -e -t `cat ~/bto_ir_cmd/lib/light_$1`

そしてそれをcrontabへ。
21時半に小電球、22時に消灯。月~金6時に点灯。
cron.conf

30 21 * * * ~/bto_ir_cmd/lib/room_light.sh down
0 22 * * * ~/bto_ir_cmd/lib/room_light.sh off
0 6 * * 1-5 ~/bto_ir_cmd/lib/room_light.sh on

これで目覚まし時計より確実に起きられるのではないかと期待。

LAN内のipアドレスを調べる

LAN内のIPアドレス使用機器を調べるとき、いつもスマホをwifiに繋いで、
Fing』というアプリを使用してました。
これで用は済んでいたのですが、PCからも調べられないかなぁと常々思っていました。
ちなみにwindowsでは『wireless network watcher』というものを使ってました。

調べていたら便利なものを発見。
参考にさせていただいたサイト
『netdiscover コマンド』
インストール

sudo apt-get install netdiscover

調べる

sudo netdiscover -r 192.168.0.0/24

あ、自分の環境はlubuntuです。