5 개의 USB 카메라, 동일한 브랜드, 동일한 모델 (Canyon CNR-FWC120H)이 있습니다. 그들은 24/7 다른 장면을 모니터링하는 데 사용됩니다. 어떻게 든 Linux (Debian) 콘솔 또는 프로그래밍 방식 (모든 언어)에서 어떤 카메라인지 식별해야합니다.
의 출력을 보려고 시도했지만 각 카메라마다 다른 lsusb -vvv
필드 iSerial
가 있지만 불행히도이 제조업체는 귀찮게하지 않기로 결정했으며 모든 카메라는 해당 위치에서 동일한 직렬을 갖습니다.200901010001
불행히도 특정 시나리오에서 동일한 카메라가 항상 동일한 포트에 연결된다는 사실에 의존 할 수 없기 때문에 어떤 카메라가 USB 포트와 독립적으로 어떤 카메라인지 알 수있는 다른 방법이 있습니까?
업데이트 의견에 대해 토론 한 후에는 이것이 불가능하다는 것을 알고 있습니다. 마지막 단락을 잊어 버리거나 독창적 인 아이디어가 있다면 그것을 제시하십시오. 장치가 연결된 USB 포트를 식별 할 수 있는지 관심이 있습니다. 충분한 대역폭의 카메라를 수용하기 위해 마더 보드의 내장 USB 포트와 추가 PCI USB 컨트롤러 카드를 사용합니다. 포트를 고유하게 식별해야하며, 예를 들어 컴퓨터가 재부팅되고 어떤 이유로 USB 컨트롤러가 다른 순서로 초기화되는 경우 포트 번호 / 식별이 변경되지 않아야합니다. 가능합니까?
업데이트 2 카메라 중 하나의 로그에 다음 정보가 표시됩니다.
[Wed Apr 30 18:35:02 2014] uvcvideo: Found UVC 1.00 device FULL HD 1080P Webcam (0bda:58b0)
[Wed Apr 30 18:35:02 2014] input: FULL HD 1080P Webcam as /devices/pci0000:00/0000:00:01.0/0000:01:00.0/usb3/3-2/3-2:1.0/input/input4
이를 사용하여이 명령을 호출했습니다.
udevadm info --query=all --path=/devices/pci0000:00/0000:00:01.0/0000:01:00.0/usb3/3-2/3-2:1.0/input/input4
그리고 이것을 얻었다 :
P: /devices/pci0000:00/0000:00:01.0/0000:01:00.0/usb3/3-2/3-2:1.0/input/input4
E: DEVPATH=/devices/pci0000:00/0000:00:01.0/0000:01:00.0/usb3/3-2/3-2:1.0/input/input4
E: EV=3
E: ID_BUS=usb
E: ID_INPUT=1
E: ID_INPUT_KEY=1
E: ID_MODEL=FULL_HD_1080P_Webcam
E: ID_MODEL_ENC=FULL\x20HD\x201080P\x20Webcam
E: ID_MODEL_ID=58b0
E: ID_PATH=pci-0000:01:00.0-usb-0:2:1.0
E: ID_PATH_TAG=pci-0000_01_00_0-usb-0_2_1_0
E: ID_REVISION=5801
E: ID_SERIAL=Generic_FULL_HD_1080P_Webcam_200901010001
E: ID_SERIAL_SHORT=200901010001
E: ID_TYPE=video
E: ID_USB_DRIVER=uvcvideo
E: ID_USB_INTERFACES=:0e0100:0e0200:010100:010200:
E: ID_USB_INTERFACE_NUM=00
E: ID_VENDOR=Generic
E: ID_VENDOR_ENC=Generic
E: ID_VENDOR_ID=0bda
E: KEY=100000 0 0 0
E: MODALIAS=input:b0003v0BDAp58B0e5801-e0,1,kD4,ramlsfw
E: NAME="FULL HD 1080P Webcam"
E: PHYS="usb-0000:01:00.0-2/button"
E: PRODUCT=3/bda/58b0/5801
E: PROP=0
E: SUBSYSTEM=input
E: UDEV_LOG=3
E: USEC_INITIALIZED=41090223
카메라 사이에 다른 일들은 DEVPATH
, ID_PATH
, ID_PATH_TAG
, PHYS
그리고 (가장 흥미로운) USEC_INITIALIZED
. 이제 처음 네 가지 요소는 아마도 USB 포트와 관련이 있지만 마지막 요소는 USEC_INITIALIZED
일종의 일련 번호처럼 보입니다. 실제로 나타내는 내용에 대한 정보를 찾을 수 없습니다. 누구든지 그것에 대해 알고 있습니까? 나는 초기화 카메라하지만,이 하나가 된 후 초기화하는 카메라 때 어쩌면 마이크로 초 단위의 시간입니다 생각 USEC_INITIALIZED=17919751
, 그리고 그 이후의 일이 USEC_INITIALIZED=25609278
오히려 무작위 것 같다 있도록. 시스템을 재부팅하고 보려고하지만 편리한 시간을 기다려야합니다.
그리고 누군가 왜 카메라를 다시 연결하려고 시도하지 않는지 궁금해하는 경우 동일하게 유지되는지 확인하십시오. 답은이 PC를 원격으로 운영하고 있으며, 앞으로 일어날 모든 사건에 대해 시스템이 완전히 자율적으로 작동 할 수 있도록이 모든 것을 조사하고 있습니다. 예를 들어 USB 포트에서 카메라를 분리하는 것이 포함될 수 있습니다.