Cameyamasan version 1.0
これは何か
ビデオカメラです。ただ、シャッターを切るタイミングが2秒に1回くらいです。いわゆる動画というよりはタイムラプス動画的な映像が撮れます。
実際に撮影した映像
自転車に取り付けてこんな感じの映像が撮れます。
同じ日に撮影した昼と夜の映像です。
昼は白飛びしたり、夜は暗くて何が何やらよくわからない感じがしますが思ったよりキレイに撮れてます。自画自賛。
通常のタイムラプスの映像はカメラを固定します、カメラが移動するとハイパーラプスというようですがハイパーラプスの場合移動しつつも何か同じもの(ビルとか月とか太陽とか)をずっと同じ画面に映していないとわけわからなくなります。
スマホとかGoProで撮ればもっときれいに撮れますが、そういうやり方が好みじゃない人向けです。そういうやり方が好みじゃない人は世界中に私以外に数人いるはずなのでその人たちに向けたプロダクトです。
何故作ろうと思ったか
Timer Camera Xを買った時はそれだけで動画が撮影できると考えていたのですが、電源をつながなきゃいけないし、さらに動画保存用のSDカードを突っ込めるわけでもないので、単体での動画撮影はむずいのではないかとなりこれを作ることにしました。
その後M5Stack Unit V2を買いました。Unit V2にバッテリーをつなげればもっと高度なことができるのですが、それだと買ってきたものにバッテリー繋げるだけとなり、まったく面白くないのでCAMEYAMASANの開発を続けました。
パーツを用意するのが大変なので私以外にはおそらくこれを作るのは世界に0人でしょうが、作りたい人がいるかもしれないので公開します。
完成物
こんな感じです。
結構ごちゃごちゃしてます。
カメラ部のTimer Camera Xとラズパイ部が分かれています。
-
カメラ部
- TimerCamera X: 左上にある黒いやつです
- バッテリー: 下にある白いかわいいバッテリーです
- USBケーブル: Timer Camera Xの電源
- USBケーブル2: 外し忘れただけの使ってないケーブル
-
コントローラ部
- Raspberry Pi Zero W + 液晶HAT: 真ん中です
- バッテリー: 右にあるANKERのバッテリーです
- USBケーブル: ラズパイの電源、見切れてますがラズパイとつながってます
- Wi-Fiドングル: ラズパイの上部の右側のUSBスロットに付いているドングルです
撮影する仕組み
- ラズパイコントローラとカメラがBluetoothで通信し、ラズパイ側からWi-FiのSSIDとパスワードをTimer Camera Xに送信
- Timer Camera XがもらったSSIDとパスワードでWi-Fi接続し、そこでウェブサーバーを起動、さらにラズパイに自身のIPを渡す
- ラズパイはTimer Camera XからもらったIPのウェブサーバーにHTTPリクエストをして静止画を取得
という流れで撮影します。
1.の部分はTimer Camera XにSSIDなどをハードコードしておけばいいのですが、それだとかっこ悪いのでわざわざBluetoothで通信しています。本当はBluetoothで画像を送りたかったのですがBluetoot LEだと送るのにかなりの時間がかかることがわかり諦めました。
2.に関しても同じWi-Fiネットワークにラズパイとカメラが接続していればいいのですがcameyamasan v1ではラズパイがWi-Fiの親機として動きます。家庭内Wi-Fiでも良かったのですが、その場合野外での撮影が無理になります。
なので無理やりラズパイが親機になっています、この説明ではWi-Fiドングルを使用していますが、ラズパイ自身のWi-Fiを使っても問題はありません。
3.で画像を取得しています、フレームレートが1/2秒なのはこのHTTPリクエストの部分のチューニングがあまりうまく行かなかったためです。 ほんとはもっと速くしたかったです。
パーツの集め方
Amazon、AliExpress、スイッチサイエンスなどのサイトを駆使してそろえましょう。金に糸目を付けてください。適正価格で買いましょう。GoProより高くなってしまったら意味ありません。
USBケーブルとかは自分の部屋に転がっていないか確認しましょう、雲台(Timer Camera Xの三脚につける雲台、写真には写ってません)は無くても動きます。
あと出来る限りモバイルバッテリーも家にあるものでなんとかしましょう。 なんとか動くはずです。Ankerのとかではなくできれば百均で買いたいところです。
-
カメラ
- 使用製品: ESP32 PSRAM Timer Camera X (M5Stack)
- Switch ScieceかM5Stackの公式サイトで買えます
- 写真ではわかりにくいですが後部にM5Stack Unit V2に付属していたスタンドを付けてます
- 購入価格: 2700円くらい 2021年3月
-
カメラ用バッテリー
- 使用製品: cheero Canvas 3200mAh IoT 機器対応 (che-061という型番を使っていますが、ページがなくなったのでこのリンクはche-061cのものです)
- IoT機器対応というのでこれを使っていますが、100円ショップなどで買えるIoTに使えるバッテリーでも問題ないと思います
- 購入価格: 2881円 2021年2月 amazon
-
コントローラ
- 使用製品: Raspberry Pi Raspberry Pi Zero WH
- ラズパイのZero Wi-Fiモデルかつピンヘッダ付きを使用しています。ピンヘッダモデルでなくても自分で付ければ問題ないです
- 購入価格: 2500円くらい 2020年7月ころ
-
操作用HAT&スクリーン
- 使用製品: OLED Screen and buttons(HAT) [128x64, 1.3inch OLED display HAT for Raspberry Pi]
- 操作用のHATです、pythonのコードがこのHAT用になっているのでこれ以外のものを使用する場合はpythonのコードを書き換える必要があります
- 購入価格: 1252円 2021年3月 AliExpress
-
Wi-Fiドングル
- 使用製品: TL-WN725N
- RTL8188EUS を積んだUSBドングルを使用しています
- 購入価格: 469円 2021年4月
-
コントローラ用バッテリ
- Anker PowerCore Fusion 5000
- ラズパイを動かせるバッテリであれば他のバッテリーでも問題ありません
- 購入価格: 2500円 2022年5月
-
micro SD card
- このプロジェクトでは16GBのカードを使用しています
- ラズパイOSを入れる用かつ、動画を保存するためのストレージとなります
- 購入価格: 1000円くらい? 購入日不明
-
USBケーブル * 2
- ラズパイとバッテリーをつなげるのは端がType-Aで、もう片方はmicroのType-Bです
- カメラとバッテリーをつなげるのは端がType-Aで、もう片方はType-Cです
- 購入価格: 不明
-
自転車用カメラマウント
- 自転車に付ける場合に使用します。カメラに付けるネジが付いていて、さらに自転車のハンドルに固定できる何かがあればOKです。
- カメラにはM5Stack Unit V2についていたスタンドを付けてこのカメラマウントに固定しています
- 購入価格: 1198円 2022年5月
合計で15,000円弱です、送料等は込みだったりそうじゃなかったりもするので15,000円を少し超えている可能性もありますがGoProよりは安く上がりました。 よかった。
パーツ以外に必要なもの
カメラへのコンパイルのためにPCにArduino IDEをインストールしてください。あとSDカードにラズパイのOSをインストールしてラズパイを起動できるようにしておいてください。
作り方
下記githubのREADME.ja.mdを参照してください。
https://github.com/syagawa/cameyamasan/blob/main/README.ja.md
Wi-Fiネットワークの使い方が2パターンありちょっと複雑です。簡単に試したい場合は"B. Wi-Fi ルータを使用"でやってみてください。"A. Raspberry Pi を Wi-Fi アクセスポイントとして使用する方法(RTL8188EUS USB ドングルを使用)"は屋外で使う場合かつ、ラズパイゼロWHについているWi-FiはPCとの通信のためにあえて使わないちょっとめんどくさい方法となってます。
撮影方法
-
カメラとバッテリーを繋げるとカメラが起動
-
Raspberry Pi Zero WH とバッテリーを繋げるとラズパイが起動し、pythonのスクリプトを実行します。
-
カメラとラズパイが通信をしてカメラがスタンバイして撮影開始
-
撮影開始し10枚の撮影を完了
-
ほっておくと最大枚数まで撮影します。
ラズパイの操作
HATの上下ボタンを押すとrebootやshutdownなどの表示が出ます、KEY1を押すと決定です。restart selfでアプリをリスタートします。 上下ボタンが効きにくいのでしつこく上下ボタンを押してください。
撮影後
PC側にffmpegをインストールしておいて、ラズパイに溜まった画像をPCにSCPなどでエンヤコラと持ってきて動画を作ります。詳細はこちらです。
反省
制作から発表まで1年くらい経ってしまいました。初撮影まで1年、さらにまとめるまで1年くらい書けました。ちょっと時間をかけすぎでした。 カメラ部とコントローラ部を分けるという構造のため説明がちょっと面倒だったのも原因です。
今後の展望
バージョン2はコントローラとカメラを分けない形、かつもっと高画質を目指したいです。また、動画の生成も現状は外部のPCで行う形になっているのでそれも一つのデバイスで完結させたいところです。
cameyamasan version1 のレポジトリ
https://github.com/syagawa/cameyamasan
追記
- 2024/4/10 "撮影する仕組み"の手順を少し修正しました