Mesures électriques et IOT

Mesures électriques et IOT

Membres du groupe :

Joël BAVERA MVOU

Anas BOUHSSINE

Marouane MEHDAOUI

 

Tables des matières

1)Présentation du projet

2)Recherche d’une solution

3)Réalisation

 

1)Présentation du projet

 

a)Projet

Le projet mesure électrique et IOT consiste à calculer la puissance consommée par des appareils électriques branchés à un compteur, et d’envoyer ces données vers un serveur. Pour mener à bien ce projet il est nécessaire d’étudier le fonctionnement de chaque module (Raspberry pi, compteur…). Des notions du langage Python seront nécessaires pour la  programmation de notre Raspberry pi.

b) cahier des charges

Définition du besoin :

Fonctions principales :

C) liste du matériel

Pour la réalisation de notre projet , nous avons utilisé principalement un compteur Velleman emdin 02 , une Raspberry pi 3 , une résistance et des câbles wire jumper.

 

Compteur Velleman EMDIN02

 

Raspberry pi 3

2) Recherche d’une solution

Les appareils dont nous voulons étudier la consommation seront branchés sur un compteur électrique. Nous devons donc trouver un moyen de connecter le compteur électrique et la Raspberry pi 3 afin de récupérer  les impulsions, fondamentales pour la réalisation de notre projet.

Langage python : pour la partie informatique de notre projet nous avons utilisé le langage Python. Nous avons donc appris les bases de ce langage avons de débuter la réalisation de notre projet

Compteur électrique : le compteur Velleman emdin 02 est un compteur monophasé utilisé pour mesurer la consommation d’énergie active. Il dispose d’un indicateur LED qui clignote à chaque impulsion. Il libère en sortie 1000 impulsions par KWH consommé d’une tension entre 12 et 27 V.

 

Raspberry pi 3 : Le Raspberry Pi est un nano ordinateur de la taille d’une carte de crédit. Il fonctionne avec différentes versions du système d’exploitation Linux, en effet, la plus utilisée est Raspbian. Le Raspberry Pi 3 qui comporte 3 Ports USB et une prise Ethernet. On peut voir qu’il dispose également de ports GPIO qui peuvent être utilisés comme entrée/sortie. Il est également équipé d’une carte Wifi et du Bluetooth. Nous allons donc pouvoir récupérer les impulsions grâce aux ports GPIO.

 

Conversion d’Impulsion :

 

La figure  illustre une sortie d’impulsion. La largeur d’impulsion T_high varie en fonction du compteur. Certains compteurs de sortie d’impulsions permettent de régler T_high. T_high reste constant pendant le fonctionnement. Pour notre compteur T_high est 90ms. Le temps entre les impulsions T_low est ce qui indique la puissance mesurée par le compteur.

3600 secondes par heure = 3600 J par impulsion, c’est-à-dire 1 Wh = 3600 J. D’où la puissance instantanée P = 3600 / T où T est le temps entre le front descendant de chaque impulsion. Plus le temps entre deux impulsions est court plus la puissance est grande.

 

3) Réalisation

A) Câblage du système

Le câblage de notre système se présente comme ci-dessus. Nous avons utilisé des câbles wire jumper et une résistance de 10 k Ω pour réduire la tension de sortie du compteur car elle est trop grande pour être supporter par la raspberry pi.  Nous avons relié un câble a l’alimentation  puis un autre la masse et enfin le dernier à un port GPIO (utilisé pour récupérer l’impulsion).

b) Prise en main informatique

Nous avons établis un code sur python qui nous permet de détecter des fronts descendants, le moment auquel ils sont détectés. Il nous fournit aussi la durée écoulée entre chaque front descendant et la puissance instantanée correspondante.

 

c)transmission de l’index

La transmission des données repose sur le protocole HTTP du Web. Dans la spécification du protocole HTTP, GET permet à un capteur (= client Web = objet connecté) de demander une page Web en lui transmettant des paramètres. Les paramètres sont :

  • id : identifiant de l’objet connecté (client web) qui est OBLIGATOIRE (entier),
  • dt : instant de mesure (datetime),
  • nc : valeur de son compteur interne (entier),
  • st : son status (entier),
  • var1 à var20 : valeurs numériques à stocker (float).

 

Voici le script en python pour y envoyer des données

 

import urllib2

ff = urllib2.urlopen(‘PP’)

print ff.read()

 

PP étant le lien comportant les données à envoyer.

Voici un exemple : http://www.mmi.iutmulhouse.uha.fr/einsert.php?id=0007&dt=2017-10-16 19:28:26&nc=33&st=77&var1=145003&var2=10&var3=11 … &var18=77&var19=47&var20=747 C’est donc ce procédé que nous avons utilisé pour la transmission de nos données

d) affichage graphique

Pour l’affichage graphique nous avons utilisé la librairie Matplotlib.

Nous avons généré un graphique traduisant la puissance instantanée en fonction du temps.

En abscisse nous avons le temps et en ordonnées les puissances instantanées correspondantes.

e) sauvegarde

Nous avons mis en place un moyen de sauvegarder nos données (puissances instantanée et temps associés) dans un fichier csv à l’aide du langage python.

CONCLUSION

Nous avons acquis des connaissances très importantes dans le domaine de l’IOT. Ainsi nous maîtrisons à présent le langage python mais également le Raspberry Pi qui peut s’avérer très utile. C’est un projet qui nous a permis de travailler en équipe et de faire face à certains conflits .Nous n’y seront pas arrivé sans l’aide et le soutien de Mr. WIRA, Mr. CUDEL et MR BAZEILLE qui nous ont assistés et conseillés tout au long de notre projet.