#375PrincipianteIoT

Pico W Sensor IoT de Puerta (Reed)

¿Se te quedó abierta la puerta o la ventana? Míralo en el móvil. Este proyecto es la guía paso a paso de la plantilla IoT Puerta / ventana de la app, montada con una Raspberry Pi Pico W, un interruptor reed y un pequeño imán. Ve a Taller › Dispositivos › Añadir dispositivo, elige Pico W como placa y Puerta / ventana como plantilla; Ohmi prepara el código con tu propia clave de dispositivo. El código de esta página es un ejemplo: la clave y los datos del Wi-Fi son de relleno.

0.0(0)
Pico W Sensor IoT de Puerta (Reed)
¿Alguna vez saliste de casa y te preguntaste si habías cerrado la puerta del balcón? Este proyecto es para ti. Pegas un pequeño interruptor reed en el marco de la puerta y un imán en la propia puerta; cuando la puerta se abre, el imán se aleja y la app muestra Abierta al instante. La app prepara el código por ti; tú solo conectas dos cables y lo subes. Ni siquiera hace falta una resistencia, basta con la pull-up interna de la placa: el comienzo más sencillo para tu primer sensor IoT.
IoT · control remotoTu primer dispositivo es gratis

Controla este dispositivo desde la app

Conecta tu ESP32 o Raspberry Pi Pico W al wifi, enciéndelo y apágalo desde el móvil y mira las lecturas en directo. Ohmi prepara el código; tú solo pones los datos de tu wifi y lo subes.

Plantilla en la app: Puerta / ventana

  • ¿Dónde está en la app?Añade un dispositivo nuevo desde la pestaña Herramientas o en Taller › Dispositivos y elige esta plantilla.
  • Librería de ArduinoAbre el Gestor de librerías en el Arduino IDE, busca BlueGraysIoT e instálala.
Descarga la app gratis

El plan gratis incluye 1 dispositivo, 1 gráfica y 24 horas de historial. Con Premium tienes más dispositivos, más gráficas y un historial más largo.

Diagrama del circuito

Pico W Sensor IoT de Puerta (Reed) - Circuit

Código fuente

C++ (Arduino IDE)
1// ─────────────────────────────────────────
2//   BlueGrays · bluegrays.com
3//   Pico W Sensor IoT de Puerta (Reed)
4// ─────────────────────────────────────────
5// La plantilla IoT "Puerta / ventana" de la app BlueGrays: con un
6// interruptor reed y un imán ves en el móvil si una puerta o una ventana
7// está abierta o cerrada. Ohmi prepara el código real en la app con tu
8// propia clave de dispositivo (Taller › Dispositivos › Añadir
9// dispositivo); el código de aquí es un ejemplo, la clave del dispositivo
10// y los datos del Wi-Fi son de relleno. Paquete de placa: Raspberry Pi
11// Pico (Earle Philhower). Gestor de bibliotecas: BlueGraysIoT (con sus
12// dependencias). La placa solo se conecta a redes Wi-Fi de 2,4 GHz. Con el
13// imán cerca, el reed se cierra y la puerta cuenta como cerrada.
14//
15// Pines:
16//   GP14 -> Una pata del interruptor reed
17//   GND -> La otra pata del interruptor reed
18//   ESP32: reed GPIO27
19
20/*
21 * Puerta / ventana · BlueGrays IoT
22 * BlueGrays · bluegrays.com
23 * No compartas este código: contiene la clave de tu dispositivo y la contraseña del Wi-Fi.
24 */
25
26#include <BlueGraysIoT.h>
27
28const char *DEVICE_KEY = "TU_CLAVE_DE_DISPOSITIVO";
29const char *WIFI_NAME = "TU_RED_WIFI";
30const char *WIFI_PASSWORD = "TU_CONTRASENA_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();  // evita aquí los delay() largos
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}
53

Preguntas frecuentes

¿Puedo subir el código de esta página directamente a la placa?

Puedes, pero no se conectará: la clave del dispositivo y los datos del Wi-Fi que lleva son de relleno. En la app ve a Taller › Dispositivos › Añadir dispositivo, elige Pico W como placa y la plantilla Puerta / ventana; Ohmi prepara el código con tu clave, el nombre de tu red y tu contraseña. Copia ese código y súbelo. Más tarde puedes ver el código completo en Dispositivo › Código y clave.

¿Cómo lo subo a la Pico W? ¿Es MicroPython?

Este proyecto funciona con Arduino C++, no con MicroPython. En Arduino IDE instala el paquete "pico" (Raspberry Pi Pico/RP2040, Earle Philhower) desde el Gestor de placas y elige Raspberry Pi Pico W en Herramientas › Placa. Si es la primera subida o no aparece ningún puerto, mantén pulsado el botón BOOTSEL al conectar el cable USB; Arduino IDE ve la placa como una unidad y sube el código. Instala BlueGraysIoT con sus dependencias desde el Gestor de bibliotecas.

¿Cómo coloco el interruptor reed y el imán?

Pega o atornilla el reed en el marco de la puerta y el imán en la puerta, de modo que quede justo enfrente cuando la puerta está cerrada; deja menos de 1 cm entre ellos. Con el imán cerca el reed se cierra y la puerta aparece Cerrada; cuando la puerta se abre y el imán se aleja, aparece Abierta. Las dos patas del reed no tienen polaridad, da igual cuál va a GP14. Si necesitas cables más largos, basta con un cable fino de dos hilos. Los reed de vidrio son frágiles: no dobles las patas pegadas al cuerpo.

¿Funciona también con un ESP32?

Sí. Al añadir el dispositivo elige ESP32 como placa; el código es el mismo y solo cambia el pin: una pata del reed va a GPIO27 y la otra a GND. En Arduino IDE instala el paquete "esp32" desde el Gestor de placas. El circuito y la foto de esta página se hicieron con una Pico W.