Raspberry Pi | カメラモジュールの設定、iPhoneからSSHでリモート撮影








みなさんはRaspberry Piを何に使おうと思って購入されましたか?
私は始めに特に使用用途を明確にせずに購入したので、「何に使うのか…?」とかなり悩んだのですが、とりあえずカメラをつけてホームカメラにしてみることにしました!
監視カメラという案もあったのですが、雨風に弱そうなので、外に出すのはやめておきました。
そこで早速カメラモジュールを購入し、LANに接続している端末からであればSSHでログオンしていつでもシャッターを切れる状態にするまでの流れをご紹介いたします。
※あらかじめRaspberry PiはOSインストール、初期設定、インターネット接続ができる状態にしておいてください。
カメラモジュールって何?
Raspberry Pi には、Raspberry Pi 財団公式のカメラモジュールが存在します。
5メガピクセルのセンサを持っており、2592×1944の画像 を撮影することができます。また、ユーザーがビデオアプリ ケーションを構築することによって、毎秒30フレーム、1080 pH.264のビデオを録画することができます。
RaspbianをインストールしたRaspberry Piにカメラモジュールを接続することで、コマンドで静止画も動画も撮影することが可能です!
カメラモジュールを物理的に接続する
レンズじゃない、きしめんみたいなフレックスケーブルをRaspberry Piのコネクタに差し込みます。
カメラモジュール用のコネクタは、有線LANのポートと、HDMIポートの間に存在しています。
※このとき、Raspberry Piのケースにカメラモジュール用の穴が空いている場合は、ケースの外にレンズを出した状態で接続しましょう。
フレックスケーブルの方向をどちらにして接続すべきか分かりにくいですが、HDMIポート側にフレックスケーブルの銀色の面になるようにして差し込みます。
ちょっと固くて大変でしたが、コネクタについている白い爪を上げてからケーブルを挿し込み、差し込めたら白い爪を下げてケーブルを固定します。
※参考画像は古いモデルなので、爪が黒いです。後ほど自分のRapberry Piの画像に入れ換えます!
カメラモジュールの有効化
ケーブルが固定できたら、Raspberry Piの電源を入れてカメラを有効にします。
- まずはファームウェアを最新のものにアップデートします。
$ sudo apt-get update $ sudo apt-get upgrade
- 次に、Raspi-Config画面を出します。
$ sudo raspi-config
- “Camera”の項目で”Enable”を選択し、Finishを選択してrebootします。
写真が撮れるか試してみる
カメラが有効化されたので、きちんと写真が取れるか試し撮りをしてみましょう!
各コマンドのオプションはたくさんあるのですが、ここでは試し撮りレベルで必要な最低限のものをご紹介します。
<静止画(写真)を撮るためのコマンド>
raspistill
-? : ヘルプの表示
-w : 画像の幅の指定 (サイズ)
-h : 画像の高さの指定 (サイズ)
-qy : jpeg 品質を設定 (0 – 100)
-o : 出力ファイル名。指定しなければ何も保存されません。
-t : 撮影までの時間をミリ秒単位で指定。指定しない場合は5秒。
-d : デモモードを実行、撮影しない。(※画像の大きさを指定するときの試し撮りに便利!)
-e : 出力ファイルのエンコード方法の指定 (jpg, bmp, gif, png)
コマンド例)
$ raspistill -o /home/tapun/Pictures/1117.jpg -w 800 -h 600
</home/tapun/Pictures/>配下に1117.jpgというファイル名で、幅800×高さ600ピクセルのファイルをして保存されます。
<動画を撮るためのコマンド>
raspivid
-? : ヘルプの表示
-w : 画像の幅の指定 (サイズ、デフォルトは 1920)
-h : 画像の高さの指定 (サイズ、デフォルトは 1080)
-b : ビットレイトの設定 (例. 10MBits/s は -b 10000000)
-o : 出力ファイル名 (標準出力の場合は ‘-o -‘)
-t : 撮影時間をミリ秒単位で指定。指定しない場合は5秒。0 は無効化。
-d : デモモードを実行、撮影しない。
-fps: フレーム/秒を指定
他にも様々なオプション、フィルターなどがあるので、興味がある方は是非みてみてください!
参考:公式ドキュメント(英語です)
iPhoneからシャッターを押せるようにしてみる
ここら辺で、せっかくならリモートからシャッターを押したいという欲求が出てきました。
まずは簡単にSSHでRaspberry Piに接続し、上記の撮影コマンドを実行する形で実現しました。
- Raspberry Pi のIPアドレスを確認しておきます。
$ ifconfig
- iPhoneにSSHクライアントのアプリケーションをインストールします。
私は”Serverauditor“という無料アプリを使っています。 - Serverauditorを起動し、新規ホスト(New Host)としてRaspberry Piを登録します。
Alias = アプリ上での表示名なのでお好きなものを Username = Raspberry Piにログインするためのユーザ名 Hostname = 先ほど調べたRaspberry PiのIPアドレス Password = ユーザのパスワード
- 接続したら通常のターミナルと同じです。
raspistill
コマンドを実行することで、リモートからでもiPhone経由でカメラモジュールのシャッターを切ることができます。
私は家の中からしか試していませんが、Raspberry Pi自体を外部公開したり、踏み台用の端末を噛ませることでインターネット越しからでもリモートでの作業が可能になると思います。
(その場合、セキュリティ設定にかなり気を配る必要があります!)
まとめ
カメラモジュールを接続し、カメラを有効にするだけでコマンドで写真を撮影しRaspberry Piのローカルに保存できるようになりました!
コマンドで撮影できるということは、クーロンなどを組むことで自動で定期的に写真を撮影することも可能です。
次回は定期的な写真撮影と、撮影した写真をメールで自分に送る設定をご紹介いたします。
コメントを残す