RasPi Zero Wに新しいRaspbian Stretch(2018-03-14版)をセットアップ CUI編 Camera Module V2も使えるようにしてみた

3月14日のラズパイの日(3.14≒π…pi)にRaspbian Stretchが新しくなりました!
そして、以前副賞でKSYさんからいただいいていた物の中に「Raspberry Pi Camera Module V2」が入っていたことを今さらながらに発見 (^_^)!!

ということで、カメラを使えるようにラズパイをセットアップしてみました。

セットの確認

使った物は主に以下の通りです。

  • カメラを使いたいのでケースのフタを交換
  • Camera Module V2 を接続
  • SDカードは、Transcendの16GBを使用
  • SDカードリーダーは、同じくTranscendのUSB3.0対応の安い奴を使用

 

OSのインストール

SDカードのフォーマット

SDカードフォーマッター(最新のVer. 5)を公式サイトからダウンロードしてインストールします。

Ver.4 で長らく止まっていたのですが、去年久々に新しいバージョンが出ていました。

SDカードに最適なフォーマットをしてくれるとのことで、こちらでフォーマットしておきます。使い方は配布元の資料を確認して下さい(と言ってもボタン押すだけなので簡単)。

OSイメージのDL

CUIで動くNOOBS Liteを使用します。
公式サイトからNOOBS LITEをPCでダウンロードします。

ダウンロードしたファイルを展開し、中身を先ほどのSDカードに全てコピーします。

 

組み立て

カメラにはラズパイ3などに接続できるフレキケーブルが接続されています。また、レンズの保護シールがあるので剥がしておきます。

カメラののぞき穴があるフタに取り付けたところ。爪が結構硬いので基板を壊さないように注意しながらグッと押し込みました。(ラズパイZeroに接続できないので後ほど取り外すことになりますが、、、)

専用のフレキケーブルを使って、ラズパイと接続します。NOOBS LITEをコピーしたmicroSDカードも忘れずにセットしましょう!

ラズパイもケースに収めます。

ふたを閉じたら完成!

 

 

Raspbian Liteをインストール

USBポートにマウス(or キーボード)、HDMI出力をディスプレイに接続した後、電源を入れます。

ラズパイが起動したら画面に沿ってインストールします。

※NOOBS LITEはネットワークにつながらないと何もインストールできません!
まずはWi-Fiに接続しましょう(自宅の無線LANアクセスポイントにWPSで接続して作業を行いました)。

Wi-Fiに接続するとずらずらっとOSが出てきます。
今回は、軽量なCUI版の「Raspbian Lite」を選択します。

ドライブの中身が消えますよー、と確認があるので「Yes」を選択。

あとはダウンロードされて終了するのを待ちます。

私の環境で967MBを10分程度でインストールできました。

待っている間に画面下部にある言語を「日本語」、キーボードを「JP」にしておくと後で設定する手間が省けます。

 

初期設定

ログイン

インストールの完了後に再起動してしばらく待ち、「raspberrypi login:」と表示されたら、

  • user: pi
  • pass: raspberry

でログインします。

まず更新しましょう。

$ sudo apt-get update
$ sudo apt-get upgrade

日本語は表示できないので全て豆腐(□)になります。。。

後で日本語対応しますが、見えなくてやだーという方は、

LANG=C

と入力してあげると、全て英語表記になって読めるようになります。

 

日本語対応

※必須ではないので、日本語の需要が無い人はここは飛ばしてもOKです。

日本語フォントを入れて日本語表示できるようにします。

まず、フォントをインストールします。
(ここではIPAフォントを入れています。好みです。)

$ sudo apt-get install fonts-ipafont fonts-ipaexfont

次に、raspi-configで文字コードを設定します。
4 Localisation Options …を選んで、 ja_jp.UTF-8を選択します。

$ sudo raspi-config

日本語対応のターミナル(jfbterm)をインストールします。

$ sudo apt-get install jfbterm

jfbtermを起動して適当なコマンドで日本語が表示されるか確認します。

$ jfbterm
$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
/dev/root         15G  1.4G   13G   10% /
devtmpfs         182M     0  182M    0% /dev
tmpfs            186M     0  186M    0% /dev/shm
tmpfs            186M  2.7M  183M    2% /run
tmpfs            5.0M  4.0K  5.0M    1% /run/lock
tmpfs            186M     0  186M    0% /sys/fs/cgroup
/dev/mmcblk0p6    68M   21M   47M   31% /boot
tmpfs             38M     0   38M    0% /run/user/1000

vimエディタを追加します(シンタックスハイライトは欠かせない!好みです。)

$ sudo apt-get install vim

参考
RaspberryPiの日本語設定

 

パスワードの変更

デフォルトのままでは危険なので、パスワードを変更しましょう。

passwdコマンドを使います。

