Jouons un peu : Watchgog : Expérience 2

De GCE Electronics
Aller à la navigation Aller à la recherche

Matériel nécessaire

Liste du matériel nécessaire :

  • une IPX800 V4

Prérequis

Vous devez avoir configuré le périphérique Watchdog de l'IPX800 V4 et réglé deux presets de Ping (Smartphone et Box Adsl). Si vous ne l'avez pas fait, vous êtes invité à retourner au chapitre "Prérequis".

Attention : si vous avez fait les exercices du chapitre précédent, vous devez

Balai.png * supprimer les scènes 1 et 2
* supprimer les widgets Indicateurs de sorties virtuelles
* supprimer les widgets de Pilotage de sortie virtuelle


L'Indicateur Watchdog peut rester sur le dashboard.

Expérience 2 : Comptage, chronométrage et reboot de la box Adsl

Nous voulons observer le nombre de fois que le watchdog s'active, ainsi que la durée d'un cycle.

Selon la documentation, nous connaissons 2 principes de base

  • le périphérique Watchdog passe à l'état ON lorsque le nombre de tentatives a été atteint et qu'elles se sont toutes soldées par un échec.
  • un intervalle de temps s'applique entre chaque tentative de ping.

Le temps nécessaire pour que le Watchdog passe à l'état ON avec nos réglages est de 1 seconde

Avec nos réglages, 1 ping est émis chaque seconde, nous nous contentons d'1 réponse pour déterminer l'accessibilité du dispositif connecté.
Le périphérique Watchdog est donc susceptible de changer d'état à chaque seconde (1x1).
Si nous avions réglé un intervalle de 3 secondes et 2 tentatives, notre Watchdog aurait un cycle de 6 secondes (3x2).

Dans notre cas, si le réseau local est coupé pendant quelques minutes, le périphérique passe ON dès que le périphérique n'est plus détecté (1 ping 1 seconde après coupure), pour ne repasser OFF qu'au rétablissement du réseau (1 ping 1 seconde après).

Sur cette constatation, il nous est impossible de connaître le nombre total de tentatives réalisées, ni la durée de l'indisponibilité du réseau. Si nous voulons mettre en place un système automatique de surveillance et de dépannage du réseau, nous aurons besoin de ces informations. Nous pourrions alors établir une durée maximale d'indisponibilité d'un matériel suite à laquelle ledit matériel serait redémarré.


Le chronomètre

Il nous faut un chronomètre pour déterminer la durée en secondes de l'indisponibilité du réseau.

Nous connaissons l'intervalle de temps entre chaque ping, le nombre de tentatives est donc équivalent au nombre de secondes passées, ce chrono nous servira donc également à "découper" le cycle du Watchdog en tentatives de Ping afin de les compter.

La base de temps ou métronome

chrono Pour créer notre chronomètre, nous avons d'abord besoin d'une base de temps d'une seconde Nous allons utiliser une sortie viruelle, que nous ferons "clignoter" toutes les secondes (Ta=0, Tb=1s).
Ce sera notre base de temps ou métronome.


Dans le menu Administrateur/Périphériques, allez paramétrer la sortie virtuelle n°1:

Ping 20

