Taula de continguts:

Estació meteorològica de bricolatge que utilitza DHT11, BMP180, Nodemcu amb Arduino IDE a través del servidor Blynk: 4 passos
Estació meteorològica de bricolatge que utilitza DHT11, BMP180, Nodemcu amb Arduino IDE a través del servidor Blynk: 4 passos

Vídeo: Estació meteorològica de bricolatge que utilitza DHT11, BMP180, Nodemcu amb Arduino IDE a través del servidor Blynk: 4 passos

Vídeo: Estació meteorològica de bricolatge que utilitza DHT11, BMP180, Nodemcu amb Arduino IDE a través del servidor Blynk: 4 passos
Vídeo: Estación meteorológica wifi con ESP32 y ThingSpeak 2024, Desembre
Anonim
Estació meteorològica de bricolatge que utilitza DHT11, BMP180, Nodemcu amb IDE Arduino sobre servidor Blynk
Estació meteorològica de bricolatge que utilitza DHT11, BMP180, Nodemcu amb IDE Arduino sobre servidor Blynk
Estació meteorològica de bricolatge que utilitza DHT11, BMP180, Nodemcu amb IDE Arduino sobre servidor Blynk
Estació meteorològica de bricolatge que utilitza DHT11, BMP180, Nodemcu amb IDE Arduino sobre servidor Blynk
Estació meteorològica de bricolatge que utilitza DHT11, BMP180, Nodemcu amb IDE Arduino sobre servidor Blynk
Estació meteorològica de bricolatge que utilitza DHT11, BMP180, Nodemcu amb IDE Arduino sobre servidor Blynk
Estació meteorològica de bricolatge que utilitza DHT11, BMP180, Nodemcu amb IDE Arduino sobre servidor Blynk
Estació meteorològica de bricolatge que utilitza DHT11, BMP180, Nodemcu amb IDE Arduino sobre servidor Blynk

Github: DIY_Weather_Station

Hackster.io: estació meteorològica

Hauríeu vist l'aplicació meteorològica, oi? Igualment, quan l’obriu coneixeu les condicions meteorològiques com la temperatura, la humitat, etc. Aquestes lectures són el valor mitjà d’una àrea gran, de manera que si voleu conèixer els paràmetres exactes relacionats amb la vostra habitació, no podeu confieu en l'aplicació meteorològica. Amb aquest propòsit, podem passar a la fabricació de l'estació meteorològica, que és rendible i, a més, és fiable i ens proporciona el valor precís.

Una estació meteorològica és una instal·lació amb instruments i equips per mesurar les condicions atmosfèriques per proporcionar informació sobre les previsions meteorològiques i per estudiar el temps i el clima. Requereix poc esforç per connectar i codificar. Comencem, doncs.

Quant a Nodemcu:

NodeMCU és una plataforma IoT de codi obert.

Inclou firmware que s’executa amb el SoC Wi-Fi ESP8266 d’Espressif Systems i maquinari basat en el mòdul ESP-12.

Per defecte, el terme "NodeMCU" fa referència al firmware en lloc dels kits de desenvolupament. El firmware utilitza el llenguatge de seqüència d’ordres Lua. Es basa en el projecte eLua i es basa en l’SDK Espressif Non-OS per a ESP8266. Utilitza molts projectes de codi obert, com lua-cjson i spiffs.

Sensors i requisits de programari:

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

2. DHT11

3. BMP180

4. ID Arduino

Pas 1: coneixeu els vostres sensors

Conegueu els vostres sensors
Conegueu els vostres sensors

BMP180:

Descripció:

El BMP180 consisteix en un sensor piezo-resistiu, un convertidor analògic a digital i una unitat de control amb E2PROM i una interfície serial I2C. El BMP180 proporciona el valor de la pressió i la temperatura sense compensar. L'E2PROM ha emmagatzemat 176 bits de dades de calibratge individuals. S'utilitza per compensar el desplaçament, la dependència de la temperatura i altres paràmetres del sensor.

  • UP = dades de pressió (16 a 19 bits)
  • UT = dades de temperatura (16 bits)

