Sommario:
- Passaggio 1: conosci i tuoi sensori
- Passaggio 2: connettività
- Passaggio 3: configura Blynk
- Passaggio 4: codice
Video: Stazione meteorologica fai-da-te che utilizza DHT11, BMP180, Nodemcu con Arduino IDE su server Blynk: 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Github: DIY_Weather_Station
Hackster.io: stazione meteo
Avresti visto Applicazione Meteo giusto? Ad esempio, quando lo apri puoi conoscere le condizioni meteorologiche come temperatura, umidità ecc. Quelle letture sono il valore medio di una grande area, quindi se vuoi conoscere i parametri esatti relativi alla tua stanza, non puoi semplicemente affidati all'Applicazione Meteo. A questo scopo, passiamo alla realizzazione di una stazione meteorologica che è economica, affidabile e ci fornisce un valore accurato.
Una stazione meteorologica è una struttura con strumenti e apparecchiature per la misurazione delle condizioni atmosferiche per fornire informazioni per le previsioni meteorologiche e per studiare il tempo e il clima. Richiede un piccolo sforzo per collegare e codificare. Quindi iniziamo.
Informazioni su Nodemcu:
NodeMCU è una piattaforma IoT open source.
Include il firmware che funziona sul SoC Wi-Fi ESP8266 di Espressif Systems e l'hardware basato sul modulo ESP-12.
Il termine "NodeMCU" per impostazione predefinita si riferisce al firmware piuttosto che ai kit di sviluppo. Il firmware utilizza il linguaggio di scripting Lua. Si basa sul progetto eLua e si basa su Espressif Non-OS SDK per ESP8266. Utilizza molti progetti open source, come lua-cjson e spiff.
Sensori e requisiti software:
1. Nodemcu (esp8266-12e v1.0)
2. DHT11
3. BMP180
4. Arduino IDE
Passaggio 1: conosci i tuoi sensori
BMP180:
Descrizione:
Il BMP180 è costituito da un sensore piezo-resistivo, un convertitore analogico-digitale e un'unità di controllo con E2PROM e un'interfaccia seriale I2C. Il BMP180 fornisce il valore non compensato di pressione e temperatura. L'E2PROM ha memorizzato 176 bit di dati di calibrazione individuali. Viene utilizzato per compensare l'offset, la dipendenza dalla temperatura e altri parametri del sensore.
- UP = dati di pressione (da 16 a 19 bit)
- UT = dati di temperatura (16 bit)
Specifiche tecniche:
- Vin: da 3 a 5VDC
- Logica: compatibile da 3 a 5 V
- Intervallo di rilevamento della pressione: 300-1100 hPa (da 9000 m a -500 m sul livello del mare)
- Fino a 0,03 hPa / risoluzione 0,25 m Intervallo operativo da -40 a +85 °C, precisione della temperatura di +-2 °C
- Questa scheda/chip utilizza l'indirizzo I2C a 7 bit 0x77.
DHT11:
Descrizione:
- Il DHT11 è un sensore digitale di temperatura e umidità di base a bassissimo costo.
- Utilizza un sensore di umidità capacitivo e un termistore per misurare l'aria circostante ed emette un segnale digitale sul pin dati (non sono necessari pin di ingresso analogico). È abbastanza semplice da usare, ma richiede un'attenta tempistica per acquisire i dati.
- L'unico vero svantaggio di questo sensore è che puoi ottenere nuovi dati da esso solo una volta ogni 2 secondi, quindi quando usi la nostra libreria, le letture del sensore possono essere vecchie fino a 2 secondi.
Specifiche tecniche:
- Alimentazione da 3 a 5 V e I/O
- Buono per letture di temperatura 0-50°C ±2°C di precisione
- Buono per letture di umidità del 20-80% con una precisione del 5%
- Utilizzo di corrente max 2,5 mA durante la conversione (durante la richiesta dei dati)
Passaggio 2: connettività
DHT11 con Nodemcu:
Pin 1 - 3.3V
Pin 2 - D4
Pin 3 - NC
Pin 4 - Gnd
BMP180 con Nodemcu:
Vin - 3.3V
Gnd - Gnd
SCL - D6
SDA - D7
Passaggio 3: configura Blynk
Cos'è Blynk?
Blynk è una piattaforma con app iOS e Android per controllare Arduino, Raspberry Pi e simili su Internet.
È una dashboard digitale in cui puoi creare un'interfaccia grafica per il tuo progetto semplicemente trascinando e rilasciando i widget. È davvero semplice impostare tutto e inizierai ad armeggiare in meno di 5 minuti. Blynk non è legato a nessuna scheda o scudo specifico. Invece, supporta l'hardware di tua scelta. Sia che il tuo Arduino o Raspberry Pi sia collegato a Internet tramite Wi-Fi, Ethernet o questo nuovo chip ESP8266, Blynk ti porterà online e pronto per l'Internet delle tue cose.
Per maggiori informazioni sulla configurazione di Blynk: configurazione dettagliata di Blynk
Passaggio 4: codice
//I commenti per ogni riga sono forniti nel file.ino di seguito
#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="Inserisci qui la tua chiave di autenticazione dall'app Blynk"; char ssid = "Il tuo SSID WiFi"; char pass = "La tua password"; #define DHTPIN 2 #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); //Definizione del pin e del timer dhttype BlynkTimer; void sendSensor() { if (!bmp.begin()) { Serial.println("Impossibile trovare un sensore BMP085 valido, controllare il cablaggio!"); while (1) {} } float h = dht.readHumidity(); float t = dht.readTemperature(); if (isnan(h) || isnan(t)) { Serial.println("Impossibile leggere dal sensore DHT!"); Restituzione; } doppia gamma = log(h/100) + ((17,62*t) / (243,5+t)); doppia 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, 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); ritardo(10); timer.setInterval(1000L, sendSensor); } ciclo vuoto() { Blynk.run(); timer.run(); }
Consigliato:
Stazione meteo fai-da-te e stazione sensore WiFi: 7 passaggi (con immagini)
Stazione meteo fai-da-te e stazione sensore WiFi: in questo progetto ti mostrerò come creare una stazione meteo insieme a una stazione sensore WiFi. La stazione sensore misura i dati di temperatura e umidità locali e li invia, tramite WiFi, alla stazione meteorologica. La stazione meteorologica visualizza quindi t
Semplice stazione meteorologica fai-da-te con DHT11 e display OLED: 8 passaggi
Semplice stazione meteo fai da te con DHT11 e display OLED: in questo tutorial impareremo come creare una semplice stazione meteo utilizzando Arduino, sensore DHT11, display OLED e Visuino per visualizzare la temperatura e l'umidità. Guarda un video dimostrativo
Stazione meteorologica che utilizza Raspberry Pi con BME280 in Python: 6 passaggi
Stazione meteorologica che utilizza Raspberry Pi con BME280 in Python: is maith an scéalaí an goalir (Il tempo è un buon narratore) Con i problemi del riscaldamento globale e dei cambiamenti climatici, il modello meteorologico globale sta diventando irregolare in tutto il mondo portando a una serie di condizioni meteorologiche disastri naturali (siccità, estrema
Server Web di temperatura e umidità Esp32 che utilizza PYTHON e Zerynth IDE: 3 passaggi
Server Web di temperatura e umidità Esp32 che utilizza PYTHON e Zerynth IDE: Esp32 è un magnifico microcontrollore, è potente proprio come un Arduino ma anche meglio! Ha connettività Wi-Fi, che consente di sviluppare progetti IOT in modo economico e semplice. Ma lavorando con Esp dispositivi è frustrante, in primo luogo non è stabile, in secondo luogo
Robot controllato Wi-Fi che utilizza Wemos D1 ESP8266, Arduino IDE e app Blynk: 11 passaggi (con immagini)
Robot controllato Wi-Fi utilizzando Wemos D1 ESP8266, Arduino IDE e app Blynk: in questo tutorial ti mostro come realizzare un carro armato robotico controllato da Wi-Fi controllato da uno smartphone utilizzando l'app Blynk. In questo progetto è stata utilizzata una scheda ESP8266 Wemos D1, ma possono essere utilizzati anche altri modelli di piastre (NodeMCU, Firebeetle, ecc.)