13
24

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[メモ] Raspberry Pi Zero + Camera を USB WebCamとして使う

Last updated at Posted at 2018-05-28

(追記2020-11-01) 現在のBusterのものでは動かないっぽいので、こちらを.

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


Raspberry Pi Zero + Camera を USB WebCam (UVC)として使う

  • Win10のデバイスマネージャでみると、UVC Cameraとでてくる
    image.png

  • VirtualBoxのUSBの設定では、Linux Foundation Webcam gadgetとでてくる
    image.png

  • Win10のChromeにて、MediaDevices.getUserMedia()を使用して、UVCカメラにアクセス
    image.png

概要

環境

  • Raspberry Pi Zero W + Camera Module v1.3 (5MP)

  • Raspbian: 2018-04-18-raspbian-stretch-lite

  • Windows 10 x64 : WebCamのテスト

手順概要

  • /boot/config.txtに 'dtoverlay=dwc2'を追加
  • /boot/cmdline.txtmodules-load=dwc2,g_webcamを追加
  • /etc/modulesbcm2835-v4l2を追加
  • raspi-configで、Camera ModuleをEnabledして、有効化
  • uvc-gadgetを /usr/local/bin にいれて、自動起動用のsystemdの設定をする

手順

  1. Raspbianを焼く

    • 必要に応じて、sshファイルやら、設定済みwpa_supplicant.confをbootパーティションに置く
  2. 起動 (PWRから電源供給)

  3. ログイン

    • Wifiから
    • UART-USBケーブルから
    • テレビに繋いで、直接キーボードから
  4. /boot/config.txtに 'dtoverlay=dwc2'を追加

    シェルにこぴぺ

echo dtoverlay=dwc2 | sudo tee -a /boot/config.txt


5. `/boot/cmdline.txt`に `modules-load=dwc2,g_webcam`を追加

    ```bash:シェルにこぴぺ
sudo sed -i -e 's/rootwait$/rootwait modules-load=dwc2,g_webcam/g' /boot/cmdline.txt
  1. /etc/modulesbcm2835-v4l2を追加

    シェルにこぴぺ

echo -e 'bcm2835-v4l2' | sudo tee -a /etc/modules


7. `raspi-config`で、Camera ModuleをEnabledして、有効化

    ```bash:シェルにこぴぺ
sudo raspi-config nonint do_camera 0
  1. uvc-gadgetを /usr/local/bin にいれて、実行属性を付けて、

    シェルにこぴぺ

sudo curl -sL https://github.com/mt08xx/uvc-gadget/raw/dev/mt08/bin/uvc-gadget.armhf -o /usr/local/bin/uvc-gadget
sudo chmod a+x /usr/local/bin/uvc-gadget



9. 自動起動用のsystemdの設定をする


	```bash:シェルにこぴぺ
	cat << 'EOF' | sudo tee /etc/systemd/system/uvc-gadget.service
	[Unit]
	Description = uvc-gadget
	After=local-fs.target

	[Service]
	ExecStart=/usr/local/bin/uvc-gadget -u /dev/video0 -v /dev/video1
	Restart=no
	Type=simple

	[Install]
	WantedBy=multi-user.target
	EOF

	sudo systemctl daemon-reload
	sudo systemctl enable uvc-gadget
	```

10. 再起動

	```bash:
	sudo reboot
	```



# 動作確認
## その1: Skype のWindowsのデスクトップ版のカメラ設定を開く

## その2: Chrome にて
- https://mt08xx.github.io/webcam.html にアクセス

```html:webcam.html
<!DOCTYPE html>
<html>
<head>
  <title>Webcam Test</title>
</head>
<body>
  <video id="videoIn" autoplay></video>
  <script type="text/javascript">
  var p = navigator.mediaDevices.getUserMedia({ video: true });
  p.then(function(stream){document.getElementById("videoIn").srcObject = stream;});
</script>
</body>
</html>
  • [許可]すると
    image.png

  • こんなのがうつる
    image.png

# httpsでアクセスしないと、カメラが使えないっぽい.

その他

  • 640 x 360 のみ動作。
  • カメラの接続と動作テストは、先にやっといたほうがいいと思う。
  • RPi Zero V1.3 など、ネット環境がすぐに使えないもので使用する場合は、ネットにすぐに繋がるラズパイを使って、microSDを設定しまえば、いいんじゃないかと思う。
13
24
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
13
24

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?