#375AnfängerIoT

Pico W IoT-Türsensor (Reedkontakt)

Ist die Tür oder das Fenster offen geblieben? Schau auf dem Handy nach. Dieses Projekt ist die Anleitung zur IoT-Vorlage Tür / Fenster in der App, gebaut mit einem Raspberry Pi Pico W, einem Reedkontakt und einem kleinen Magneten. Geh zu Werkstatt › Geräte › Gerät hinzufügen, wähle Pico W als Board und Tür / Fenster als Vorlage; Ohmi erstellt den Code mit deinem Geräteschlüssel. Der Code hier ist ein Beispiel: Schlüssel und WLAN-Daten sind Platzhalter.

0.0(0)
Pico W IoT-Türsensor (Reedkontakt)
Hast du dich schon mal nach dem Losgehen gefragt, ob die Balkontür zu ist? Dann ist dieses Projekt genau richtig. Du klebst einen kleinen Reedkontakt an den Türrahmen und einen Magneten an die Tür; geht die Tür auf, entfernt sich der Magnet und die App zeigt sofort Offen. Den Code erstellt die App, du verbindest nur zwei Kabel und lädst ihn hoch. Nicht mal ein Widerstand ist nötig, der eingebaute Pull-up des Boards reicht: der einfachste Start für deinen ersten IoT-Sensor.
IoT · FernsteuerungDein erstes Gerät ist kostenlos

Steuere dieses Gerät mit der App

Verbinde deinen ESP32 oder Raspberry Pi Pico W mit dem WLAN, schalte ihn vom Handy aus ein und aus und sieh die Messwerte live. Den Code bereitet Ohmi vor; du gibst nur deine WLAN-Daten ein und lädst ihn hoch.

Vorlage in der App: Tür / Fenster

  • Wo finde ich das in der App?Füge im Tab Werkzeuge oder unter Werkstatt › Geräte ein neues Gerät hinzu und wähle diese Vorlage.
  • Arduino-BibliothekÖffne in der Arduino IDE den Bibliotheksverwalter, suche nach BlueGraysIoT und installiere sie.
App kostenlos laden

Im kostenlosen Plan: 1 Gerät, 1 Diagramm und 24 Stunden Verlauf. Mit Premium mehr Geräte, mehr Diagramme und längerer Verlauf.

Schaltplan

Pico W IoT-Türsensor (Reedkontakt) - Circuit

Quellcode

C++ (Arduino IDE)
1// ─────────────────────────────────────────
2//   BlueGrays · bluegrays.com
3//   Pico W IoT-Türsensor (Reedkontakt)
4// ─────────────────────────────────────────
5// Die IoT-Vorlage "Tür / Fenster" aus der BlueGrays-App: Mit einem
6// Reedkontakt und einem Magneten siehst du auf dem Handy, ob eine Tür oder
7// ein Fenster offen oder zu ist. Den echten Code erstellt Ohmi in der App
8// mit deinem eigenen Geräteschlüssel (Werkstatt › Geräte › Gerät
9// hinzufügen); der Code hier ist ein Beispiel, Geräteschlüssel und
10// WLAN-Daten sind Platzhalter. Boardpaket: Raspberry Pi Pico (Earle
11// Philhower). Bibliotheksverwaltung: BlueGraysIoT (mit Abhängigkeiten).
12// Das Board verbindet sich nur mit 2,4-GHz-WLANs. Ist der Magnet nah,
13// schließt der Reedkontakt und die Tür gilt als zu.
14//
15// Pins:
16//   GP14 -> Ein Bein des Reedkontakts
17//   GND -> Anderes Bein des Reedkontakts
18//   ESP32: Reed GPIO27
19
20/*
21 * Tür / Fenster · BlueGrays IoT
22 * BlueGrays · bluegrays.com
23 * Teile diesen Code nicht: Er enthält deinen Geräteschlüssel und dein WLAN-Passwort.
24 */
25
26#include <BlueGraysIoT.h>
27
28const char *DEVICE_KEY = "DEIN_GERAETESCHLUESSEL";
29const char *WIFI_NAME = "DEIN_WLAN_NAME";
30const char *WIFI_PASSWORD = "DEIN_WLAN_PASSWORT";
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();  // hier keine langen delay()-Aufrufe
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

FAQ

Kann ich den Code von dieser Seite direkt hochladen?

Hochladen kannst du ihn, verbinden wird er sich aber nicht: Geräteschlüssel und WLAN-Daten darin sind Platzhalter. Geh in der App zu Werkstatt › Geräte › Gerät hinzufügen, wähle Pico W als Board und die Vorlage Tür / Fenster; Ohmi erstellt den Code mit deinem Schlüssel, deinem Netzwerknamen und deinem Passwort. Kopier diesen Code und lade ihn hoch. Den ganzen Code siehst du später unter Gerät › Code und Schlüssel.

Wie lade ich auf den Pico W hoch? Ist das MicroPython?

Dieses Projekt läuft mit Arduino C++, nicht mit MicroPython. Installiere in der Arduino IDE über den Boardverwalter das Paket "pico" (Raspberry Pi Pico/RP2040, Earle Philhower) und wähle unter Werkzeuge › Board den Raspberry Pi Pico W. Ist es der erste Upload oder erscheint kein Port, halt beim Einstecken des USB-Kabels die Taste BOOTSEL gedrückt; die Arduino IDE sieht das Board als Laufwerk und lädt darauf hoch. Installiere BlueGraysIoT mit Abhängigkeiten über die Bibliotheksverwaltung.

Wie bringe ich Reedkontakt und Magnet an?

Kleb oder schraub den Reedkontakt an den Türrahmen und den Magneten so an die Tür, dass er bei geschlossener Tür genau gegenüber sitzt; der Abstand sollte unter 1 cm bleiben. Ist der Magnet nah, schließt der Reed und die Tür zeigt Geschlossen; geht die Tür auf und der Magnet entfernt sich, zeigt sie Offen. Die zwei Beine des Reeds haben keine Polarität, es ist egal, welches an GP14 geht. Brauchst du längere Kabel, reicht ein dünnes zweiadriges Kabel. Glas-Reeds sind empfindlich, bieg die Beine nicht direkt am Körper.

Geht das auch mit einem ESP32?

Ja. Wähl beim Hinzufügen des Geräts ESP32 als Board; der Code bleibt gleich, nur der Pin ändert sich: ein Bein des Reeds an GPIO27, das andere an GND. Installiere in der Arduino IDE das Paket "esp32" über den Boardverwalter. Schaltung und Foto auf dieser Seite sind mit einem Pico W entstanden.