Especificacions tècniques:

  • Vin: de 3 a 5VDC
  • Lògica: compatible amb 3 a 5V
  • Rang de detecció de pressió: 300-1100 hPa (9000m a -500m sobre el nivell del mar)
  • Resolució de fins a 0,03 hPa / 0,25 m: rang operatiu de 40 a + 85 ° C, precisió de temperatura de + -2 ° C
  • Aquesta placa / xip utilitza l'adreça 0x77 de 7 bits I2C.

DHT11:

Descripció:

  • El DHT11 és un sensor digital de temperatura i humitat bàsic i de baix cost.
  • Utilitza un sensor d’humitat capacitiu i un termistor per mesurar l’aire circumdant i escup un senyal digital al pin de dades (no calen pins d’entrada analògics). És bastant senzill d’utilitzar, però requereix un temps acurat per agafar dades.
  • L’únic inconvenient real d’aquest sensor és que només se’n poden obtenir dades noves un cop cada 2 segons, de manera que quan feu servir la nostra biblioteca, les lectures del sensor poden tenir una antiguitat de fins a 2 segons.

Especificacions tècniques:

  • Potència de 3 a 5V i E / S
  • Ideal per a lectures de temperatura de 0-50 ° C amb una precisió de ± 2 ° C
  • Bo per a lectures d'humitat del 20-80% amb una precisió del 5%
  • Ús màxim de 2,5 mA durant la conversió (mentre es sol·liciten dades)

Pas 2: connectivitat

Connectivitat
Connectivitat

DHT11 amb Nodemcu:

Pin 1 - 3,3V

Pin 2 - D4

Pin 3 - NC

Pin 4 - Gnd

BMP180 amb Nodemcu:

Vin - 3,3V

Gnd - Gnd

SCL - D6

SDA - D7

Pas 3: configureu Blynk

Image
Image
Configuració de Blynk
Configuració de Blynk

Què és Blynk?

Blynk és una plataforma amb aplicacions per a iOS i Android per controlar Arduino, Raspberry Pi i similars a través d'Internet.

És un tauler digital on podeu crear una interfície gràfica per al vostre projecte simplement arrossegant i deixant anar ginys. És molt senzill configurar-ho tot i començareu a jugar en menys de 5 minuts. Blynk no està lligat a cap tauler o escut específic. En canvi, és compatible amb el maquinari que trieu. Ja sigui que el vostre Arduino o Raspberry Pi estigui vinculat a Internet mitjançant Wi-Fi, Ethernet o aquest nou xip ESP8266, Blynk us posarà en línia i estarà llest per a Internet de les vostres coses.

Per obtenir més informació sobre la configuració de Blynk: Configuració detallada de Blynk

Pas 4: Codi

Codi
Codi

// Els comentaris per a cada línia es donen al fitxer.ino següent

#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 = "Poseu aquí la vostra clau d'autenticació de l'aplicació Blynk"; char ssid = "El vostre SSID WiFi"; char pass = "La vostra contrasenya"; #define DHTPIN 2 #define DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE); // Definició del pin i del temporitzador de tipus BlynkTimer dhtty; void sendSensor () {if (! bmp.begin ()) {Serial.println ("No s'ha pogut trobar un sensor BMP085 vàlid, comproveu el cablejat!"); mentre (1) {}} flota h = dht.readHumidity (); flotador t = dht.readTemperature (); if (isnan (h) || isnan (t)) {Serial.println ("No s'ha pogut llegir el sensor DHT!"); tornar; } doble gamma = log (h / 100) + ((17,62 * t) / (243,5 + t)); doble dp = 243,5 * gamma / (17,62-gamma); float bp = bmp.readPressure () / 100; flotador ba = bmp.readAltitude (); flotador bt = bmp.readTemperature (); float dst = bmp.readSealevelPressure () / 100; Blynk.virtualWrite (V5, h); Blynk.virtualWrite (V6, t); Blynk.virtualWrite (V10, bp); 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); } void loop () {Blynk.run (); temporitzador.run (); }

Recomanat: