カメラモジュールとの遭遇
前回までに、3Dプリンターが機嫌よく出力してくれているかどうかを遠隔で確認するための取り組みとしてRaspberry Pi B+のセットアップに取り組み、無線LANでログインできる状態にした。お次は、カメラモジュールをつないで画像を送り出せるようにしてみたい。USBケーブルで接続できるWebカメラをつないでもよいのだが、せっかくなのでリボンケーブルでつなぐRaspberry Pi純正のカメラモジュールを使ってみたい。そうすれば電力不足で動作が不安定になることもないだろう。カメラモジュールは、普通のカメラ
と、赤外線カメラが販売されていた。うちの3DプリンターReplicator2XにはLED照明がついているので暗視用の赤外線カメラは必要なさそうだ。どちらのカメラも基盤むき出しの製品なので、購入後にカバーやケースなど固定する方法を考える必要がある。webショップ銀仁堂では、カメラモジュールの台座付ケースの3Dデータを販売している。お好みの角度にカメラを固定でき、見た目もかわいくとても便利だ。3Dプリンタをお持ちの方はぜひご購入をご検討いただきたい。
このカメラモジュールは基盤むき出しなので、静電気で壊れちゃう可能性もなくはない。素手で触りまくってブロークンさせてしまう前にケースにしまい込んでしまおう。
ケーブルの差込口の黒い部分のロックを外すと、ケーブルを取り外すことができる。最初からついているケーブルは、16cmくらいの短いケーブルなので、長い取り換え用ケーブルに取り換えることもできるようになっているようだ。因みに40cmのケーブルに取り替えてみるとこんな感じ。
内側が16cmのケーブル、外側が40cmのケーブルでそれぞれつないだケース入りカメラモジュールだ。並べてみるとさらにかわいい。
カメラの取り付け
カメラはリボンケーブルで接続する。Raspberry Pi B+本体のHDMI端子と、イヤホンジャックの間に差し込み口が用意されている。ちなみにmicroUSB差込口の上にもリボンケーブルの差込口があるが、こちらはディスプレイ接続用らしい。今回は使用しない。
差込口の白い部分の左右を摘まんで上に引っ張り上げて差込口を開いて、ケーブルの裏表を間違えないように注意して差し込む。
ケーブルを差し込んだら、引き上げた白いあれを押し込んで元に戻しケーブルを固定する。
これで、カメラは接続完了である。raspberry piちゃんからはどのように見えているのだろうか。
RASPBIANでカメラを有効化する
いよいよ、ソフトウェア側から覗いてみよう。まず、カメラモジュールを有効化してみる。Raspberry PiのにmicroUSBコードをつないで電源を入れてログインし、コマンドラインから”raspi-config”コマンドを発行する。
pi@raspberrypi ~ $ sudo raspi-config
raspi-configの画面が表示されたら、”5.Enable Camera”を選択しエンターキーを押す。
続いて、カメラのサポートを有効化するかどうか聞かれるので”Eanable”を選択してエンターキーを押す。
最初の画面に戻るので、”Finish”を選択してエンターキーを押す。
最後にリブートするかどうか聞かれるので、”はい”を選んでエンターキーを押す。なぜかここだけ日本語なのが微笑ましい。
これで準備は整った!見せてもらおうか、raspberry piのカメラの性能とやらを!
WindowsからRaspberry piカメラの映像をリアルタイム表示
さて、カメラの映像をどうやって確認すればいいのだろうか。RSコンポーネンツの以下の記事を参考にさせていただいた。
Raspberry Piカメラのセットアップ方法 ≫ DesignSpark
まず、カメラ映像をネットワークに流すためのwindowsで使えるNetcastコマンドと、コマンドラインから起動できる動画プレーヤーのMPlayerをダウンロードする。
ダウンロードして解凍したら、windowsのコマンドプロンプトから以下のコマンドを発行する。
C:\Users\defaultuser>"nc.exeの保存ディレクトリ"\nc.exe -L -p 5001 | mplayer.exeの保存ディレクトリ\mplayer.exe -fps 31 -cache 1024 -
5001番ポートで通信を受けて、fps31で再生し、キャッシュは1024bitでMplayerが待ち受けます、というコマンドだ。各コマンドの保存ディレクトリはお手持ちの環境に読み替えてほしい。続けて、Raspberry Pi にログインして、コマンドラインから以下のコマンドを発行する。各コマンドの保存ディレクトリはお手持ちの環境に読み替えてほしい。
pi@raspberrypi ~ $ raspivid -t 0 -vf -hf -w 1024 -h 760 -o - | nc windowsのIPアドレス 5001
このコマンドは、時間制限なしで撮影を続け、画像を水平方向にさかさまにして、幅1024px高さ760pxの動画を指定したIPアドレスの5001番ポートに送信しますと言うコマンドである。画像をさかさまにしているのは、Raspberry Piのカメラはケーブルが出ているほうが下になるのがデフォルトだが、今回はケースの形状の都合でケーブルを上から出している為だ。
これを3Dプリンタが見えるところに配置しておけば、いつでも様子がうかがえるようになった。プログラミングしていちいちコマンド撃たなくても見えるようにプログラムを組めば美しいかもしれない。その前に、ちょっとカメラの視野角が狭いのが気になった。もう少し広い範囲を視野に入れたい。次回は、amazonの奥地で見つけた格安広角レンズを使って、カメラモジュールの視野を広げてみたいと思う。期待して待て!