Nous avons vu récemment comment utiliser l'IPX-800 V3 en mode autonome, nous allons maintenant voir comment récupérer/intégrer dans une Zibase, les mesures faites par une sonde connectée à l'IPX-800.
Pour ce faire nous allons connecter la sonde SHT-X3 conçue par GCE Electronics, en fait il s'agit de 3 sondes réunies sur une carte : capteur de température, capteur d'humidité et capteur de lumière.
Voici à quoi ressemble cette sonde :

Sonde HT-X3 de GCE Electronics
[button color="green"] La sonde SHT-X3[/button]
a) Caractéristiques
Ci-dessous les caractéristiques, telles qu'indiquées sur le site de GCE Electronics.
CAPTEUR D'HUMIDITÉ:
- Mesure de 0 à 90 % RH
- Précision 3%, Résolution 1%
- Résistant à la condensation (utilisable en salle d'eau par exemple)
- Capteur Honeywell de précision HIH5031.
- Compensé en température (sur IPX800 v3).
- Sortie linéaire en tension (0 / 3.3v)
CAPTEUR DE TEMPÉRATURE TC5050:
- Mesure de -50 à +50°c.
- Précision 2°, résolution 0.1°.
- Sortie linéaire en tension 0/3.3v.
CAPTEUR DE LUMINOSITÉ
- Mesure de 0 à 100% dans le spectre de la lumière visible. (voir doc LS100)
- Sortie Linéaire en tension 0/3.3vdc
b) Connexion à l'IPX-800

Connexions SHT-X3 IPX800 V3
[button color="green"] Configuration de l'IPX-800[/button]

IPX800 : Configuration des entrées analogiques

IPX800 : Affichage des mesures
[button color="green"] Intégration des sondes à la Zibase[/button]
a) Le fichier status.xml de l'IPX-800

IPX800 : Fichier status.xml
b) Les sondes virtuelles de la Zibase

Zibase : Les sondes virtuelles
c) Le calcul des valeurs des sondes : conversion pour la Zibase
En cherchant sur le forum de GCE Electronics, j'ai trouvé les formules de conversion des mesures analogiques comprises entre 0 et 1023, en fonction du type de sonde :

IPX800 : Calcul des valeurs de sondes
Prenons le cas de la température :
- Nous avons retenu que la valeur passée à la sonde virtuelle de la Zibase doit être multipliée par 10 (passée en 1/10 de degrés)
- Par ailleurs, l'aide en ligne de la Zibase dit ceci :
- pré_offset et post_offset doivent être des entiers, le coefficient est flottant à 3 décimales.
- On peut traduire par :
- I0 = (( valeur lue + pré_offset) * coefficient) + post_offset
- I0 = (( valeur lue + pré_offset) * coefficient) -> nous laissons tomber le post_offset. Nous l'utiliserons si nous constatons un décalage entre les valeurs mesurées par la sonde et un thermomètre de référence situé au même endroit.
- La formule récupérée sur le forum devient donc :
- Valeur calculée = i0 = ((valeur lue * 0,00323) - 1,63) / 0,00326 (on a multiplié par 10 !)
- i0 = ((valeur lue * 0,00323) - 1,63) / 0,00326
- io / 0,00323 = (valeur lue - (1,63 / 0,00323) / 0,00326
- io = (valeur lue - 504,64) * 0,00323/0,00326
- i0 = (valeur lue - 504,64) * 0,99079
- i0 = (valeur lue - 505) * 0,991
- -505 est donc le pré_offset et 0,991 est le coefficient. Nous utiliserons ces valeurs dans le scénario de la Zibase.
- Mais avant procédons à une vérification. Pour cela j'ai fait varier la température et pour chaque mesure, j'ai relevé la mesure affichée par l'IPX800 ainsi que la valeur mesurée dans le fichier XML. Pour chaque valeur, j'ai ensuite refait le calcul avec la formule i0 = (valeur lue - 505) * 0,991, ce qui donne le tableau suivant :
Vérification des calculs |
Valeur analogique lue |
711 |
727 |
730 |
731 |
733 |
739 |
841 |
847 |
855 |
874 |
Valeur affichée par IPX800 |
20,4° |
22,0° |
22,3° |
22,4° |
22,6° |
23,2° |
33,3° |
33,9° |
34,7° |
36,7° |
Valeur calculée pour i0 |
204 |
220 |
223 |
224 |
226 |
232 |
333 |
339 |
347 |
367 |
d) Le scénario complet

Zibase : le scénario complet
e) Création du périphérique dans la Zibase

Zibase : Récupération de l'ID de sonde virtuelle dans le relevé d'activité

Zibase : Création du périphérique
f) Affichage des mesures dans l'interface Zibase

Zibase : Affichage dans l'interface

Pascal CARDON | mai 20, 2015 à 7:00 | Tags: IPX800, zibase | Catégories: Blog, TUTORIELS | URL: http://wp.me/p24ltL-cdC
|