Projet 1 RÉALISATION D’UNE STATION MÉTÉO CONNECTÉ Enseignante: Mme Wafa AMMAR P

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 Plaque d’essai Capteur DHT111 Détecteur de pluie Fils jumper Matériels: 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) sensor.measure() temp=sensor.temperature() hum=sensor.humidity() print('temperature=',temp,'°C') print('humidité=',hum,'%') DHT11 ESP 32 + 3V out D5 - GND Câblage Capteur DHT11 2. envoyer les 2 valeurs du ESP32 vers la plateforme d'IoT Thingspeak. import urequests as requests from machine import Pin from time import sleep import network import dht ssid = ‘******' password = ‘********' station = network.WLAN(network.STA_IF) station.active(True) station.connect(ssid, password) while station.isconnected() == False: pass print('Connection successful') print(station.ifconfig()) sensor = dht.DHT11(Pin(5)) while True: sensor.measure() temp = sensor.temperature() hum = sensor.humidity() print('Temperature: %3.1f C' %temp) print('Humidity: %3.1f %%' %hum) url="https://api.thingspeak.com/update?api_key=378IIPOSS8D D7W50&field1="+str(temp)+"&field2="+str(hum) r = requests.get(url) r.close() 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 - 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 Explication 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 from machine import Pin, ADC import network from time import sleep import dht ssid = ‘*******' password = ‘*********' station = network.WLAN(network.STA_IF) station.active(True) station.connect(ssid, password) while station.isconnected() == False: pass print('Connection successful') print(station.ifconfig()) sensor = dht.DHT11(Pin(5)) pl=Pin(4) capteur.atten(ADC.ATTN_11DB) ADC.width(ADC.WIDTH_10BIT) while True: sensor.measure() temp = sensor.temperature() hum = sensor.humidity() plu=pl.value() print('Temperature: %3.1f C' %temp) print('Humidity: %3.1f %%' %hum) print('pluie: ',plu) url="http://api.thingspeak.com/update?api_key=378IIPOSS8DD7W50& field1="+str(temp)+"&field2="+str(hum)+"&field3="+str(plu) r = requests.get(url) r.close() sleep(10) Capteur DHT11 + Détecteur de pluie 3.Appinventor pour récupérer la valeur de Présence de pluie - 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. Explication uploads/s3/ projet-1.pdf

  • 14
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager