IPX800 v2, contrôle par M2M et HTTP

Bonjour

Toujours dans le cadre de mon développement d’automatisation d’observatoire à l’aide d’un IPX ( Commande M2M, relais non activé ), j’ai une demande d’un utilisant un IPX 800 v2. J’ai donc entrepris de modifier mon driver pour le rendre compatible. Ne possédant pas cette version j’ai développé un programme de test permettant de tester l’exécution des commandes que j’ai implémenté. Suite au retour que l’utilisateur m’a donné j’ai quelques questions :

  • Est-ce que l’IPX800 v2 supporte les commande HTTP ? A priori, selon la documentation de l’API je dirais non, mais il semble qu’il soit tout de même possible de connaitre l’état des entrées et sortie à l’aide du fichier status.xml
  • Y-a-t-il une commande permettant de récupérer la version du firmware ?

Cordialement

Julien

Bonjour,
Attention il y a une subtilité : pouvoir commander une IPX par HTTP et avoir son statut via le flux XML (status.xml) sont 2 choses différentes. Vous pouvez très bien accéder à un fichier status.xml sans pour autant pouvoir lancer des commandes HTTP pour piloter les sorties par exemple. Comme je ne connais pas bien la V2 je ne sais pas si elle accepte les commandes HTTP. Mais si elle ne les accepte pas ça ne veut pas dire qu’elle ne propose pas de flux XML.
Pour la version du firmware, vous l’avez dans la page de configuration de la carte, voir ci-dessous. En revanche à mon avis il n’existe pas de commande pour récupérer cette info en retour HTTP par exemple, ou en M2M.

Dans la v3 il y a une commande M2M « GetVersion » (du moins depuis la version 3.05.35) qui retourne le numéro de version.
le fichier status.xml contient aussi le numéro de version. A noté que depuis la version 3.05.42 il y a aussi un fichier globalstatus.xml qui est disponible en plus et qui contient pratiquement les mêmes informations.

Mon programme de test effectue les vérifications suivantes :

test de récupération de la version (par M2M et HTTP)

Dans le cas de la v2
J’obtiens :
en M2M : « ? Bad command », la commande n’est donc pas disponible.
en HTTP : « Unknown IPX800 firmware version », c’est un message que je renvoie si le numéro n’a pas pu être identifié. Pour le moment j’ignore pourquoi il y a trois possibilités :

  1. L’utilisateur n’a pas indiqué correctement son login/mot de passe (erreur 401)
  2. status.xml n’existe pas (erreur 404)
  3. le fichier status.xml ne contient pas le numéro de version ou alors le tag le contenant ne porte pas le même nom que dans les version plus récente.

Mais vu le résultat des tests suivants, je penche plutôt pour la variante 1. Mais cela n’exclut pas la possibilité des cas 2 ou 3 ensuite.

test des fonctions de récupération d’implémentation
Le problème est que les jeux de commande ou leur valeur de retour n’est pas le même dans tous les cas. Par exemple depuis la version 3.05.42 les commandes retournent OK alors que les versions précédente retournaient Success. ( Commande M2M, changement dans les valeurs de retour )
J’ai donc prévu la possibilité d’identifier le jeux de commande à utiliser sans que l’utilisateur n’ait à indiquer lui-même la version du Firmware.

test des entrées et sorties
Divers tests de lecture des entrées et activation/désactivation des relais.

Julien

Bonjour.

Je pense que la IPX V2 peut etre comandé en http.

Voici comment configurer des présets à l’infini grâce à des boutons pointant sur des liens:

Chaque led (de1 à 8 ) représente un relais et son état soit:

led1=0 (mettre le relais1 à 0)
led1=1 (mettre le relais1 à 1)

Le lien ci dessous met le relais1 à 1:

http://relayboard/preset.htm?led1=1

« relayboard » peux etre remplacé par l’adresse Ip de la carte)

Exemple:

IP de la carte = 192.168.0.1

Le lien devient:

http://192.168.0.1/preset.htm?led1=1

Vous pouvez changer l’état de plusieurs relais en mème temps,
pour cela il suffit de séparer chaque led par le signe &.

Exemple:

Ce lien met tous les relais à 1:

http://relayboard/preset.htm?led1=1&led2=1&led3=1&led4=1&led5=1&led6=1&led7=1&led8=1

Vous pouvez ainsi en modifiant la page preset.htm commuter les circuits de votre choix en rajoutant
simplement des boutons pointant sur ce type de lien.

Cordialement.

Effectivement, j’ai téléchargé l’archive correspondant à la v2 et j’ai aussi trouvé ces infos.

Aucune info dans la doc concernant le mode fugitif par contre.

Mais j’ai pu trouver les réponses en cherchant dans les source :

preset.htm?led1=1 : activation du relai 1
preset.htm?led1=0 : désactivation du relai 1
preset.htm?RLY1=1 : activation du relai 1 en mode fugitif

Julien

Bonjour

J’ai reçu la confirmation que ces commandes fonctionnent.