Skip to content

Senseurs

qpeten edited this page May 17, 2018 · 8 revisions

Principe

ELSA permet d'intégrer des données automatiquement (via des senseurs) ainsi que manuellement (via le concept de points de contrôle)

Les senseurs enregistrent automatiquement toutes les minutes les points de données.

Fonctionnement

Paramètres des capteurs

  • L'acronyme : nom unique représentant un senseur. Gardez-le court
  • Le nom : nom complet du capteur, dans les différentes langues
  • Le composant : la pièce, équipement ou encore récipient auquel le capteur est lié
  • La mesure : Permet de spécifier l'unité, le nombre de décimales à garder, etc.
  • Les paramètres d'alarme (min ---, min, typique, max, max+++) : Permet de spécifier les bornes auxquelles on veut être averti
  • Les délais : sont liés aux alarmes
  • Le canal : indique le type de senseur, du point de vue matériel
  • Les senseur et sous-senseur : liés au type de canal
  • Le type de valeur : permet de spécifier à quel type de valeur le senseur sort. (Doit rester sur float à priori.)
  • La formule : permet de spécifier une formule à appliquer au résultat du capteur
  • Le code barre :
  • La remarque : Un commentaire pour aider l'opérateur à s'y retrouver. Ne sera pas utilisé par ELSA.
  • Actif : Les capteurs désactivés sont cachés du menu et ne collectent pas de données.

Différents canaux

wire

Les capteurs 1-wire ou one-wire sont des petits capteurs digitaux utilisant 2 (ou 3) fils pour transmettre aussi bien les données que l'électricité nécéssaire au fonctionnement du capteur.

  • Senseur : spécifier l'identifiant du capteur 1-wire. Uniquement des chiffres et des lettres. Par exemple : 26D707A0010000.
  • Sous-senseur : Spécifier le champ de donnée à regarder. Par exemple : VAD ou humidity

http

ELSA peut récupérer des données en faisant un HTTP GET.

  • Senseur : spécifier l'url à laquelle ELSA peut faire un HTTP GET afin d'obtenir le JSON. Par exemple : http://my.datacenter.be/some/service/
  • Sous-senseur : idem JSON

json

ELSA peut récupérer des données sous format JSON.

  • Senseur : spécifier l'url à laquelle ELSA peut faire un HTTP GET afin d'obtenir le JSON. Par exemple : http://my.datacenter.be/some/service/
  • Sous-senseur : spécifier le nom de variable à interpréter, en sachant que les données sont sockées dans info. Par exemple : info[0]['t_dessus']

cputemp

(Raspberry pi 3 uniquement) Retourne la température du cpu. Devrait rester inférieur à ~70-80°C. Il n'est pas nécéssaire de la surveiller, mais ça peut être utile comme démo.

  • Senseur & sous-senseur : pas utilisé

Capteurs particuliers (device. et input.)

Afin de mesurer directement des valeurs analogiques ou digitales, ELSA intègre le support des divers chipsets MCP2xxx interfacés en I2C.

De manière générale : il faut indiquer dans le fichier de hardconfig (le .ini) une section qui gère le paramètre du device (le chipset) ainsi qu'une ou plusieurs sections input (un canal). Toutes les sections inputs se retrouveront dans le canal sur l'interface web.

Voir le github des configurations pour plus d'exemples.

Devices

ELSA support les MCP3424 (ADC différentiel), MCP3423 (ADC), MCP23017 (GPIO) ainsi que le board ExpanderPi de ABElectronics.

Exemple de section device:

[device.pcb01]
install = mcp23017
i2c = 0x20

pcb01 est le nom qui sert à référencer le device (utilisé dans la section input.)

install est le type de chipset. i2c est l'addresse du chipset. Certains chipset ont également une amplification analogique (permet de mesurer plus précisément des petites valeurs. Il n'est pas nécéssaire de diviser manuellement par après. Valeurs possibles : 1,2,4,8)

Inputs

Chaque section input définit un seul canal. Elle se trouvera dans le menu déroulant 'canal' à la page 'senseur' de l'interface web.

Exemple de section input :

[input.lightsensor2]
device = pcb01
channel = 2
resolution = 18

lightsensor2 est le nom qui va apparaître dans l'interface web. Il doit commencer par lightsensor ou humiditysensor. Un lightsensor fait une simple mesure analogique; un humiditysensor va d'abord stimuler le capteur en appliquant une tension sur une paire de fils, et ensuite de mesurer la tension.

device est le nom du device comme expliqué dans la section précédente. channel est le numéro du convertisseur ADC/GPIO (si il y en a plusieurs sur le même chipset.) resolution en bits de la lecture. Des valeurs couramment acceptées sont 8, 10, 12, 14, 18.

En plus de ces trois éléments, un humiditysensor va en plus avoir besoin d'un powerOutput le nom de l'output spécifié à la section suivante et d'un delayms qui est le délai de stimulation avant la lecture de la tension du capteur.

Outputs

Certains capteurs d'humidité requièrent une stimulation avant la lecture. Un output permet de spécifier quel GPIO utiliser à cette fin.

[output.humiditysensor6output]
device = mcp23017
channel = 11

Les champs sont les mêmes que dans les examples précédents.

Formule

Permet d'appliquer une fonction mathématique sur la valeur mesurée par le capteur (stockée dans la variable valeur). Par exemple : (valeur*1.02)+3

Clone this wiki locally