Cours:LPTraitDonnee2 : Différence entre versions
(→Exercice 3) |
(→Exercice 3) |
||
Ligne 55 : | Ligne 55 : | ||
=== Exercice 3 === | === Exercice 3 === | ||
+ | Des erreurs peuvent venir perturber aléatoirement les mesures. Il s'agit ici d'identifier deux types de perturbation (bruit) et de chercher à les corriger (filtrage). | ||
− | + | # Les topic <code>elec/general/courant/i1b1</code> et <code>elec/general/courant/i1b2</> publient des versions bruitées du courant publié dans le topic <code>elec/general/courant/i1</code>. Afficher ces trois courants dans des graphes, puis essayer de caractériser les deux bruits. | |
− | # | + | # Pour les corriger, il va s'agir de filtrer les données en temps réel dans un nœud de type "function". Deux filtres vont être mis en œuvre : un filtre linéaire (la moyenne) et un filtre non-linéaire (la médiane). |
− | # | + | ## Il s'agit dans un premier temps de réaliser la moyenne des trois dernières valeurs. Voici le code du nœud qui réalise cette opération : |
Version du 26 avril 2022 à 15:19
Sommaire
Traitement temps réel de données avec NodeRed
L'objectif de cette partie est d'approfondir l'écriture de bloc NodeRed en Javascript.
Données utilisées
L'IUT est équipé depuis peu de modules de mesure en temps réel de la consommation électrique. Ces mesures sont publiées sur le serveur MQTT d'adresse 10.98.35.245. Voici les topics utilisés :
Topics MQTT mesure consommation électrique IUT
elec/general/courant/i1 elec/mmi/courant/i1 elec/geii/courant/i1 elec/gmp/courant/i1 elec/appartements/courant/i1 elec/batA/courant/i1 elec/batE/courant/i1 elec/chaufferie/courant/i1 elec/general/courant/i2 elec/mmi/courant/i2 elec/geii/courant/i2 elec/gmp/courant/i2 elec/appartements/courant/i2 elec/batA/courant/i2 elec/batE/courant/i2 elec/chaufferie/courant/i2 elec/general/courant/i3 elec/mmi/courant/i3 elec/geii/courant/i3 elec/gmp/courant/i3 elec/appartements/courant/i3 elec/batA/courant/i3 elec/batE/courant/i3 elec/chaufferie/courant/i3
- La nomenclature est la suivante :
elec/[bât]/courant/i{1,2,3}
. - Le courant est triphasé :
i1
,i2
eti3
désignent les courants de chaque phase. - Les courants sont donnés en mA.
Travail à faire
Exercice 1
- Vérifier que vous arrivez à lire, dans un terminal, les données de consommation
- Lire le guide suivant (Javascript en NodeRed) et reproduire les exemples proposés. Plusieurs techniques seront utiles pour la suite (
join
etcontext
par exemple) : http://noderedguide.com/node-red-lecture-5-the-node-red-programming-model/
Exercice 2
- Tracer dans un graphe la consommation en temps réel de l'iut (
general
). - Calculer la valeur moyenne de la consommation (par exemple sur une heure, sur cinq minutes). Afficher cette valeur.
Exercice 3
Des erreurs peuvent venir perturber aléatoirement les mesures. Il s'agit ici d'identifier deux types de perturbation (bruit) et de chercher à les corriger (filtrage).
- Les topic
elec/general/courant/i1b1
etelec/general/courant/i1b2</> publient des versions bruitées du courant publié dans le topic <code>elec/general/courant/i1
. Afficher ces trois courants dans des graphes, puis essayer de caractériser les deux bruits.
- Pour les corriger, il va s'agir de filtrer les données en temps réel dans un nœud de type "function". Deux filtres vont être mis en œuvre : un filtre linéaire (la moyenne) et un filtre non-linéaire (la médiane).
- Il s'agit dans un premier temps de réaliser la moyenne des trois dernières valeurs. Voici le code du nœud qui réalise cette opération :