+21622886281
capteur DHT11 ESP32 Internet des objets Projet

Envoyer des données (température et humidité) vers thingspeak.com en utilisant ESP32

But de ce projet:

Grâce à la carte ESP32 connectée à l’Internet des objets (IoT: Internet of Things), il est possible de suivre en temps réel la température et l’humidité mesurées par le capteur DTH11.

Pour créer des applications d’enregistrement de données capteurs, on peut utiliser ThingSpeak qui est une API et une application open source pour l’« Internet des objets », permettant de stocker et de collecter les données des objets connectés en passant par le protocole HTTP via Internet.

En utilisant le protocole MQTT, nous obtiendrons des données capturées à partir du capteur DTH11, en les enregistrant dans le site ThingSpeak.com.

Composants nécessaires

  • carte ESP32
  • capteur DTH11
  • des fils de connexion

Montage

Pour réaliser le montage

Pour la capteur DTH11, on connecte:

  • la broche DATA à la broche D23 de la carte ESP32
  • la broche VCC à la broche 3.3V de la carte ESP32
  • la broche GND à la broche GND de la carte ESP32

Les valeurs de la température envoyées par la carte ESP32 au site thinkspeak.com

Les valeurs de l'humidité envoyées par la carte ESP32 au site thinkspeak.com

Programme en micropython

thingspeak.py

from simple import MQTTClient

import network

import time

from time import sleep

from machine import Pin

WiFi_SSID = “**********”

WiFi_PASS = “*************”

SERVER = “mqtt.thingspeak.com”

client = MQTTClient(“umqtt_client”, SERVER) CHANNEL_ID = “********” WRITE_API_KEY = “***************”

p23=Pin(23, Pin.IN)

d=dht.DHT11(p23)

def do_connect():

  wlan = network.WLAN(network.STA_IF)

  wlan.active(True)

      if not wlan.isconnected():

           print(‘connecting to network…’)

           wlan.connect(WiFi_SSID, WiFi_PASS)

           while not wlan.isconnected():

              pass print(‘network config:’, wlan.ifconfig())

do_connect()

topic = “channels/” + CHANNEL_ID + “/publish/” + WRITE_API_KEY

while True:

  d.measure()

  t=d.temperature() #lire la temperature

  h=d.humidity() #lire l’humidite

  payload = “field1=”+str(t)+”&field2=”+str(h)
 

  client.connect()

  client.publish(topic, payload) # envoyer les valeurs de la temperature et l’humidite au site thingspeak.com

  client.disconnect()

  time.sleep(60) #attendre 1 minute

 

Remarque: il faut importer la bibliothèque suivante: simple.py




0 commentaire


Laisser un commentaire

Noter *
Ce champs est réquis

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Scroll to Top