Raspberry Pi zero wにOSをインストールし、ラズパイカメラからwifi経由でPCブラウザにプレビュー表示するまで


はじめに

Raspberry Pi zero w基板とRaspberry Pi用のフレキのカメラを買ってきて、Windows10 PCを利用して(linux PCとか使わずに)、ラズパイカメラからwifi経由でPCブラウザにプレビュー表示するまでの手順を記します。

環境

  • Raspberry Pi zero w 基板
  • Raspberry Pi用Camera V2.1(フレキケーブルでラズパイ基板本体と接続)
  • 32GB SDカード
  • USB 標準Aオス⇔micro USBオス のケーブル(ラズパイへの電源供給用)
  • Windows 10 PC
  • WiFiルーター
  • Tera Term Version 4.105
  • テキストエディタ(サクラエディタを使った)

OSのインストール

  1. インストーラのダウンロード
    Raspberry Pi公式サイトのソフトのサイトで自分に合ったOSのパッケージをクリックする。
    ここでは、Windows 10 PCにSDカードを挿してインストールするので
    Download for Windows をクリック。(↓2021/1/26時点のサイトのスクショ)

  2. インストーラの実行
    ダウンロードした実行ファイルを実行する。
    OS は 推奨OS(デフォルト選択)
    SD CardはインストールしたいSDドライブを選択
    WRITEボタン押下
    確認ダイアログが表示されるので、書き込みOK となるほうをクリック
    書き込み中のプログレスバーの%表示が増えていって、Verifyも終わったら、「SDカードをreaderからremoveしてもいいよ」という意味の英文が表示されるので、抜く。

SDカード上のファイルをWinで編集、作成。

SSH有効化

SDカードのルートフォルダに ssh という名前の空ファイルを作成する。

WiFi接続有効化

SDカードのbootパスに以下の内容の wpa_supplicant.confファイルをテキストエディタ等で作成する。

country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
    ssid="SSID"
    psk="Passphrase"
}

カメラの接続と動作確認

フレキで接続

CodeZine Raspberry Pi Zeroとカメラを接続して定点観測しよう
の写真付説明が比較的わかり易かった。

SSH接続

  • ラズパイのUSB端子にUSBケーブル接続して電源供給する。
  • WiFiルーターの DHCPクライアント表示機能などを用いて、ラズパイ基板のIPアドレスを調べる。デフォルトのままだとホスト名 raspberrypi がラズパイ。
  • TeratermのSSH接続で上記IPアドレスに接続する。(ユーザー名:pi、パスワード(デフォルトなら):raspberry)

ラズパイ環境のソフト更新

TeratermのSSHコンソールで以下を実行。

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install -y wget
sudo apt-get dist-upgrade

カメラ有効化

WiFi経由でTeratermでSSH接続し、

sudo raspi-config

Interfacing Options→P1 Camera→Would you like the camera interface to be enabled?で<はい>を選択する。

少しハマったところ! SSHコンソールやシリアルコンソールでraspi-configのメニューを選択する時の話。カーソルキーやタブキーで項目間移動が出来る。ただし、選択した項目を実行するのはリターンキーではなくスペースキー

静止画撮像確認

  • TeratermでSSHコンソールで以下を実行。
$ raspistill  -w 1920 -h 1080 -o test.jpg
$ ls -l
  • Teratermメニュー→ ファイル → SSH SCP... で 下側のFromにラズパイ上に作成された(上記なら test.jpg)のフルパスを、下側のTo:にWindows上のフルパス(参照ボタン使用可)をそれぞれお入力し、Receiveボタン押下で、ラズパイからwin 10にファイル転送 

  • 適当なビューワー(IrfanViewとか)でtest.jpgを表示。それらしい画像になってることを確認。

ラズパイでカメラ画像をストリーム配信させて、PCブラウザで表示

MJPG-streamerのインストール

mjpeg-streamerのインストール&設定 に沿ってMJPG-streamerというパッケージをインストール。

sudo apt install git cmake libjpeg8-devのコマンド実行中にディスク使用容量確認されるので Yを入力しEnter押下。

  • 自動起動しないなら、2.起動スクリプトを作成までを実行すればOK

MJPG-streamerの実行し、PCブラウザカメラ画像を表示

インストール後に作成した start.sh を実行し、PCブラウザ(Google Chrome等)で ラズパイのIP:8080 にアクセスし、start.shに記載してある ユーザIDとパスワードを入力すれば、MJPG-Streamerのデモ画面?が表示される。Streamingをクリックするとプレビュー表示可。

*参考にしたURL
https://www.richardcastera.com/blog/setting-headless-raspberry-pi-zero-w-camera/
https://codezine.jp/article/detail/11194
https://qiita.com/go-to/items/409e32116213bdf4b1ce
有難うございました。