#373InicianteIoT

Pico W Temperatura e Umidade IoT (DHT22)

Acompanhe ao vivo no celular a temperatura e a umidade do cômodo, onde você estiver. Este projeto é o guia passo a passo do modelo IoT Temperatura e umidade do app, montado com um Raspberry Pi Pico W e um DHT22. Vá em Oficina › Dispositivos › Adicionar dispositivo, escolha Pico W como placa e Temperatura e umidade como modelo; o Ohmi prepara o código com a sua própria chave de dispositivo. O código desta página é um exemplo: a chave e os dados do Wi-Fi são valores de exemplo.

0.0(0)
Pico W Temperatura e Umidade IoT (DHT22)
Se você fica pensando, nas férias, se a casa está gelando, se o quarto do bebê está esquentando demais ou quando a umidade sobe no banheiro, este projeto é para você. A plaquinha manda para o celular, a cada poucos segundos, a temperatura e a umidade que lê do sensor; os valores se acumulam num gráfico e você vê o dia inteiro num relance. O app prepara o código para você; você liga três fios e envia. Sem solda e sem mexer na tomada: o começo mais seguro para o seu primeiro sensor IoT.
IoT · controle remotoSeu primeiro dispositivo é grátis

Controle este dispositivo pelo app

Conecte seu ESP32 ou Raspberry Pi Pico W ao Wi-Fi, ligue e desligue pelo celular e veja as leituras ao vivo. O Ohmi prepara o código; você só informa os dados do Wi-Fi e faz o upload.

Modelo no app: Temperatura e umidade

  • Onde fica no app?Adicione um novo dispositivo pela aba Ferramentas ou em Oficina › Dispositivos e escolha este modelo.
  • Biblioteca ArduinoAbra o Gerenciador de Bibliotecas no Arduino IDE, procure BlueGraysIoT e instale.
Baixe o app grátis

O plano grátis inclui 1 dispositivo, 1 gráfico e 24 horas de histórico. Com o Premium, você tem mais dispositivos, mais gráficos e histórico mais longo.

Esquema do circuito

Pico W Temperatura e Umidade IoT (DHT22) - Circuit

Código-fonte

C++ (Arduino IDE)
1// ─────────────────────────────────────────
2//   BlueGrays · bluegrays.com
3//   Pico W Temperatura e Umidade IoT (DHT22)
4// ─────────────────────────────────────────
5// O modelo IoT "Temperatura e umidade" do app BlueGrays: o DHT22 manda a
6// temperatura e a umidade do cômodo para o app a cada 2 segundos, e os
7// valores vão se acumulando num gráfico. O Ohmi prepara o código de
8// verdade no app com a sua própria chave de dispositivo (Oficina ›
9// Dispositivos › Adicionar dispositivo); o código daqui é um exemplo, a
10// chave do dispositivo e os dados do Wi-Fi são valores de exemplo. Pacote
11// de placas: Raspberry Pi Pico (Earle Philhower). Gerenciador de
12// bibliotecas: BlueGraysIoT (com as dependências). A placa só se conecta a
13// redes Wi-Fi de 2,4 GHz.
14//
15// Pinos:
16//   GP16 -> DHT22 OUT (dados)
17//   3V3, GND -> DHT22 VCC, GND
18//   ESP32: DHT22 OUT GPIO4
19
20/*
21 * Temperatura e umidade · BlueGrays IoT
22 * BlueGrays · bluegrays.com
23 * Não compartilhe este código: ele contém a chave do dispositivo e a senha do Wi-Fi.
24 */
25
26#include <BlueGraysIoT.h>
27#include <DHT.h>
28
29const char *DEVICE_KEY = "SUA_CHAVE_DO_DISPOSITIVO";
30const char *WIFI_NAME = "SUA_REDE_WIFI";
31const char *WIFI_PASSWORD = "SUA_SENHA_WIFI";
32
33BlueGraysIoT bg(DEVICE_KEY);
34
35DHT dht(16, DHT22);
36unsigned long lastReadMs = 0;
37
38void setup() {
39  Serial.begin(115200);
40  dht.begin();
41  bg.setDeadband("sicaklik", 0.1);
42  bg.setDeadband("nem", 1.0);
43  bg.setDebug(Serial);
44  bg.setLanguage(BG_LANG_EN);
45  bg.begin(WIFI_NAME, WIFI_PASSWORD);
46}
47
48void loop() {
49  bg.loop();  // evite delay() longos aqui
50  if (millis() - lastReadMs >= 2000) {
51    lastReadMs = millis();
52    bg.send("sicaklik", dht.readTemperature());
53    bg.send("nem", dht.readHumidity());
54  }
55}
56

Perguntas frequentes

Posso enviar o código desta página direto para a placa?

Pode, mas ela não vai se conectar: a chave do dispositivo e os dados do Wi-Fi no código são valores de exemplo. No app, vá em Oficina › Dispositivos › Adicionar dispositivo, escolha Pico W como placa e o modelo Temperatura e umidade; o Ohmi prepara o código com a sua chave, o nome da sua rede e a sua senha. Copie esse código e envie. Depois você vê o código completo em Dispositivo › Código e chave.

Como envio para o Pico W? É MicroPython?

Este projeto roda em Arduino C++, não em MicroPython. No Arduino IDE, instale o pacote "pico" (Raspberry Pi Pico/RP2040, Earle Philhower) pelo Gerenciador de placas e escolha Raspberry Pi Pico W em Ferramentas › Placa. Se for o primeiro envio ou nenhuma porta aparecer, segure o botão BOOTSEL enquanto conecta o cabo USB; o Arduino IDE vê a placa como um drive e envia o código. Instale a BlueGraysIoT com as dependências pelo Gerenciador de bibliotecas.

Funciona com um ESP32 também?

Funciona. Ao adicionar o dispositivo, escolha ESP32 como placa; o código continua o mesmo e só muda o pino do sensor: o OUT do DHT22 vai no GPIO4, o VCC no 3V3 e o GND no GND. No Arduino IDE, instale o pacote "esp32" pelo Gerenciador de placas. O circuito e a foto desta página foram feitos com um Pico W.

Quanto histórico eu vejo no gráfico?

Os valores ficam guardados no servidor e aparecem no app como valor ao vivo e gráfico. Até onde dá para voltar depende do seu plano; o premium guarda um histórico bem mais longo. A placa lê a cada 2 segundos, mas só envia quando a temperatura muda 0,1 °C ou a umidade 1 ponto; assim o gráfico fica limpo e a placa não ocupa o servidor à toa.