ひょっこり猫カメラを作ってみた(Interface12月号)

2019年2月14日

そのまんまです。
よく行く保護猫の施設に頼まれたので作りました。
雑誌はInterface 2018年12月号です。 

現状、施設に赴き問題点の改善などをしています。
→現在、現地で使用中
問題点
・静電気対策
・ケーブルを噛まれないようにする対策

準備と使った物

・ラズベリーパイ 3 モデルB
 いつもの。
 施設側でACとかSD含め購入していただきました。

pi camera
 こちらも購入していただきました。
 正規品高かったのでこっち。まあ十分でしょう。

・ラズパイケース
 自分のラズパイも、このブログのもう一人の運営者もこのケース使ってます。
 直接ラズパイに負荷かけずにケースに収められるので気に入ってます。
 (カメラも大丈夫!)

piカメラの設定

まずカメラの有効化
これは左上のタブから画像のように行けばできます。
コンソールの「raspi-config」のほうが好きな方はそっちからどうぞ

一応カメラが検出できるか確かめましょう。

1 $ vcgencomd get_camera
2 supported=1 detected=1

supportとdetectedが1になってればokです。

本のとおりにやり、動かす

書籍にそって、動かしました。
かなり誤植があったので、メールしておきましたが返事はないです。(追加されてたらここに記載があるはずです。)

あと自分はツイッターとの連携はせずにローカルに保存する形にしました。
そのため、データ圧迫を防ぐために画像が一定数(100枚)あった場合に動作を終了するようにしました。

ついでに初期パラメータだと上位10位に猫がいれば保存しますが、もう少し精度を高めて見ました。上位5位でやった結果でもかなり適切に動きます。


自動実行化

後で書き換えられるように適当にシェルを書いときます。
本ではcamera.py camera.pyとか2回かかれてますが1回です。

start.sh
1 cd  /ディレクトリ移動
2 /usr/bin/python3  ./camera.py -i 60 "domestic cat"

ここちょっと罠があって、etc/rc.localで実行すると、root権限で走ってしまいます。pipで入っているkerasはuserレベルなのでrootだと存在しない扱いです。
(下画像参考)


改善策として、rootで走らせなきゃいいのでcrontabを使います。
やり方は今回のメインじゃないのでこちらの方をどうぞ。
自動実行だと動いてるかわかりにくい...

外装の設計

段落名はかっこよくしましたが、100円ショップで買った網目のカゴと結束バンドを使って固定しました。
だってカメラケース高いですし...
作った感じは結構いいです。200円でできますし、高容量のモバイルバッテリー乗せれば(今回はAC電源だけど)あとはフックをかけるだけです。


それとカゴのかけ方を写真のとおりにすることで
・猫に触られにくくする。
・カゴに角度を持たせることで斜めからとったような写真が撮れる。
というふうに工夫しています。

ファイルサーバの構築

自分が使うならここでおしまいなのですが、これでは撮れた画像が確認しづらいので、ラズパイ側にファイルサーバを用意しました。
まあsamba入れただけなんですけどね。

まとめと総経費

頼まれごとついでに記事にしたのでまとめといっても特に書くことないですが、やはり本に書かれていない部分の構築に時間がかかりました。
特に外装なんかは普段あんまり手を出さないのでどうしたものか悩みました。

総経費はこんな感じ
買っていただいたものは正確な値段がわからず申し訳ない。

ラズパイとACセット5000円くらい
piカメラ2400円くらい
ラズパイケース1099円(2019年2月)
外装用ケース108円
結束バンド108円
総計8715円

現状なんとか1万未満で済みそうです。
今後何かあれば追記していきたいと思います。

参考サイト

Raspberry Piでプログラムを自動起動する5種類の方法を比較・解説
crontabコマンドについてまとめました 【Linuxコマンド集】