6
votes

Caméra IP, comment le détecter sur le réseau?

Je crée un programme pour parler à une caméra IP, de ce modèle:

CVUL-I125

Ceci possède une interface Web simple et je l'ai parlé avec succès afin de le contrôler et de saisir des vidéos et des instantanés de celui-ci.

Cependant, je ne trouve aucune bonne documentation sur la manière de détecter que cet appareil photo est sur le réseau, ni quelle adresse IP particulière elle a.

Jusqu'à présent, le seul outil que j'ai trouvé, c'est le logiciel Windows groupé.

Je suppose (espérer!) Il y a un meilleur moyen que d'itération de toutes les adresses IP dans la plage et de voir s'il y a quelque chose qui ressemble à l'interface de la caméra là-bas.

Est-ce que quelqu'un sait comment faire cela?

Y a-t-il une API connue pour ce genre de chose?

Notez que puisque c'est une caméra ip , il ne se connecte pas directement à mon ordinateur, et il n'y a donc rien installé localement, je peux parler.

Voici quelques détails:

  • La caméra et le logiciel que je fais seront vendus, ce qui signifie que je ne peux pas compter sur un type particulier de configuration à la place des clients, à l'exception du travail DHCP
  • L'appareil photo n'a pas de documentation API que je peux trouver, si quelqu'un a plus fort Google-Fu que moi sur ce score, s'il vous plaît éclairer moi
  • La caméra a une assistance DHCP, elle se connecte donc avec succès au réseau, la question est de savoir comment je peux le trouver de manière fiable après
  • Je ne sais pas si elle a un nom d'hôte, la documentation ne dit rien et mon propre serveur DHCP ne répertorie que l'adresse MAC pour elle

0 commentaires

3 Réponses :


0
votes

Ce que vous voulez, c'est lire les options DHCP que cette caméra de réseau devrait passer. Typiquement tout dispositif de consommation émettra sa chaîne d'identifiant de fournisseur dans l'option 43 des paquets DHCP. Interface avec votre serveur DHCP et vous pouvez avoir le serveur DHCP vous envoyer une notification lorsque la caméra a été connectée au réseau.

Cette procédure est différente pour chaque fournisseur DHCP. Savez-vous ce que DHCP fonctionnera sur le réseau?

sinon je suggère d'installer un simple DHCPD. Il devrait être facilement configurable pour réagir à la valeur option 43 appropriée et revenir à votre application.


1 commentaires

Ce serait probablement une bonne solution si la caméra et le logiciel fonctionnaient uniquement sur mon réseau, mais j'ai l'intention de vendre le programme groupé avec la caméra, et je ne peux donc pas compter sur le serveur DHCP travaillant avec moi, du moins pas si cela Dépend du type de serveur DHCP et / ou de la configuration du client.



0
votes

On dirait que cela utilise DHCP (sinon, il ne serait pas du tout sur votre réseau).

J'utilise cet outil tout le temps:

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

L'API de découverte serait d'écouter sur le port DHCP 68 lorsque la caméra essaie de se connecter au réseau. Je prendrais juste une trace Wireshark ou utiliser l'outil IP-Scan ci-dessus.


1 commentaires

Il utilise DHCP. On dirait que cette méthode ne fonctionnerait que si j'exécute le programme lorsque la caméra se connecte, qu'en est-il de l'inverse? Dans mon cas, la caméra sera vendue à un client avec le logiciel et, tandis que la caméra sera probablement connectée tout le temps, le logiciel pourrait ne pas. J'espère pouvoir créer une fonction d'autodiscovery pour éviter une grande partie du souci de support avec les clients qui ne configurent pas correctement leur appareil photo.



7
votes

Selon le lien que vous avez fourni, cette caméra est capable de UPNP.

UPNP est un protocole qui a plusieurs méthodes pour la découverte / la recherche:

Votre code doit jouer des paquets UDP multidiffusion en tant que demandes de recherche. Vos périphériques UPNP répondront (en fonction de la configuration) avec des réponses de recherche UPnP qui sont des paquets UDP Unicast.

Les réponses de recherche UPNP contiennent une URL HTTP pour permettre la récupération d'une description XML du périphérique. L'hôte de l'URL HTTP est généralement les appareils IP / Nom d'hôte.

Jetez un coup d'œil sur le UPNP Spec .

Vous ne dites pas quel système d'exploitation / langue que vous utilisez - donc juste une petite liste d'API et de bibliothèques:


6 commentaires

Cela semble très prometteur. Je n'ai pas pensé à UPNP du tout. Je vais regarder dans ça! Je tiendrai à accepter votre réponse pour le moment, jusqu'à ce que je l'ai confirmé, mais cela a l'air puissant.


@ Lassev.karlsen mis à jour avec le lien vers APIS / Bibliothèques ...


Je vais la mettre en œuvre dans IOS, via MonoTouch (mono), j'ai donc probablement besoin de code source en syntaxe C # pour pouvoir l'utiliser. Heureusement, je n'ai probablement pas besoin de mettre en œuvre toute la pile UPNP, uniquement les parties liées à la découverte.


@ Lassev.karlsen Il existe des SDK disponibles pour iOS (bien que surtout commercial) mais ici < / a> Vous pouvez trouver une liste de SDKS UPNP (commercial et open source) ... peut-être cela aide-t-il d'une manière ou d'une autre ...


Alors que de nombreuses caméras utilisent la partie SSDP de UPNP pour la découverte, d'autres utilisent WS-Discovery pour ONVIF Control. Toujours d'autres utilisent des MDNS (Bonjour). La meilleure chose à propos des normes est qu'il y a tellement de choix. Il y a ensuite les voleurs qui utilisent un protocole propriétaire pour la découverte. :(


@Yahia Savez-vous d'une implémentation de plate-forme croix C ++ qui fonctionnerait à la fois sur Android et iOS?