Spresense で動体検知機能あり監視カメラ (トレイルカメラ) を作ることにした
前書き
趣味を兼ねてトレイルカメラを作ることにしました。トレイルカメラは山の中などの屋外に設置します。
トレイルカメラは普通にアマゾンとかで売っていますが、いくつかのメーカーのものを使ってみた結果、僕にとって「使いにくい」と感じるので DIY で好きなように作ろうと思いました。
仕組み (仕様)
動物の動きを検知したら撮影します。動物の動きは熱 (赤外線) で検知します。
撮影したらその画像を LTE 回線を使ってサーバーにアップロードしたり、撮影したことを LINE で通知するなどの通知機能も作ります。カメラは乾電池で駆動させます。
将来的には撮影した画像に対する処理 (AI による分類など) や、温度や湿度、GPS 座標情報などの画像以外のメタデータを使った分析に使用する予定です。
Spresense を選んだわけ
自分でトレイルカメラを作ろうと思ったとき、何をベースに作るのかから調べました。
ラズパイや Arduino、ESP 32 などいろいろ選択肢があるようですが、ソニーの Spresense を使うことにしました。
Spresense は安くはありませんが、省電力に優れていることがわかったからです。記憶が薄れてしまいましたが、どこかのウェブサイトで Arduino や ESP 32 よりも Spresense が省電力だと知ったことが一番の決め手です。
トレイルカメラを外で使用する場合で、且つ、通信機能をもたせる場合、ネックとなるのは「電力」と「電波」です。
電波は携帯の電波 (LTE) のことになりますが、電波は場所に依存するため自分ではコントロールできません。このため省電力である点を重視しようと思って、Spresense にしようと思ったわけです。
ちなみに個人的にラズパイゼロを使ってカメラを作ったこともありますが、消費電力が高いと感じているため選択肢から外しました。僕が目指しているのは、乾電池のみで数ヶ月間稼働できることです。
撮影枚数が多くなるとその分早く電池がなくなりますが、それはオッケーです。しかし撮影枚数が少ない状況であれば 3 ヶ月くらいは放置して稼働させ続けたいわけです。
使用する Spresense ハードウェア
最初に買ったのは以下の 3 つです。
- メインボード
- 拡張ボード
- HDR カメラ
まずは Spresense で撮影ができるところまでを第一段階と捉えてそこまで実現させようと考えました。
通常のカメラではなく HDR カメラを選んだ理由はこの HDR カメラであれば昼も夜も特に工夫することなく見える画像が撮影できるためです。夜に撮影しても真っ黒な写真にはならないみたいです。その分ちょっとお高いのが HDR カメラです。
第一段階をクリアしたら、
- 赤外線センサーを追加して動体検知した際に撮影する機能
- LTE (LTEM ?) 拡張ボードを追加して画像をサーバーにアップロードする機能
- 乾電池だけで稼働させる
を追加していこうと考えたわけです。
開発道具 (ハードウェア)
Spresense の公式サイトにはドキュメントが用意されているんですが、肝心なところがわからないということが多いと感じました。
いざ Spresense を買ってきて開発しよう!と思ったとき、開発するための道具として何が必要かってわかりますか?これを把握するのに少々時間がかかりました。
microSD カード
まずはじめに、これは開発道具ではありませんが、カメラで撮った画像を保存するためのストレージとして microSD カード が必要です。
大容量でなくても良いと思ったので適当に 128 GB のものを買いました。お値段 1,280 円でした。この microSD カードを拡張ボードに挿入します。
しかしその前にこの microSD カードを FAT32 というファイルシステムでフォーマットする必要があります。
マルチカードリーダー
microSD カードを FAT32 にフォーマットするために マルチカードリーダー を購入しました。これを使って microSD カードをフォーマットしました。
データ転送可能な USB ケーブル
Spresense でトレイルカメラを作るとき、パソコンでプログラムを書いて、そのプログラムを Spresense に転送する必要があります。このときにパソコンと Spresense を接続する USB ケーブルが必要ですが、注意点としてはデータ転送ができる USB ケーブルである必要があります。
市販されている多くの USB ケーブルは「充電のみ」可能であり、データ転送ができないものが売られています。この点は注意が必要です。
僕は、この USB ケーブル を買って開発しています。
パソコン
プログラムを書くときに使うパソコンが必要です。Windows でも Mac でも良いみたいですが、僕は Linux (Ubuntu 24.04 Desktop) を使っています。
開発道具 (ソフトウェア)
Arduino IDE
Arduino の開発環境である Arduino IDE (無料でダウンロードできる) を使っています。
Spresense 独自の開発環境である Spresense SDK (これも無料じゃないかな) というソフトウェアもあります。これは機会があれば、もしくは必要になったら使ってみようと思っています。
Rufus
microSD カードを FAT32 でフォーマットするためのソフトウェア (無料) です。
我が家には Windows 11 パソコンもあるので、この Windows 11 に Rufus をインストールして microSD カードをフォーマットしました。
Windows 11 の標準機能ではうまく FAT32 にフォーマットできなかったです。