Raspberry Piで監視カメラシステム構築にあたって、ラズパイ機能についてメモがてら記事に残していくシリーズ。本日は、Raspberry Piのカメラモジュールがテーマです。
- Raspberry Piで利用できるカメラモジュールの主な種類
- Raspberry Piカメラモジュールのセットアップ
- カメラモジュールで撮影してみよう
- カメラモジュールの焦点距離の調節
- iPhoneのショートカット機能で操作する「都こんぶカメラ」を作る
- 最後に
Raspberry Piで利用できるカメラモジュールの主な種類
ラズパイ用カメラモジュールといえば昔は公式のパイカメラ一択でしたが、最近ではサードパーティ製や外付けレンズなど選択肢がでています。自分の用途に応じて必要なカメラモジュールを購入しましょう。
特定の利用目的がないのなら、個人的にはコストパフォーマンスに優れるサードパーティ製のカメラモジュールがおすすめです。
公式パイカメラV2
SONY製のイメージセンサーを搭載した800万画素の公式のカメラモジュールV2。ラズベリーマークが公式の印でしょうか。
公式版ということで安定性と画質を重視する人はこちらです。個人的には画質を必要とする場面がないこともあり、もったいなくてあまり使えずにいます。
さらに最近ではレンズが交換できるハイクオリティカメラも出ていますが、本体よりもはるかに高い値段ということで、私は使用したことはありません。
Raspberry Pi Camera Module V2 カメラモジュール (Daylight - element14)
- メディア: Personal Computers
サードパーティ製カメラ
Amazonなどで販売している中華ブランドの格安カメラモジュール。
非正規品なのですが、見た目は公式カメラの旧バージョンと違いがありません。家にあるものも正規品がどれか分からない状態で、もしかしたら同一品かもしれません。
画質も旧バージョン並の500万画素。1,000円を切る価格で売られているものもあり、コスパ重視ならサードパーティ製がいいと思います。
いろいろなノーブランドメーカーからでてよく分かりませんが、私が購入しているのは下記の2つ。
Raspberry Pi ZERO対応分も含め3種類のケーブルとカメラケースがついてお得感あり。カメラとケーブル1本のみですが780円という価格が魅力。Pi Zero用のスパイカメラ
Raspberry Pi Zeroで使えるスパイカメラ。とにかく小さいことがウリです。
画質は500万画素ということでそれなり。価格はサードパーティ製より若干高いため小さいカメラで何か作りたい人向けです。
私はZERO用の公式ケースに必要だと思ってまちがえて購入しましたが、公式ケースには通常サイズのカメラモジュールが対応しています。
赤外線(IR)フィルタレスカメラ
通常のカメラでは人間の目に見えない赤外線をフィルタでカットしています。そのフィルタを外した赤外線フィルタレスカメラモジュールです。
「暗視ができる」と勘違いされますが、あくまで「赤外線をとりこむことができるカメラ」であるため、暗視をするには赤外線を出すランプやフラッシュとセットで使用する必要があります。
赤外線の影響で写りは白っぽくなります。
Raspberry Piのカメラモジュールにランプがついたものも売られていますが、ランプが小さいので効果は限定的なのと消費電力が高く発熱が大きいことに留意が必要です。
Kuman カメラモジュール Raspberry Pi用 夜間 赤外線可視 ラズベリーパイ 500W画素 Pi 4B 3 2 SC15
- メディア: Personal Computers
Raspberry Piカメラモジュールのセットアップ
カメラモジュールのセットアップは、ケーブル接続という「物理的なセットアップ」と「ソフトウェアの設定」の2段階です。
カメラモジュールの物理的な接続
カメラモジュールは、本体側の黒いツメを緩めてケーブルを差し込んで接続します。
間違えやすいのがケーブルを差し込む向きです。「黒いツメがある方にケーブルの青や黒の帯」、「ツメがない方に金色や銀色のケーブル端子」と覚えるとよいと思います。
なお、意外に見落としがちなのがカメラレンズの接続。この部分もはめ込み方式なので、カメラが認識できないときは緩んでいないか確認しましょう。
カメラのソフトウェア設定
カメラの設定はターミナルでraspi-configで使用可能にすることができます。
sudo raspi-confifg
カメラモジュールの接続確認
カメラの設定が終わったら、認識できているか確認します。確認はターミナルでvcgencmd get_cameraで行います。
vcgencmd get_camera
表示される結果でカメラの認識状況がわかります。
supported=1 detected=1
カメラ機能がオンで、接続したカメラを認識できている。
→問題なし
supported=1 detected=0
カメラは利用可能だが、カメラが認識できていない。
→カメラモジュールの接続を確認
supported=0 detected=0
カメラ機能がオフになっており、したがってカメラの認識ができていない。
→raspi-configでまずはカメラ機能をオンにする
カメラモジュールで撮影してみよう
撮影は、ターミナルで静止画はraspistill、動画はraspibidで行います。ディスプレイを直接接続している場合は、プレビューが出てきます。
コマンドラインオプションはいろいろありますが、ひとまずは-oのあとに出力ファイル名を入れるのを覚えておけばよいでしょう。
sudo raspistill -o image.jpg
sudo raspivid -o video.h264 -t 10000
カメラモジュールの焦点距離の調節
Raspberry Piのカメラモジュールは固定焦点カメラであり、ピントを自動では合わせてくれないため、初期状態で特に近くを撮影するとピントが合わずボケボケになります。
焦点距離を調整するには、レンズの周囲にある調整ネジを手動で回します。
iPhoneのショートカット機能で操作する「都こんぶカメラ」を作る
Raspberry Pi Zero Wで作った「都こんぶカメラ」。
都こんぶをそろえたら、Raspberry pi Zero W と、サードパティ製のカメラモジュールとカメラケーブルを接続して箱の中に入れれば完成です。
MicroSDカードのセットアップは過去記事を参照ください。
www.boardgamepark.com
手持ちのもので作りましたが、新たに買いそろえても3000円もかけずに作れるのではないかと思います。
なぜに「都こんぶ」かというと、
- Raspberry pi ZEROの横幅とぴったり
- 箱中央のスリットがカメラケーブルを出すのにぴったり
という理由です。まさにRaspberryPiのために都こんぶが存在していたのではないかサイズ感です。
電源のUSBケーブルを差すための穴だけカッターであけましたが、都こんぶ箱には余裕があるため、カメラを中に入れたり、電源を内蔵させたりすることもできると思います。
下の画像は780円のカメラモジュールを使った「都こんぶカメラ」で撮影したものです。なかなかいい感じです。
iPhoneのショートカットのSSH機能を使ってスマホをシャッターにする。
「都こんぶカメラ」はモバイルバッテリーを電源にしてパソコンから離して撮影もできます。
しかしながら撮影はPCでraspistillをいちいち入力しなければなりません。
物理的なシャッターボタンをつけることも可能ですが、電子工作が必要となります。
「PC操作をスマホにやらせよう」ということで、SSHでのアクセスができるiPhoneのショートカット機能でシャッターの代替をします。
標準アプリの「ショートカット」を選択して新規作成。
検索で「SSH経由でスクリプトを実行」を選びます。
- ホスト名:ipアドレスかraspberrypi.local
- ユーザ:pi
- パスワード:raspberry
- 入力:(ターミナルで入力するコマンド)
raspistill -o 'date "+%Y%m%d_%H%M%S"'.jpg
私の場合
- 日付をファイル名にして写真を撮影
- 画像ファイルをNASに移動
- Raspberry piをシャットダウン
の3つのショートカットを作成しています。
ショートカットを作ればSiriに「シャッター」といえば、起動してくれるわけですね。物理的なボタンに比べるとタイムラグはあるもののなかなか便利です。
応用すれば、「20秒の動画を撮影してメールで送付」など、ベビーモニタ、ペットモニタのようにも活用できそうです。
最後に
カメラモジュールは、基本的にケーブルをはめるだけで誰でも簡単に扱えますが、むきだしの電子機器のため扱い次第では故障することも。
- カメラモジュールを扱うときに静電気が発生すると電子部品が破壊される
- ケーブル接続部のツメに力をかけすぎると接続部が破壊される
私はこれで壊して痛い目をみました。