どちらかというとAIネタの方で使うつもりで、Raspberry Piにもカメラモジュールを接続しておこうと思い立ちました。何種類が出ているのは知っていたのですが、よく調べもせず、適当に買ってしまいました。ぶっちゃけ、お値段がお安いものを選んだだけ。買った後になって、モジュールの素性とか接続とか調べているのですからかなりな泥縄。それでも特にトラブルもなくつないで写真が撮れたのでOKと(何がOK?)。
※「IoT何をいまさら」投稿順Indexはこちら
まずは、購入したRaspberry Pi用のカメラ・モジュールの写真をご覧いただきましょう。赤い「ベロ」はレンズ保護用のシールです。
表面にRaspberry Pi Camera Rev 1.3とあります。また、モジュールメーカのSUNNY(SONYではありませんぞ)とP5V04Aという型番が見えます。まず、モジュールメーカサイトのURLを貼り付けましょう。
SUNNY Optical Technology (Group) Co.,LTD
香港市場に上場するオプティカル部品メーカで、こういうイメージセンサモジュール製品やレンズなどの部品だけではなく、顕微鏡や計測器などの完成品も手掛けている「光学」メーカのようです。私の計算間違っていなければ売り上げ4000億円規模。2018年はちょっと拡大ペースが落ちた感じではありますが、2017年まで倍倍ゲーム的に急速に伸びてきた感じ。立派なメーカに見えます。
基板表面のRev 1.3という文字がありますが、Raspberry Pi用のカメラモジュールとしては大きく2種類あるうちのv1に分類される基板のようです。本家Raspberry Piのサイトに詳しい資料が掲載されているので、そこのURLも貼っておきます(ちゃんとこういう資料を読んでから注文するのだな)
概要だけ述べれば、搭載されているCMOSイメージセンサは、
OmniVision OV5647
5Mピクセル、1/4inch 、固定焦点のものです。これに対してv2系は、8MピクセルのSONY(SUNNYではない)のCMOSイメージセンサを搭載しているようです。なお、調べているとv1, v2系ともNOIR(多分NO IR—ノー・インフラレッド・フィルタ、赤外線フィルタ無)というタイプもあるようです。そいつらの基板は黒色みたい。赤外線が無しではなくて、赤外線のフィルタが無いので、赤外線が通るから、写ってしまう。だから夜間の監視用などには黒色基板を使うと良さそうです。その代わり、赤外線のフィルタが無い分、色が汚いんじゃ。。。という恐れもあります。実際調べている人いました。その記事へのURLを貼り付けておきます。私はこのカメラモジュールで監視カメラをやろうとは思っていないので、v1.3で良かったという感想を持ちましたが、個人の主観です。
さて、カメラモジュール自体にはフレキのケーブルが付属しているので、これをRaspberry Piのカメラ用のコネクタに取り付けないといけません。
今回取り付けたのは、古いRaspberry Pi 1 model B+ですが、まったく問題なく取り付けられました。後で Pi 3にも取り付けて確認してみるつもりですが、多分大丈夫でしょう。ただし、Zeroは違うようです。
Raspberry Pi 1 Model B+ に取り付けたところはこんな感じ。Micro:bitに「被写体」になってもらいました。(近すぎる!)
さて、とりあえずの試験のために静止画をとろうと思うのですが、どのコマンドを使ったよいのでしょう。Raspbianの以下のディレクトリにちゃんとコマンドが入っているのでした。
/opt/vc
ここのコマンド類は、ライセンス条項からするとRaspberry PiのCPU-SoCの製造元である、Broadcomのもののようです。静止画用、動画用ともにあるのですが、今回は静止画(still picture)なので
raspistill
を使います。以下のようなコマンドライン。-vをつけて、バーボスモードでいろいろ設定などを表示させてみました。また、CUI画面でも取り込んだ画面をビットマップで直接モニタするような機能があるようなのですが、残念ながら、sshでリモート接続しているので直接出力されても見えないので -n とモニタ画面要らない指定しています。また本来は5Mピクセルですが、幅、横指定してVGAサイズの小さいJPG画像で出力させています。かなりいろいろオプションがあるようなので、出力されているいろいろな設定値は大体いじれるのではないかと思います。
しかし、sshでリモートログインしていると、撮影した画面を確認しずらい。VNCで接続しなおしてもよいのですが、Windows上でXを動かし、Raspberry Pi上でDISPLAY環境変数をWindows PCのXサーバに向けて写真を見ることにいたしました。こんな感じ。
Windows PCの上に表示されたXウインドウ画面を切り取ったものがこちら。やっぱり、Micro:bit 近すぎてピンボケです。ちゃんと写真が撮れることは分かったので、ま、いいか。