「RPi Zero + CSI-Cameraで、UVCなWebCamとして使う」の2020年夏版。
-
OctoCamにてUVC Camera
概要
- RPi Zero + CSI-Cameraで、UVCなWebCamを作る
- インストールスクリプトを書きました。
- 元ネタ: uvc-gadgetをラズパイに対応させて、かつスクリプトも追加してくれてる方
- 以前書いた2018年の記事([メモ] Raspberry Pi Zero + Camera を USB WebCamとして使う)は、もう、うまくうごかないっぽい。しかもuvc-gadgetのビルドができない.. どうやったんだ?>当時の自分
確認済み環境
-
Raspberry Pi Zero W
-
カメラモジュール(Camera Module)
-
Camera Module for Raspberry Pi Zero – Standard
- Camera Module v1.3 (5MP / OV5647)と互換なはず
-
Camera Module for Raspberry Pi Zero – Standard
-
Windows 10 x64 : Webカメラのテスト用
手順
-
母艦(PC)にて
- OSをSDカードに焼く
-
PiZero(または、インストール用ラズパイ)にSDをさして起動後
-
ログインは、user: 'pi' / password: 'raspberry'
-
sudo raspi-config
で、インターネット接続設定-
2. Network Options
>N2 Wireless LAN
>- 該当する国選択(JPとかUSとかGBとか)
- SSID
- Password
- 設定したら、
<Finish>
でちょいと待つ。 -
ping www.google.com
で接続確認
-
-
インストールスクリプトのダウンロードと実行
実行例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だと選べるぞ
- PiZeroの
インストールスクリプト
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)