Bonjour,
Je viens solliciter l’aide de plus expérimentés que moi pour accéder à des infos de configuration d’un équipement (en l’occurrence une caméra IP) via l’IPX800 V4.
Le cas concret est sur la configuration NTP de ma caméra. Mais il doit être transposable sur d’autres cas. J’explique.
Une requête HTTP envoyée directement à ma caméra depuis un navigateur me retourne un fichier texte du type :
var ntpenable="1";
var ntpserver="URL ou IP du serveur NTP";
var ntpinterval="1";
N’étant ni au format JSON, ni au format XML, ces données ne sont pas reconnues comme sources de données dans l’IPX.
J’arrive à faire afficher ce texte dans un iframe avec le code suivant dans un widget HTML
Statut NTP caméra Wanscam<br><br>
<div style="background-color: #ffff00; margin-left:10px; margin-right:10px">
<iframe
src="http://IP_Cam:Port/hi3510/param.cgi?cmd=getntpattr&usr=login&pwd=password"
frameborder="0"
scrolling="no""
width="100%" height="70"
sandbox>
</iframe>
</div>
La lecture du texte me permet déjà de savoir si la caméra est bien configurée sur le bon serveur NTP (ou si elle l’a perdu à l’occasion d’un reboot ou autre). Mais ce n’est pas des plus esthétique.
J’aimerais bien aller plus loin en pouvant analyser le contenu du texte renvoyé par la requête HTTP et en fonction de l’URL du serveur NTP renvoyée faire afficher un message sur sa conformité à mes attentes ou non.
Il faudrait pour cela que je puisse récupérer le contenu de ce petit fichier texte dans une variable JS pour l’analyser et tester la présence d’une certaine chaîne de caractère.
C’est là où je bute car je ne sais pas comment faire… Mes espoirs se portaient sur la commande XMLHttpRequest
, mais elle est visiblement refusée quand elle est exécutée depuis une page de l’IPX (problème d’accès « cross-domain », je comprends le principe de cette sécurité mais ne sais pas la contourner, ni même si c’est possible, tout ce que j’ai lu sur le Net à ce sujet me semble très compliqué à mettre en oeuvre).
Je sollicite donc l’aide de développeurs chevronnés pour m’aider à résoudre cette difficulté.
Dans un 2e temps cela pourrait déclencher une action d’une façon ou d’une autre (en faisant par exemple basculer une entrée virtuelle de l’IPX qui via un scénario enverrait un PUSH vers la caméra pour la remettre sur le bon serveur si elle l’a perdu). C’est ce que je fais actuellement à la main via une entrée virtuelle « bouton » qui est surveillée dans une scène et envoie une requête PUSH vers ma caméra pour la remettre d’équerre si nécessaire.
Merci d’avance à ceux qui pourront m’aider.
Bien à vous