これからラズパイで、はじめてカメラモジュールを使う人向けに基本ステップをご紹介します。
Raspbianのセットアップ
ラズパイの基本OSであるRaspberry Pi OS(旧Raspbian)はセットアップしておいてください。
Wi-Fiにも接続させてデスクトップが表示されている状態から、一度電源を切りカメラモジュールを繋ぎます。
カメラの接続方法とケーブルの向き

これはRaspberry Pi 3B+です。ご覧のように電源側、HDMI端子と3.5mmアナログ端子の間にあるカメラポートへ接続します。
純正のフレキシブルケーブルなら青い印刷面が有線LANポート側です。
接続部の黒いプラスティックは上に少し外れます。外してからでないとケーブルは入りません。ケーブルを入れてた元に戻します。ツメがあるので分かると思います。
カメラ側も同じ作りです。方向は基板側に青い印刷面が来ます。お間違えなく。
差し込む深さですけど、写真の通りで問題ありません。よく写真をみてトライしてください。
カメラモジュールの確認
Raspberry Pi にカメラモジュールを繋げてください。そのままでは認識できません。
sudo raspi-config


インターフェイスオプションの中にカメラとあります。これを有効(Enable)にします。ENTERキー
その後に一旦再起動してください。(sudo reboot)
カメラモジュールの動作確認
カメラモジュールのバージョンチェック
vcgencmd version
カメラモジュールが認識されているか確認する
vcgencmd get_camera
正しければ、以下のように表示されます。
supported=1 detected=1
サポートが1(有効)、ディテクテッド(検出)が1(有効)ならOKです。もしも0ということであれば、恐らくフレキシブルケーブルが逆になっているか、奥まで差し込まれていないか確認してください。(要再起動)
カメラテスト用Pythonファイルの作成
次のコードをcamera_test.pyとして保存します。
sudo nano camera_test.py
空白スペースなど気をつけてコピペしてください。
!/usr/local/bin/python
! -<em>- coding: utf-8 -</em>-
from picamera import PiCamera
from time import sleep
camera = PiCamera()
# カメラが画像の取得を開始する
camera.start_preview()
# 撮影まで5秒待つ(露出検出のため最低2秒は待つ必要がある)
sleep(5)
# 180度回転(もしも180度反対の画像なら追加)
camera.rotation = 180
# 画像を撮り保存(保存先は任意場所)
camera.capture('/home/pi/camera/image.jpg')
カメラが画像の取得を停止する
camera.stop_preview()
これを保存したら実行します。(sudo無しでOK)
python camera_test.py
上手く行けばimage.jpgとして保存されます。但し、このコードのままでは同名ファイルとなり上書きされます。注意してください。
取得した画像はこちら

試しにこれをGoogle画像検索にかけてみます。

このままでも見事に検索されましたので、精度はともかく、この程度でも識別はOKみたいです。これをGoogle Cloud Vision APIで解析してアルバム名などを取得出来れば良いのですが・・・少し難しいですね。
最後に今後
先日にご紹介した「Plynth」は取り込んだレコードジャケット画像からGoogle Cloud Vision APIを使いアルバム名とミュージシャンを検索し、SpotifyAPIを用いてアルバム曲を再生しています。(Spotify Web API)他にもスマホアプリで「Record Player」というのがありました。
これらはGoogle側にあるバックデータベースを利用して画像を特定しています。APIを扱えればラズパイでも同じ事が可能でしょう。それが開発中の「Plynth」プロジェクトです。使ってみたいですね。(https://plynth.com)
非エンジニアとしてはこういったAPIを利用するのは苦手です。Spotifyのサイトでは細かく掲載されていましたので興味あるかたはGoogle Cloud Vision APIと一緒にトライしてみてください。
USB接続のWebカメラでテストしたのはこの2つ
