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

n.yamamoto

2014年2月20日 18時55分

Yamamotoです。

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

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

at_yashi

2014年2月20日 19時38分

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

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

n.yamamoto

2014年2月21日 23時19分

Yamamotoです。

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

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

at_yashi

2014年4月30日 14時16分

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

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

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

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