Table des matières:

Station météo DIY utilisant DHT11, BMP180, Nodemcu avec Arduino IDE sur serveur Blynk : 4 étapes
Station météo DIY utilisant DHT11, BMP180, Nodemcu avec Arduino IDE sur serveur Blynk : 4 étapes

Vidéo: Station météo DIY utilisant DHT11, BMP180, Nodemcu avec Arduino IDE sur serveur Blynk : 4 étapes

Vidéo: Station météo DIY utilisant DHT11, BMP180, Nodemcu avec Arduino IDE sur serveur Blynk : 4 étapes
Vidéo: Метеостанция IoT на базе ESP32 | Как сделать | Полное руководство 2024, Juillet
Anonim
Station météo bricolage utilisant DHT11, BMP180, Nodemcu avec Arduino IDE sur serveur Blynk
Station météo bricolage utilisant DHT11, BMP180, Nodemcu avec Arduino IDE sur serveur Blynk
Station météo bricolage utilisant DHT11, BMP180, Nodemcu avec Arduino IDE sur serveur Blynk
Station météo bricolage utilisant DHT11, BMP180, Nodemcu avec Arduino IDE sur serveur Blynk
Station météo bricolage utilisant DHT11, BMP180, Nodemcu avec Arduino IDE sur serveur Blynk
Station météo bricolage utilisant DHT11, BMP180, Nodemcu avec Arduino IDE sur serveur Blynk
Station météo bricolage utilisant DHT11, BMP180, Nodemcu avec Arduino IDE sur serveur Blynk
Station météo bricolage utilisant DHT11, BMP180, Nodemcu avec Arduino IDE sur serveur Blynk

Github: DIY_Weather_Station

Hackster.io: Station météo

Vous auriez vu l'application météo, n'est-ce pas ? Par exemple, lorsque vous l'ouvrez, vous apprenez à connaître les conditions météorologiques telles que la température, l'humidité, etc. Ces lectures sont la valeur moyenne d'une grande zone, donc si vous voulez connaître les paramètres exacts liés à votre pièce, vous ne pouvez pas simplement s'appuyer sur l'application Météo. À cette fin, passons à la création de Station météo qui est rentable, qui est également fiable et nous donne la valeur précise.

Une station météorologique est une installation dotée d'instruments et d'équipements pour mesurer les conditions atmosphériques afin de fournir des informations pour les prévisions météorologiques et d'étudier le temps et le climat. Il nécessite peu d'efforts pour brancher et coder. Alors, commençons.

À propos de Nodemcu:

NodeMCU est une plateforme IoT open source.

Il comprend un micrologiciel qui s'exécute sur le SoC Wi-Fi ESP8266 d'Espressif Systems et du matériel basé sur le module ESP-12.

Le terme "NodeMCU" par défaut fait référence au firmware plutôt qu'aux kits de développement. Le firmware utilise le langage de script Lua. Il est basé sur le projet eLua et construit sur le SDK Espressif Non-OS pour ESP8266. Il utilise de nombreux projets open source, tels que lua-cjson et spiffs.

Capteurs et logiciel requis:

1. Nodemcu (esp8266-12e v1.0)

2. DHT11

3. BMP180

4. IDE Arduino

Étape 1: Connaissez vos capteurs

Connaissez vos capteurs
Connaissez vos capteurs

BMP180:

La description:

Le BMP180 se compose d'un capteur piézorésistif, d'un convertisseur analogique-numérique et d'une unité de contrôle avec E2PROM et une interface série I2C. Le BMP180 fournit la valeur non compensée de la pression et de la température. L'E2PROM a stocké 176 bits de données d'étalonnage individuelles. Ceci est utilisé pour compenser le décalage, la dépendance à la température et d'autres paramètres du capteur.

  • UP = données de pression (16 à 19 bits)
  • UT = données de température (16 bits)

Spécifications techniques:

  • Vin: 3 à 5VDC
  • Logique: conforme 3 à 5V
  • Plage de détection de pression: 300-1100 hPa (9000 m à -500 m au-dessus du niveau de la mer)
  • Résolution jusqu'à 0,03 hPa / 0,25 m Plage de fonctionnement de 40 à +85 °C, précision de température de +-2 °C
  • Cette carte/puce utilise l'adresse I2C 7 bits 0x77.

