LoginSignup
11
11

More than 3 years have passed since last update.

[メモ] Raspberry Pi Zero + CSI-Camera を USB WebCamとして使う(2020年夏版)

Last updated at Posted at 2020-08-26

「RPi Zero + CSI-Cameraで、UVCなWebCamとして使う」の2020年夏版。

概要

  • RPi Zero + CSI-Cameraで、UVCなWebCamを作る
  • インストールスクリプトを書きました。

確認済み環境

手順

  • 母艦(PC)にて
    1. OSをSDカードに焼く
  • PiZero(または、インストール用ラズパイ)にSDをさして起動後

    1. ログインは、user: 'pi' / password: 'raspberry'
    2. sudo raspi-configで、インターネット接続設定
      • 2. Network Options > N2 Wireless LAN >
        • 該当する国選択(JPとかUSとかGBとか)
        • SSID
        • Password
      • 設定したら、<Finish> でちょいと待つ。
      • ping www.google.com で接続確認
    3. インストールスクリプトのダウンロードと実行

      実行例
      curl -SLO https://raw.githubusercontent.com/mt08xx/files/master/inst_piwebcam.sh
      time bash ./inst_piwebcam.sh
      
  • PiZeroのUSBをPCに接続して起動

    • PiZeroのUSBと書かれた方に挿す。
    • PCの本体のUSB3ポートに直接挿そう。(USB3は900mAまでOKだよね?)
    • Windows 10: デバイスマネージャのカメラに UVC Cameraがでてくるまで待つ
    • Win10標準のカメラアプリなどで使ってみる
    • https://mt08xx.github.io/webcam.html にアクセス
      • Chromeだとカメラが選べない?
      • Firefoxだと選べるぞ

インストールスクリプト

inst_piwebcam.sh
#!/bin/bash
#
# http://qiita.com/mt08/f869cddee89ca2ea6323
#
# apt-cacher-ng ?
# export http_proxy="http://apt-cache-server.local:3142"
#
sudo apt update && sudo apt-get install -y git \
&& cd ${HOME} \
&& git clone https://github.com/climberhunt/uvc-gadget.git \
&& cd uvc-gadget \
&& make

sudo sed -i -e 's/rootwait$/rootwait modules-load=dwc2,libcomposite/' /boot/cmdline.txt
grep 'dtoverlay=dwc2' /boot/config.txt || sudo sed -i -e '/\[all\]/a dtoverlay=dwc2' /boot/config.txt
sudo raspi-config nonint do_camera 0
sudo raspi-config nonint do_memory_split 256

cat << 'EOF' | sudo tee /etc/systemd/system/piwebcam.service
[Unit]
Description=Start pi webcam service

[Service]
ExecStart=/home/pi/uvc-gadget/piwebcam
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=piwebcam
User=pi
Group=pi
WorkingDirectory=/home/pi/uvc-gadget

[Install]
WantedBy=basic.target
EOF

sudo ln -s /lib/systemd/system/getty@.service  /etc/systemd/system/getty.target.wants/getty@ttyGS0.service
sudo systemctl enable piwebcam.service

#
echo Done

その他

  • 初回起動~インストールスクリプト実行まで、別のラズパイでやってもよい(RPi4Bでインストールして、PiZeroで使用)
  • 終了は、USBを引っこ抜いて、ぶつっと切ってしまっているが、いまのところ大丈夫っぽい。
  • 実は、COMポートも認識されていて、そっからログインできるぞ。
  • コロナ渦で、Webカメラ、なかなか入手できませんでしたが、いまはどうでしょうか。

TODO

  • ほかのカメラモジュールでのテストする (まえにやったときは動いてたので問題ないはず)
    • Camera Module v2 (8MP / IMX219)
    • HQ Camera (12MP / IMX477)
11
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
11