Pensez à sauvegarder (bouton en bas de l'écran).

Il faut un scénario pour faire "clignoter" la sortie virtuelle. Pour l'enchaînement des exercices, créons ce scénario en SCENE 5 ou supérieure.

Ping 21


Explication :

Si la sortie virtuelle 1 n'est pas active, nous l'activons par le scénario.

Grâce au paramètre Tb=1 seconde, la sortie virtuelle repasse automatiquement à l'état OFF au bout de 1 seconde,

C'est cet évènement que nous utiliserons comme déclencheur dans nos scénarii à venir.

Le scénario ci-dessus réactive sans cesse la sortie virtuelle. Nous avons fabriqué une sorte de métronome .

Le chronomètre : compteur de temps

Chrono.png Notre chronomètre sera créé à l'aide d'un compteur qui sera incrémenté au rythme du métronome.

Les compteurs

Nous allons mettre 3 compteurs en place :

  • le 1er pour le chronomètre, comme vu au dessus,
  • le second pour compter les Pings en échec (à raison d'un ping par seconde),
  • le troisième pour compter les Pings aboutis (à raison d'un ping par seconde).

Dans le menu Administrateur/Périphériques, initialisez vos compteurs comme suit :

ping 22


Pings en échec

Nous savons que le périphérique Watchdog passe à l'état ON pour un Preset lorsque toutes les tentatives de pings ont été vouées à l'échec. Nos réglages nous permettent de savoir qu'une tentative a lieu chaque seconde. Il suffit donc de compter les secondes pour connaitre le nombre de tentatives.


Ecrivez le scénario en SCENE 1: Nous allons utiliser notre métronome. Chacun de ses passages à l'état OFF incrémentera le compteur de Pings en échec. Nous n'oublierons pas d'incrémenter notre chronomètre. Ce scénario devra donc obligatoirement être placé avant la SCENE 5 qui réactive la sortie virtuelle n°1, sinon, il ne sera jamais exécuté. C'est pourquoi nous l'avons mis en SCENE 1.

ping 23c


Pings aboutis

Nous savons que le périphérique Watchdog passe à l'état OFF pour un Preset lorsque toutes les tentatives de pings ont abouti.

Comme ci-dessus, nous allons compter les secondes pendant l'état OFF du périphérique Watchdog pour incrémenter le nombre de pings.

Nous ne souhaitons pas chronométrer le temps de disponibilité du matériel sur le réseau, nous n'incrémenterons pas le chronomètre. Nous devrons utiliser le bloc "NON" afin d'inverser la logique de l'évènement qui doit être VRAI lorsque l'état du périphérique Watchdog est OFF. Ce scénario devra également être placé avant la scène de réactivation en SCENE 5 de la sortie virtuelle n°1.

Vous le placerez en SCENE 2 :

ping 24

Lorsque le périphérique Watchdog change d'état, il faut penser à remettre le chronomètre et les compteurs de pings à zéro.

Ecrivez la SCENE 3 :

ping 25

L'affichage

Nous avons 3 compteurs à afficher. Nous allons créer un widget pour chacun d'eux.

Sur le tableau de bord, ajoutez un Widget du type "Compteur" et sélectionnons le compteur n°2 (Pings OK)

Ping 26

Faisons de même pour le compteur 3 (Pings KO) et le compteur 1 (Chrono)

Nous obtenons cet ensemble :

Ping 27

Sur la capture d'écran vous constatez que le comptage des pings vers mon smartphone a commencé automatiquement, et s'incrémente à chaque seconde.

Comme nous l'avons vu plus haut, le périphérique Watchdog fonctionne dès que l'intervalle est réglé avec une valeur différente de zéro.

Les Presets étant créés, l'IPX800 a lancé les pings automatiquement.

Si je coupe le wifi sur mon smartphone, voici ce que j'obtiens :

Ping 28

Le compteur de pings en échec s'incrémente à chaque seconde, de même pour le chronomètre.

Exercice 1

Coupez et rétablissez le wifi sur votre smartphone, observez l'évolution des compteurs.

Exercice 2

  • Réglez l'intervalle entre 2 pings sur 10 secondes, et réglez le nombre de tentatives à 4 sur le Preset 1.
  • modifiez la sortie virtuelle n°1 en lui mettant un paramètre Tb=10s (équivalent à l'intervalle entre 2 pings)
  • En scène 4, ajoutez un scénario qui incrémentera le compteur 4 à chaque activation du Watchdog.
Evènement : Watchdog (Ping 1)
Action : [ON]
Résultat : Compteur 4 (incrémentation valeur=1)
  • Ajoutez un widget pour le compteur 4
  • Coupez et rétablissez le wifi sur votre smartphone, observez l'évolution des compteurs.


Que constatez vous ?

Vous devriez constater que le Watchdog passe à l'état ON lorsque les 4 tentatives ont échoué. Cela prend entre 40 et 50 secondes (4 à 5 fois l'intervalle) Pour repasser OFF, le délai n'est que de 10 à 20 secondes. Nous voyons bien que le nombre de tentatives influe directement sur le délai de passage à l'état ON. Le watchdog repasse OFF dès qu'un ping obtient une réponse.

A la fin de l'exercice, rétablissez le nombre de tentatives à 1 sur le Preset n°1 du Watchdog. Rétablissez le Tb=1s sur la sortievirtuelle n°1.

Passez à l'étape suivante

Watchdog - Expérience 3 : pilotage d’un relais