DHT11:

La description:

  • Le DHT11 est un capteur numérique de température et d'humidité basique et ultra-économique.
  • Il utilise un capteur d'humidité capacitif et une thermistance pour mesurer l'air ambiant et crache un signal numérique sur la broche de données (aucune broche d'entrée analogique n'est nécessaire). C'est assez simple à utiliser, mais nécessite un timing minutieux pour récupérer les données.
  • Le seul véritable inconvénient de ce capteur est que vous ne pouvez en obtenir de nouvelles données qu'une fois toutes les 2 secondes. Ainsi, lorsque vous utilisez notre bibliothèque, les lectures du capteur peuvent avoir jusqu'à 2 secondes.

Spécifications techniques:

  • Alimentation 3 à 5V et E/S
  • Bon pour les lectures de température de 0 à 50 °C, précision de ± 2 °C
  • Bon pour les lectures d'humidité de 20 à 80 % avec une précision de 5 %
  • 2,5 mA max d'utilisation de courant pendant la conversion (lors de la demande de données)

Étape 2: Connectivité

Connectivité
Connectivité

DHT11 avec Nodemcu:

Broche 1 - 3.3V

Broche 2 - D4

Broche 3 - NF

Broche 4 - Terre

BMP180 avec Nodemcu:

Vin - 3,3 V

Gnd - Gnd

SCL-D6

ADJ - D7

Étape 3: Configurer Blynk

Image
Image
Configurer Blynk
Configurer Blynk

Qu'est-ce que Blynk ?

Blynk est une plate-forme avec des applications iOS et Android pour contrôler Arduino, Raspberry Pi et autres sur Internet.

C'est un tableau de bord numérique où vous pouvez créer une interface graphique pour votre projet en faisant simplement glisser et déposer des widgets. C'est vraiment simple de tout configurer et vous commencerez à bricoler en moins de 5 minutes. Blynk n'est pas lié à une carte ou à un bouclier spécifique. Au lieu de cela, il prend en charge le matériel de votre choix. Que votre Arduino ou Raspberry Pi soit connecté à Internet via Wi-Fi, Ethernet ou cette nouvelle puce ESP8266, Blynk vous mettra en ligne et vous préparera pour l'Internet de vos objets.

Pour plus d'informations sur la configuration de Blynk: Configuration détaillée de Blynk

Étape 4: Coder

Code
Code

//Les commentaires pour chaque ligne sont donnés dans le fichier.ino ci-dessous

#include #define BLYNK_PRINT Serial #include #include #include #include #include Adafruit_BMP085 bmp; #define I2C_SCL 12 #define I2C_SDA 13 float dst, bt, bp, ba; char dstmp[20], btmp[20], bprs[20], balt[20]; bool bmp085_present=true; char auth="Mettez votre clé d'authentification de l'application Blynk ici"; char ssid = "Votre SSID WiFi"; char pass = "Votre mot de passe"; #définir DHTPIN 2 #définir DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); //Définition de la broche et du timer dhttype BlynkTimer; void sendSensor() { if (!bmp.begin()) { Serial.println("Impossible de trouver un capteur BMP085 valide, vérifiez le câblage!"); while (1) {} } float h = dht.readHumidity(); float t = dht.readTemperature(); if (isnan(h) || isnan(t)) { Serial.println("Impossible de lire à partir du capteur DHT !"); revenir; } double gamma = log(h/100) + ((17,62*t) / (243,5+t)); double dp = 243,5*gamma / (17,62-gamma); float bp = bmp.readPressure()/100; float ba = bmp.readAltitude(); float bt = bmp.readTemperature(); float dst = bmp.readSealevelPressure()/100; Blynk.virtualWrite(V5, h); Blynk.virtualWrite(V6, t); Blynk.virtualWrite(V10, pb); Blynk.virtualWrite(V11, ba); Blynk.virtualWrite(V12, bt); Blynk.virtualWrite(V13, dst); Blynk.virtualWrite(V14, dp); } void setup() { Serial.begin(9600); Blynk.begin(auth, ssid, pass); dht.begin(); Wire.begin(I2C_SDA, I2C_SCL); retard(10); timer.setInterval(1000L, sendSensor); } boucle vide() { Blynk.run(); timer.run(); }

Conseillé: