2012-02-06 15 views
5

Estoy creando un programa para hablar a una cámara IP, de este modelo:Cámara IP, ¿cómo detectarlo en la red?

CVUL-I125

Esto tiene una simple interfaz web y he hablado con éxito a ella con el fin de controlarlo, y el vídeo de agarre e instantáneas de ella.

Sin embargo, no puedo encontrar ninguna buena documentación sobre cómo detectar que esta cámara está en la red, ni qué dirección IP particular tiene.

Hasta ahora, la única herramienta que tengo es el paquete de software de Windows.

Supongo (¡espero!) Que hay una manera mejor que simplemente iterar sobre todas las direcciones IP dentro del alcance y ver si hay algo que se parece a la interfaz de la cámara allí.

¿Alguien sabe cómo hacer esto?

¿Hay una API conocida para este tipo de cosas?

Tenga en cuenta que, dado que es una cámara IP, no se conecta directamente a mi computadora y, por lo tanto, no hay nada instalado localmente con el que pueda hablar.

Éstos son algunos detalles más:

  • La cámara y el software que estoy haciendo va a ser vendido, lo que significa que no puedo depender de ningún tipo de instalación en el lugar de los clientes, excepto para trabajar DHCP
  • La cámara no tiene documentación de API que pueda encontrar, si alguien tiene google-fu más fuerte que yo en ese aspecto, por favor aclareme
  • La cámara tiene compatibilidad con DHCP, por lo que de hecho se conecta a la red con éxito, La pregunta es cómo puedo encontrarlo confiablemente después
  • No sé si tiene un nombre de host, la documentación no dice nada y mis propias listas de servidores DHCP sólo la dirección MAC para que
+1

Tenga en cuenta que si bien voy a programar en contra de esto, no estoy del todo seguro de que esta es una buena pregunta para SO, pero no estoy del todo seguro de que SU o cualquier otro sitio es bueno eithe r. –

Respuesta

6

Según el enlace que proporcionó esta cámara es capaz de UPnP.

UPnP es un protocolo que tiene varios métodos para la detección de dispositivos/Búsqueda:

El código debe multidifusión paquetes UDP como las solicitudes de búsqueda. Sus dispositivos UPnP responderán (según la configuración) con respuestas de búsqueda UPnP que son paquetes de difusión única UDP.

UPnP Search Responses contiene una URL HTTP para permitir la recuperación de una descripción XML del dispositivo. El host en la URL HTTP generalmente es el dispositivo IP/nombre de host.

Eche un vistazo a UPnP spec.

Usted no dice qué sistema operativo/idioma que está utilizando - por lo que sólo una pequeña lista de APIs y bibliotecas:

+0

Esto suena * muy * prometedor. No pensé en UPnP en absoluto. ¡Voy a mirar en esto! Voy a retrasarme en aceptar tu respuesta por el momento, hasta que haya confirmado esto, pero esto parece muy prometedor. –

+0

@ LasseV.Karlsen actualizado con el enlace a APIs/libraries ... – Yahia

+0

Voy a implementar esto en iOS, a través de MonoTouch (Mono), probablemente necesitaré el código fuente en sintaxis C# para poder usarlo. Afortunadamente, probablemente no necesite implementar toda la pila UPnP, solo las partes relacionadas con el descubrimiento. –

0

Lo que se quiere es leer las opciones de DHCP que esta cámara de red debería pasar. Normalmente, cualquier dispositivo de consumo dará salida a su cadena de identificador de proveedor en la opción 43 de los paquetes DHCP. Interfaz con su servidor DHCP, y puede hacer que el servidor DHCP le envíe una notificación cuando la cámara se haya conectado a la red.

Este procedimiento es diferente para cada proveedor de dhcp. ¿Sabes qué DHCP se ejecutará en la red?

De lo contrario, sugiero instalar un DHCPd simple. Debe ser fácilmente configurable para reaccionar al valor de la opción 43 adecuada y responder a su solicitud.

+0

Esto probablemente sería una buena solución si la cámara y el software se ejecutaran solo en mi red, pero tengo la intención de vender el programa incluido con la cámara, y por lo tanto no puedo confiar en que el servidor DHCP trabaje conmigo, al menos no si depende del tipo de servidor DHCP y/o configuración que tenga el cliente. –

0

Parece que usa DHCP (de lo contrario, no estaría en su red en absoluto).

que utilizan esta herramienta todo el tiempo:

http://www.angryip.org/w/Home

El "API Descubrimiento" habría que escuchar en el puerto 68 de DHCP cuando la cámara intenta conectarse a la red. Solo tomaría un trazo de Wireshark, o usaría la herramienta de escaneo ip referida anteriormente.

+0

Utiliza DHCP. Parece que este método solo funcionaría si estoy ejecutando el programa cuando la cámara se conecta, ¿qué pasa al revés? En mi caso, la cámara se venderá a un cliente junto con el software, y aunque la cámara probablemente estará conectada todo el tiempo, es posible que el software no lo haga. Espero poder crear una característica de autodescubrimiento para evitar gran parte de la molestia de soporte cuando los clientes no configuran su cámara correctamente. –

Cuestiones relacionadas