#371IntermedioIoT

ESP32 Stazione IoT per la Stanza (Relè + DHT22)

Accendi la lampada dal telefono e guarda temperatura e umidità della tua stanza dal vivo, ovunque tu sia. Questo progetto è la guida passo passo del modello IoT Stazione per la stanza dell'app, con un ESP32, un modulo relè e un DHT22. Vai su Officina › Dispositivi › Aggiungi dispositivo e scegli Stazione per la stanza; Ohmi prepara il codice con la tua chiave del dispositivo. Il codice qui è un esempio: chiave e dati Wi-Fi sono segnaposto.

0.0(0)
1 completato
ESP32 Stazione IoT per la Stanza (Relè + DHT22)
Se vuoi accendere la luce senza alzarti dal divano, o vedere quanti gradi ci sono in camera mentre sei fuori, questo progetto fa per te. La scheda accende e spegne una lampada con un relè, e un sensore di temperatura e umidità manda le misure al telefono ogni pochi secondi, dove si raccolgono in un grafico. Il codice lo prepara l'app; tu colleghi i fili e lo carichi. Inizi con un LED al posto della lampada, così impari cablaggio e sicurezza prima di toccare la corrente di casa.
IoT · controllo a distanzaIl primo dispositivo è gratis

Controlla questo dispositivo dall'app

Collega il tuo ESP32 o Raspberry Pi Pico W al Wi-Fi, accendilo e spegnilo dal telefono e guarda le misure in diretta. Il codice lo prepara Ohmi; tu inserisci solo i dati del Wi-Fi e lo carichi.

Modello nell'app: Stazione per la stanza

  • Dove si trova nell'app?Aggiungi un nuovo dispositivo dalla scheda Strumenti o da Officina › Dispositivi e scegli questo modello.
  • Libreria ArduinoApri il Gestore librerie dell'Arduino IDE, cerca BlueGraysIoT e installala.
Scarica l'app gratis

Il piano gratuito include 1 dispositivo, 1 grafico e 24 ore di cronologia. Con Premium hai più dispositivi, più grafici e una cronologia più lunga.

Schema circuito

ESP32 Stazione IoT per la Stanza (Relè + DHT22) - Circuit

Codice sorgente

C++ (Arduino IDE)
1// ─────────────────────────────────────────
2//   BlueGrays · bluegrays.com
3//   ESP32 Stazione IoT per la Stanza (Relè + DHT22)
4// ─────────────────────────────────────────
5// Il modello IoT "Stazione per la stanza" dell'app BlueGrays: accendi e
6// spegni una lampada con un relè dal telefono, e il DHT22 manda
7// temperatura e umidità della stanza all'app ogni 2 secondi. Ohmi prepara
8// il codice vero nell'app con la tua chiave del dispositivo (Officina ›
9// Dispositivi › Aggiungi dispositivo); il codice qui è un esempio, chiave
10// del dispositivo e dati Wi-Fi sono segnaposto. Gestore librerie:
11// BlueGraysIoT (con le sue dipendenze). La scheda si collega solo a reti
12// Wi-Fi a 2,4 GHz. Il relè si attiva con LOW. Collega una lampada a 230 V
13// solo con qualcuno esperto; prova prima con un LED.
14//
15// Pin:
16//   GPIO26 -> IN del modulo relè
17//   5V, GND -> Modulo relè VCC, GND
18//   Relè COM -> 5V, NO -> 220 ohm -> anodo del LED, catodo del LED -> GND
19//   GPIO4 -> DHT22 OUT (dati)
20//   3V3, GND -> DHT22 VCC, GND
21//   Pico W: relè IN GP15, DHT22 OUT GP16
22
23/*
24 * Stazione per la stanza · BlueGrays IoT
25 * BlueGrays · bluegrays.com
26 * Non condividere questo codice: contiene la chiave del dispositivo e la password del Wi-Fi.
27 */
28
29#include <BlueGraysIoT.h>
30#include <DHT.h>
31
32const char *DEVICE_KEY = "LA_TUA_CHIAVE_DISPOSITIVO";
33const char *WIFI_NAME = "LA_TUA_RETE_WIFI";
34const char *WIFI_PASSWORD = "LA_TUA_PASSWORD_WIFI";
35
36BlueGraysIoT bg(DEVICE_KEY);
37
38const int RELAY_PIN = 26;
39const bool RELAY_ACTIVE_LOW = true;  // la maggior parte dei moduli relè si attiva con LOW
40void setRelay(bool on) { digitalWrite(RELAY_PIN, (on != RELAY_ACTIVE_LOW) ? HIGH : LOW); }
41DHT dht(4, DHT22);
42unsigned long lastReadMs = 0;
43
44void setup() {
45  Serial.begin(115200);
46  pinMode(RELAY_PIN, OUTPUT);
47  setRelay(false);
48  bg.onSwitch("lamba", setRelay);
49  dht.begin();
50  bg.setDeadband("sicaklik", 0.1);
51  bg.setDeadband("nem", 1.0);
52  bg.setDebug(Serial);
53  bg.setLanguage(BG_LANG_EN);
54  bg.begin(WIFI_NAME, WIFI_PASSWORD);
55}
56
57void loop() {
58  bg.loop();  // evita qui delay() lunghi
59  if (millis() - lastReadMs >= 2000) {
60    lastReadMs = millis();
61    bg.send("sicaklik", dht.readTemperature());
62    bg.send("nem", dht.readHumidity());
63  }
64}
65

FAQ

Posso caricare direttamente sulla scheda il codice di questa pagina?

Puoi, ma non si collegherà: chiave del dispositivo e dati del Wi-Fi sono segnaposto. Nell'app vai su Officina › Dispositivi › Aggiungi dispositivo e scegli Stazione per la stanza; Ohmi prepara il codice con la tua chiave, il nome della rete e la password. Copia quel codice e caricalo. Il codice completo lo ritrovi più tardi in Dispositivo › Codice e chiave.

Funziona anche con una Pico W?

Sì. Quando aggiungi il dispositivo scegli Pico W come scheda; il codice resta uguale, cambiano solo i pin: il relè su GP15, il DHT22 su GP16. Nell'Arduino IDE installa il pacchetto "pico" dal Gestore schede. Il circuito e la foto di questa pagina sono fatti con un ESP32.

Posso collegare una vera lampada a 230 V?

I 230 V possono uccidere e provocare incendi. Prova prima con un LED, come in questa pagina. Se passi a una lampada vera, fallo con qualcuno che se ne intende di impianti elettrici: spina staccata, solo la fase passa dai morsetti COM e NO del relè, nessun filo scoperto, il circuito in una scatola chiusa e la potenza della lampada sotto il limite stampato sul modulo.

La password del Wi-Fi e la chiave del dispositivo sono al sicuro?

La password del Wi-Fi resta sul tuo telefono e non viene mai inviata al nostro server; viene aggiunta al codice sul telefono. La chiave del dispositivo viaggia solo nell'intestazione della connessione sicura e non compare mai nel Monitor seriale. Tutte e due però sono nel codice, quindi non condividere il codice copiato dall'app. Se qualcuno ha visto la tua chiave, prendine una nuova con Rinnova chiave e carica il nuovo codice.