LoginSignup
13
24

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.txtmodules-load=dwc2,g_webcamを追加

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

    シェルにこぴぺ
    echo -e 'bcm2835-v4l2' | sudo tee -a /etc/modules
    
  7. raspi-configで、Camera ModuleをEnabledして、有効化

    シェルにこぴぺ
    sudo raspi-config nonint do_camera 0
    
  8. 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の設定をする

    シェルにこぴぺ
    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. 再起動

    sudo reboot
    

動作確認

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

その2: Chrome にて

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