Pico W Sensor IoT de Porta (Reed)
A porta ou a janela ficou aberta? Confira no celular. Este projeto é o guia passo a passo do modelo IoT Porta / janela do app, montado com um Raspberry Pi Pico W, um sensor reed e um pequeno ímã. Vá em Oficina › Dispositivos › Adicionar dispositivo, escolha Pico W como placa e Porta / janela 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.

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: Porta / janela
- 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.
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

Código-fonte
1// ─────────────────────────────────────────
2// BlueGrays · bluegrays.com
3// Pico W Sensor IoT de Porta (Reed)
4// ─────────────────────────────────────────
5// O modelo IoT "Porta / janela" do app BlueGrays: com um sensor reed e um
6// ímã você vê no celular se uma porta ou janela está aberta ou fechada. O
7// Ohmi prepara o código de verdade no app com a sua própria chave de
8// dispositivo (Oficina › Dispositivos › Adicionar dispositivo); o código
9// daqui é um exemplo, a chave do dispositivo e os dados do Wi-Fi são
10// valores de exemplo. Pacote de placas: Raspberry Pi Pico (Earle
11// Philhower). Gerenciador de bibliotecas: BlueGraysIoT (com as
12// dependências). A placa só se conecta a redes Wi-Fi de 2,4 GHz. Com o ímã
13// perto, o reed fecha e a porta conta como fechada.
14//
15// Pinos:
16// GP14 -> Uma perna do sensor reed
17// GND -> A outra perna do sensor reed
18// ESP32: reed GPIO27
19
20/*
21 * Porta / janela · 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
28const char *DEVICE_KEY = "SUA_CHAVE_DO_DISPOSITIVO";
29const char *WIFI_NAME = "SUA_REDE_WIFI";
30const char *WIFI_PASSWORD = "SUA_SENHA_WIFI";
31
32BlueGraysIoT bg(DEVICE_KEY);
33
34const int REED_PIN = 14;
35bool lastRaw = false, stableOpen = false;
36unsigned long changedAtMs = 0;
37
38void setup() {
39 Serial.begin(115200);
40 pinMode(REED_PIN, INPUT_PULLUP);
41 bg.setDebug(Serial);
42 bg.setLanguage(BG_LANG_EN);
43 bg.begin(WIFI_NAME, WIFI_PASSWORD);
44}
45
46void loop() {
47 bg.loop(); // evite delay() longos aqui
48 bool raw = digitalRead(REED_PIN) == HIGH;
49 if (raw != lastRaw) { lastRaw = raw; changedAtMs = millis(); }
50 if (millis() - changedAtMs > 50) stableOpen = raw;
51 bg.send("kapi", stableOpen ? "acik" : "kapali");
52}
53Perguntas 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 Porta / janela; 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.
Como eu instalo o sensor reed e o ímã?
Cole ou parafuse o reed no batente da porta e o ímã na porta, de um jeito que ele fique bem em frente quando a porta estiver fechada; deixe menos de 1 cm entre os dois. Com o ímã perto o reed fecha e a porta aparece Fechada; quando a porta abre e o ímã se afasta, aparece Aberta. As duas pernas do reed não têm polaridade, tanto faz qual vai no GP14. Se precisar de fios mais longos, um cabo fino de duas vias basta. Reeds de vidro são frágeis: não dobre as pernas colado ao corpo.
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: uma perna do reed vai no GPIO27 e a outra 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.
