Vous êtes sur la page 1sur 11

Projet 1

RÉALISATION D’UNE
STATION MÉTÉO CONNECTÉ

Enseignante: Mme Wafa AMMAR


Présentation
 Ce projet consiste à réaliser une station météo connecté pour l’acquisition
des données grâce à des capteurs de température, d’humidité et détecteur
de pluie, tous réunis sur une même plaque électronique.
 Les données récupérées sont traitées par une unité de traitement à base
d’une carte ESP32.
 Cette carte permet de transférer les différents paramètres vers une
application Android sur smartphone ou tablette grâce à une liaison wifi.
Ce transfert se fait à l’aide d’une plateforme IOT. Dans notre cas, on va
utiliser la plateforme gratuite « Thing Speak »
Préparation du projet
Carte ESP32
Câble USB
Matériels: Plaque d’essai
Capteur DHT111
Détecteur de pluie
Fils jumper

Application Android:

Réaliser une IHM simple d’un objet connecté.


Plateforme iot:
ThingSpeak : qui permet de stocker et de collecter les données des objets connectés en passant par le protocole HTTP
Quelques conseils
 Pour assurer le bon déroulement du projet, il est
préférable de tester capteur par capteur.
 Fonctionner le capteur en mode circuit automatisé
puis le rendre connecté en utilisant la plateforme gratuite
« ThingSpeak »
Capteur DHT11
1. Mesurer la température/humidité
from machine import Pin

from time import sleep

import dht

sensor=dht.DHT11(Pin(5))

while True:

sleep(1)
Câblage
sensor.measure()

temp=sensor.temperature()
DHT11 ESP 32

hum=sensor.humidity()
+ 3V

print('temperature=',temp,'°C')
out D5

print('humidité=',hum,'%')
- GND
Capteur DHT11
2. envoyer les 2 valeurs du ESP32 vers la plateforme
d'IoT Thingspeak.
import urequests as requests
from machine import Pin sensor = dht.DHT11(Pin(5))
while True:
from time import sleep
sensor.measure()
import network temp = sensor.temperature()
import dht hum = sensor.humidity()
ssid = ‘******'
print('Temperature: %3.1f C' %temp)
password = ‘********'
print('Humidity: %3.1f %%' %hum)
station = network.WLAN(network.STA_IF)
station.active(True) url="https://api.thingspeak.com/update?api_key=378IIPOSS8D
station.connect(ssid, password) D7W50&field1="+str(temp)+"&field2="+str(hum)
while station.isconnected() == False:
rpass
= requests.get(url)
r.close()
print('Connection successful')
print(station.ifconfig()) sleep(3)
Capteur DHT11
3.Appinventor pour récupérer les 2 valeurs du
température et humidité
Remarque:
Vous pouvez créer votre application mobile selon le choix.
Vous êtes libres dans le choix des textes ou des images.

Pour récupérer les données à partir du plateforme d’IOT « ThingSpeak »,


il faut créer les composants suivants:

• Label 1 est nommé « val_hum » pour récupérer la valeur de l’humidité


• Label 2 est nommé « val_temp » pour récupérer la valeur de température
• Composant de connectivité Web (composant invisible)
• Importer l’extension JsonUtils (composant invisible) qui est responsable à
l’échange de données
Interface graphique
Code Appinventor
Explication

- Appeler la variable web sachant que


l’URL utilisé c’est l’URL de lecture
pris du plateforme IOT Thing speak.
- Initialiser la variable « rep » à ‘’ ‘’
(chaîne vide)
- « rep » est une variable qui contient
deux valeurs (la valeur temp et la
valeur hum)
- Récupérer les 2 valeurs temp et hum
à partir de field1 et field2.
- Afficher le contenu de ces 2 valeurs
dans les 2 Labels: val_temp et val_hum
Capteur DHT11 + Détecteur de pluie
1. Détecter la présence d’eau
from time import sleep
from machine import Pin, ADC
d=Pin(4)
while True:
print(d.value())
sleep(3)
Capteur DHT11 + détecteur de pluie
2. envoyer la valeur de présence de pluie (0 ou1) vers la
plateforme d'IoT Thingspeak.
import urequests as requests sensor = dht.DHT11(Pin(5))

from machine import Pin, ADC pl=Pin(4)


capteur.atten(ADC.ATTN_11DB)
import network
ADC.width(ADC.WIDTH_10BIT)
from time import sleep
while True:
import dht sensor.measure()
ssid = ‘*******' temp = sensor.temperature()

password = ‘*********' hum = sensor.humidity()

station = network.WLAN(network.STA_IF) plu=pl.value()


print('Temperature: %3.1f C' %temp)
station.active(True)
print('Humidity: %3.1f %%' %hum)
station.connect(ssid, password)
print('pluie: ',plu)
while station.isconnected() == False:
url="http://api.thingspeak.com/update?api_key=378IIPOSS8DD7W50&
pass field1="+str(temp)+"&field2="+str(hum)+"&field3="+str(plu)
print('Connection successful') r = requests.get(url)

print(station.ifconfig()) r.close() sleep(10)


Capteur DHT11 + Détecteur de pluie
3.Appinventor pour récupérer la valeur de Présence de pluie
Explication

- Initialiser la variable val à 0


- Récupérer la valeur de field3 et la
stocker dans la variable val.
- Tester
• Si la valeur récupérée = 1
Afficher le texte « Pas de pluie »
Mettre l’image du « Sun » est visible
Mettre l’image de « pluie » est invisible.
• Sinon
Afficher le texte « Il pleut »
Mettre l’image du « Sun » est invisible
Mettre l’image de « pluie » est visible.

Vous aimerez peut-être aussi