Armadilloフォーラム

USBカメラ接続状態確認方法はありますか

n.yamamoto

2014年2月20日 10時12分

Yamamotoです。

USBカメラを使用して静止画の取得orブラウザでの表示行おうとしています。

jpeg_stremaerを起動する前にUSBカメラが接続されているかどうかを確認することは可能でしょうか?

よろしくお願いいたします。

コメント

at_makoto.harada

2014年2月20日 13時18分

原田です。

USBカメラを接続すると/sysfs/devices/platform/...../video4linux/xxx/name"ファイルが生成されると思います。
これを利用しては如何でしょうか?

[root@armadillo440-0 (ttyp0) ~]# find /sys/ |grep video4linux
/sys/devices/platform/fsl-ehci.0/usb1/1-1/1-1:1.0/video4linux
/sys/devices/platform/fsl-ehci.0/usb1/1-1/1-1:1.0/video4linux/video0
/sys/devices/platform/fsl-ehci.0/usb1/1-1/1-1:1.0/video4linux/video0/uevent
/sys/devices/platform/fsl-ehci.0/usb1/1-1/1-1:1.0/video4linux/video0/dev
/sys/devices/platform/fsl-ehci.0/usb1/1-1/1-1:1.0/video4linux/video0/subsystem
/sys/devices/platform/fsl-ehci.0/usb1/1-1/1-1:1.0/video4linux/video0/device
/sys/devices/platform/fsl-ehci.0/usb1/1-1/1-1:1.0/video4linux/video0/name
/sys/devices/platform/fsl-ehci.0/usb1/1-1/1-1:1.0/video4linux/video0/power
/sys/devices/platform/fsl-ehci.0/usb1/1-1/1-1:1.0/video4linux/video0/power/wakeup
 
[root@armadillo440-0 (ttyp0) ~]#  cat /sys/devices/platform/fsl-ehci.0/usb1/1-1/1-1:1.0/video4linux/video0/name   
Microsoft LifeCam HD-5000

Yamamotoです。

/sys/devices/platform/fsl-ehci.0/usb1/1-1/1-1:1.0/video4linux

USBは固定ですので、上記フォルダ有無で確認できそうと分かりましたが、特に注意点はありませんでしょうか?

特に注意することはないと思いますが、
USBカメラが接続されたことを検知したいのであれば、udev を使うと便利です。

atmark-dist/vendors/AtmarkTechno/Armadillo-810/etc/udev/rules.d/z10_mjpg-streamer.rules
が参考になるかもしれません。

Yamamotoです。

/dev/video0
の存在をかくにんすれば良いということで合ってますでしょうか?

調べたところ、USBカメラを接続したところ上記のデバイスがかくにんできましたので。

質問頂いていたのを読み落していました。ごめんなさい。

/dev/video0 になるデバイスが他にいなければ、/dev/video0 を確認すること
で問題ありません。

もし複数、または不特定のデバイスが接続される前提なら、デバイスの
property を udev に問い合わせると良いです。USBカメラであれば、 1) USB
bus に接続されていて、2) V4L2 に対応していて、3) Capture できるもの。く
らいの絞り込みが良いかと。

http://www.freedesktop.org/software/systemd/libudev/libudev-udev-device…