Raspberry pi zero w を USB カメラとして使用する

August 25, 2020

Raspberry pi zero と Raspberry pi zero w は、on-the-go mode を簡単に使用できます。

※他にも、Raspberry pi の A シリーズが対応しています
※未確認ですが、Raspberry pi 4 も、対応しているそうです

高性能カメラモジュールを入手しましたので、
on-the-go mode を使用して、Raspberry pi zero w を、USB カメラ(UVCカメラデバイス)としてセットアップしてみます。

USBケーブルでパソコンに接続すると、カメラデバイスとして認識されるということです。

カメラ → Raspberry pi → USBケーブル → PC という流れなので、その気になれば、
Raspberry pi の時点で、映像を加工してから出力することもできるでしょう。
AI的な処理を入れるのが良さそうです。

やり方について

daveh さんのやり方に従います。

Raspberry Pi Zero with Pi Camera as USB Webcam

youtube もあります。

https://youtu.be/idD61VOJ024

Raspberry pi zero w セットアップ

Micro sd カードに、Raspberry pi Imager から、OSを焼き付けます。
デスクトップを使用する事はないと思うので、Lite version にしました。

git clone

ありがたく頂戴します。

sudo apt-get install git
cd /home/pi
git clone https://github.com/climberhunt/uvc-gadget.git
cd uvc-gadget

/boot/cmdline.txt 改変

以下を行末に追加

modules-load=dwc2,libcomposite

/boot/config.txt 改変

以下の行を追加

dtoverlay=dwc2

起動スクリプトをコピーして、サービスとして登録する。

sudo cp piwebcam.service /etc/systemd/system/
sudo systemctl enable piwebcam

コンパイル

make

シリアルログイン対応?

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

動作テスト

シャットダウンして、PCに接続すると、カメラデバイスと認識して、正常に使用できました。

起動には30秒くらいかかった気がします。

広角レンズ

広角レンズ

望遠レンズ

マウントを使用する

The Pi Hut のマウントをつけてみました。
https://thepihut.com/products/mounting-plate-for-high-quality-camera

感想

Raspberry pi zero w で動作させている状態ですが、
少しカクカクします。

もっと処理の早いデバイスなら違うのでしょうか?

シリアル通信できない

USB ケーブルで接続しても、
Windows 10 64bit 向けの RNDIS ドライバーがないため、シリアル通信できません。

USB Ethernet/RNDIS Gadget が必要なのですが、Windows update カタログから取得したドライバーを入れようとしても、
「このデバイスに最適なドライバーが既にインストールされています」と出て、入りません。

過去の Windows update に含まれているはずだという書き込みも見ましたが、私のパソコンには見当たりませんでした。
どこかに有るのでしょうか?

調べてみると、皆さん試行錯誤しています。

https://gist.github.com/Gadgetoid/c52ee2e04f1cd1c0854c3e77360011e2