$ passwd
 pi 用にパスワードを変更中
 現在の UNIX パスワード: ## ←現在のパスワード(初期値: raspberry)を入力
 新しい UNIX パスワードを入力してください: ## ←新しいパスワードを入力
 新しい UNIX パスワードを再入力してください: ## ←新しいパスワードを再入力
 passwd: パスワードは正しく更新されました

 

raspi-configで各種設定

raspi-config を起動して各種設定を行います。

$ sudo raspi-config
  • ホスト名の設定(2 Network Options → N1 Hostname)
    • 分かり易い名前を設定します(例: rpi-zw2)
  • 地域設定(4 Localisation Options)
    • I2 TimeZone: アジア、東京
    • I4 Change Wi-fi Country: JP Japan
  • インターフェイス設定(5 Interfacing Options)でSSHサービスを動かします。
    • P2 SSH: enabled? → はい
  • Finish を選択すると再起動するか聞かれるので「はい」を選択。

再起動したら完了です!

 

SSHで作業できるように設定

以前の記事を参考に、公開鍵(~/.ssh/id_rsa_rpi.pub)を使ってログインできるようにします。

接続元のPC(mac)で、新しく接続するrpi-zw2用のconfigファイルを作ります。

$ vi ~/.ssh/conf.d/hosts/rpi-zw2
 Host rpi-zw2
 HostName rpi-zw2.local
 User pi
 IdentityFile ~/.ssh/id_rsa_rpi

sshでラズパイに接続します。最初はパスワード認証です。

$ ssh pi@rpi-zw2.local

known hosts に追加されるか聞かれるで「yes」と入力します。
パスワードを入力してログインします。

設定ファイルを置く場所を作ります。

$ install -m 0700 -d ~/.ssh
 $ touch ~/.ssh/authorized_keys
 $ chmod 600 ~/.ssh/authorized_keys

接続元のPCで公開鍵をコピーしておきます

$ pbcopy < ~/.ssh/id_rsa_rpi.pub

SSH接続したラズパイで、~/.ssh/authorized_keysに公開鍵を追加します。

$ vi ~/.ssh/authorized_keys

※先ほどコピーした鍵を貼り付けて保存して終了します。

そして、改めて接続元のPCからsshで接続できれば成功です!

 

カメラモジュールを使えるように設定

raspi-configでカメラモジュールをEnableにします。

$ sudo raspi-config
  • 5 Interfacing Options → P1 Camera
  • enableにしますか?と聞かれるので「はい」を選択。
  • raspi-configを終了して再起動。

 

テスト撮影、しかし、、、

起動したら撮影できるか試してみます。標準のコマンドraspistillを使います。

$ raspistill -o ~/test.jpg -w 800 -h 600

CUI版ですが、撮影中にプレビュー画面が表示され、画像ファイル(test.jpg)ができました。

が、しかし、写真はピンぼけです(汗

 

ピントを調整する

使ってから知ったのですが、カメラモジュールはオートフォーカス機能がないので附属の調整器具を使って自分で調整する必要があります。

ペットボトルのキャップに穴が開いたような丸いやつが調整器具です。

レンズの周りに切り欠きがあります。

調整器具の溝を切り欠きに合わせます。

附属の調整器具をカメラのキー溝に合わせて優しく回しましょう。

  • 時計回り: 遠くに焦点を合わせる。
  • 反時計回り: 近くに焦点を合わせる。

初期状態は無限遠(時計回りいっぱい)になっているので、反時計回りで調整していきます。

以下のコマンドを実行するとプレビュー画面が表示されたままになるので、この状態で画面を見ながら調整すると楽です。

$ raspistill -t 0

終了するときは、Ctrl + c で終了します。

これでバッチリ写るようになりました!

 

様々なコマンドのオプション

raspistillコマンドに何もつけずに実行すると、詳しい説明が表示されます。lessで受けると見やすくなります。

$ raspistill | less

サイズを指定しなければ最大解像度(3280×2464)で撮影されます。

$ raspistill -o ~/test-max.jpg

撮影までの時間は -t オプションを使い、ミリ秒単位で指定できます。
※2秒後に撮影する場合

$ raspistill -o ~/test.jpg -t 2000

カメラの向きによっては上下左右が逆さまになる場合があります。
そんな時にはフリップを指定することで解決できます。

-vf で縦方向、-vh で横方向に反転します。
両方セットすると180度回転した画像になります。

$ raspistill -o ~/test-vhf.jpg -t 1 -vf -hf

参考

まとめ

Raspberry Pi Zero W に、最新の軽量なRaspbian stretch のCUI版を、NOOBS LITE 経由でインストールしました。

また、公式カメラモジュールV2を接続して、静止画を撮影することができました。USB接続のWebカメラより、軽快に良い写真が撮れるように思いました。

次はこのカメラの使い方をもう少し掘り下げていきたいと思います!