ネコ観察カメラを作る前回のネコカメラより2ヶ月経過。各部屋に設置したいもっと近くで撮りたいという欲求が出てきたため、2代目の構築を開始です。いう1文字違いの製品もありますが、GPIOは当分使う予定はないのでWを選択。製品的には一通り必要なモノがセットになってる以下の商品を選択。比較して相当ちっちゃくなってます。スターターキットについてたケースにカメラモジュールの穴もついているのでそのまま実装出来るのもいい点ですね。◆OSセットアップまずはOS。スターターキットに入っていたSDカードにOSインストールマネージャNOOBSが入ってます。差し込んで起動させればこの画面になります。私はOSをRaspbianにしました。(前回と一緒のOSの方がやりやすいので)ちょっと引っかかったのはUSBポートが1つしかないのでUSBハブで拡張してキーボードとマウスを挿しましたが、対応していないのか反応せず。しょうがないのでキーボードだけでセットアップしました。TABキー押せばカーソル位置変えてSpaceでチェックwキーでwifiセットアップiキーでインストール開始1時間くらいで終わってました。◆VNCセットアップOS起動出来たし、マウス使えるようにしようと思ってUSBハブを挿してみると、リブートがかかる。電力が足りてないのかこのUSBハブが対応していないのか・・?しょうがないので早々にVNCをセットアップして遠隔でマウス使えるようにすることに。aこれでIPアドレスがわかります。(真ん中あたりに記載がある)あとはWindowsPCなどで接続すればOK。初回接続時にパスワード聞かれるので注意。デフォならユーザー名:piパスワード:raspberryもちろん早々に変えたほうがいいです。raspi-configこのコマンドからパスワードは変えれます。◆IP固定ルータ側でIP割り振りを固定するか、OS側から設定も可能です。今回OS側からやったんですが、既に割り振っていたIPにふってしまってちょっとしたトラブルに。最終的にルータが不安定になってしまったのでリセットしました。◆日本語文字化けラズパイ画面の豆腐文字を撲滅するhttps://qiita.com/ElectricBaka/items/df32d1ea1f1ed8542de8ここを参考に対応。私の環境だとCPUのパーセンテージが正しく表示されてませんでした。インストール後、reboot。◆カメラモジュールのセットアップ今回、カメラはUSBではなくカメラモジュールにしました。USBカメラなら前回実装したので実績ありますが、ケース内に入れれるというのがとても利点が高い気がしましたので。50,528Amazon.co.jpで詳細を見るセールで40%OFFになってて1,800円ぐらいで買えました。純正じゃないっぽいけど、まあお試しだしこの前のWEBカメラよりスペックいいのでいいかな。初期ではzero以外のラズパイで使用するフラットケーブルになっているので付け替える必要あります。最初このカメラモジュールに付属されているケーブルを使いましたが、長すぎるのでケース側に付属してたものにしました。撮影の前にカメラを使えるようにします。設定後、リブートしたら使えます。ターミナルで以下のコマンドを入力。image.jpgこれだけで撮影完了。◆カメラが認識しないこのカメラモジュール、問題があってケースにはめこむとケーブルが外れることみたいです。そのせいでカメラが認識しなくてちょっと困りました。(ケーブル側の問題、というよりはケースの作りに問題ありそう)なんとかはめるものの、次は以下のようなエラーが発生。board調べてみると以下のサイトにヒントが。PiCam異常時の現象http://research.itplants.com/?p=1617電源が安定していなかったり、ケーブルがしっかり刺さっていないと出るっぽい。何回か刺しなおしたら撮れるようになった。撮れたり撮れなくなったり、かなり不安定。IFTTTセットアップセットアップ方法は前回と一緒。ネコ観察カメラを作るまとめ2度目の構築だったのですんなり出来ましたが、カメラモジュールがかなり不安定で前回のUSBカメラ以上に苦労しました。最終的に撮影できるようになりましたが、これは手間。サイズが小さいので設置場所に困らないのがいいですね。あとはgooglePhotoに上げたときにタイムゾーンが狂ってるのが気になるなあ。追記(2018.05.22)3日ほど運用してみての感想。7時~23時をカメラ運用タイムにしてますが、朝チェックするとハング?してることがありました。(厳密にはハングじゃなくてVNCが繋がらない、写真がアップされていない状態でした)ちょっとまで原因は追えてないんですが、ネットをみたところwifiの省電力機能が働いてるんじゃ?という感じです。カメラモジュールはもう本当に安定して1分毎にしっかり撮影してくれてます。(USBカメラは2回に1回撮影失敗するので結果的に2分毎になってしまっていた)前回作ったネコカメラは場所を取る関係で上空に設置してましたが、今回はZEROなので地面近くに設置してます。ネコが大きく映るのでとても満足してます。下の写真は留守の間のネコたち。キャットファイトが始まる??追記(2018.05.23)いくつか問題が出てきたのでその対策を考えました。◆googleDriveの容量を圧迫するなるべくいい品質でネコを撮りたいため、圧縮率は低めにしてます。その結果、1枚あたりだいたい1MBぐらい消費してます。1分毎に撮影する形にしているので日中12時間稼働させておくと・・1MBx60分x12時間=720MBになってしまう。CD-ROM1枚分ぐらいですね。これが10日分となると7200MB≒7.2GB、googleDriveの保存容量15GBの半分を消費してしまうことになります。これでは続けられない。今まではgoogleDriveのファイルを【手動】で消していました。フォルダ以下のファイルを全て選択して削除というのが出来なくて1つずつファイル選択しながらスクロールしてまたファイル選択して・・というのを繰り返してました。一応これでも容量を削ることは可能です。次にフォルダごと削除してしまえば実現出来るだろうとやってみますが、IFTTTと連携していることもあってそちらにも手を加えなくてはなりません。(※googleDriveの特定のフォルダにアップロードがあったことを検知してgooglePhotoに飛ばすレシピを使ってます)(※IFTTT側はパス指定なので同じ名前にすれば修正無しで一応いけます)もっと簡単に出来る方法ないかな、ということで探したらありました。今まではgdriveのuploadを使ってドライブに上げていましたが、普通に同期すればうまくいくんじゃない?てことです。不要なリモートファイルを削除するオプションです。ローカルディレクトリ内で削除されていたら、リモート上の該当ファイルも消してくれます。これで同期が取れました。[fileID]注意点は2つ。1つめは上のカレントディレクトリ変えている場所。これがないと通常シェルを実行した場所がカレントディレクトリになるので実行した場所のjpgがまるっと消えてしまう。goodleDriveに同期する箇所のパス。上記でカレントディレクトリが変わっているので注意。(絶対パスで入力しちゃえばOK)◆Zero側も撮影に失敗、もしくはアップロードに失敗している可能性googleDriveにアップされている画像の時間を見ると、1分ごと実行しているハズなのに間が抜けてたりします。アップロードに失敗している可能性を考えます。2台でネコカメラを実現していますが、cronで自動実行している関係上アップロードするタイミングが近いタイミングになることが考えられます。googleDriveのAPIは一定時間内に同じコマンド呼ばれると弾かれるっぽいのでこれによって失敗している可能性が考えられます。この対策として上の解決方法と同じ、同期による対応で試してみます。その瞬間はダメでも1日のうちのどこかで同期は出来るでしょうという考え。(今までアップロードはほぼ同時でも出来ているタイミングあったしいけるんじゃねというかなり雑な実装)ただ、これも同期のタイミングが一定時間内に呼ばれるとダメかもしれません。コチラはまだ実験出来ていないので結果が分かり次第。心配なのが、今後ネコカメラが増えていった場合にエラー発生回数が増える可能性があること。根本的に対処法考えておかないと困りそう。追記(2018.05.28)上記手順で対応しましたが、Zero側で問題発生。単純に数が多くなってくるとsyncに時間がかかる、そしてハングする。IFTTTでgoogleDriveからgooglePhotoに転送する機能を使ってる兼ね合いでファイルに修正が入るっぽく、sync時にコンフリクト起こすようになりました。致命的過ぎるので一旦前の状態に戻しました。安定性と容量削減の両方を考えるなら別の方法を考える必要がありそうです。追記(2018.05.31)元に戻して数日。今のところ、ハングするようなこともなく、ネコカメラ稼働してます。現在、ネコカメラはraspi3とraspi0の2台で運用してますが、比較的安定しているraspi3を実験的にGooglePhotoAPIに差し替えました。ネコカメラの運用をGooglePhotoAPIsに移行するたまにエラーが出ていますが、今のところ安定してる感じ。週末にraspi0もこっちに載せ換えようと思います。Reserved.arrowuphome。