Ich habe mir als Ziel gesetzt ein WLAN Tür- Fensterkontakt Melder zu entwickeln der wenig Strom verbraucht, sendet Information beim Öffnen und Schließen und hat dabei möglichst wenig Bauteile.
Ich müsste ein Reset auslösen, beim Schließen und beim Öffnen des Reedkontakts. Transistorschaltungen wurden dabei zu umfangreich. Letztendlich habe ich zum einen XOR Gatter gegriffen.
IP Fensterkontakt Schaltung WLAN Reedkontakt Schaltplan

Funktion der Schaltung

Erste XOR Glied wird als Nicht-Gatter verwendet.
Zweite XOR Glied vergleicht nicht invertiertes und invertiertes Signal.
Wenn Signale unterschiedlich sind dann, wird ein high Signal erzeugt. Wenn wir R2, C2 weg denken, dann erzeugt diese Schaltung auf jeden Fall ein High Signal unabhängig davon ob Reedkontakt geschlossen oder geöffnet ist.
Das RC-Glied erzeugt eine Verzögerung auf einem Eingang des zweiten XOR Gatter.
So erzeugen wir ein kurzes Low Impuls beim Wechsel des Zustandes vom Reed Kontakt.
ESP8266 Fensterkontakt WIFI Reedkontakt Schaltplan


Einstellen über Webinterface

ESP8266 per Webinterface einstellen

RX/TX mit einem Jumper Brücken. Stromversorgung anlegen.
ESP8266 startet im Access Point Modus. Blaue LED am ESP-07 leuchtet Dauerhaft und zeigt damit dass Setup-Modus aktiv ist.
Mit einem WLAN fähigem Gerät das WLAN Netzwerk „Reedkontakt Setup“ auswählen und mit dem Passwort „tiramisu“ anmelden.
Dann starten Sie ein Internetbrowser und geben Sie in Adressleiste 192.168.168.30 ein. Wenn die Quellcode mit der Option #define DNS kompiliert wurde, dann wird beliebige Domen zum Setupseite führen. Es öffnet sich ein Formular mit Eingabefeldern für SSID, WLAN–Passwort und URL. Nach dem Absenden des Formulars erhalten Sie Meldung „Gespeichert“. Beim erneuten Aufruf vom 192.168.168.30, werden eingestellten Daten angezeigt. WLAN-Passwort wird dabei mit Sternchen ersetzt.
Im Eingabefeld „URL“ geben sie für PushingBox
"http://api.pushingbox.com/pushingbox?devid=__bekommen_Sie_beim_pushingbox__&"

Für ThingSpeak
"http://api.thingspeak.com/update?key=C9X9W344I42CNYIV&"

Get-Parameter field1 und field2 werden automatisch zugefügt.
field1 enthält das Zuschtand vom Fensterkontakt „0“ oder „1“
field2 enthält Messwert der Batterie Spannung
Erzeugte http-Aufruf sieht dann so aus:
"http://api.thingspeak.com/update?key=C9X9W344I42CNYIV& field1=1& field2=3,31"

Batterielaufzeit und Stromverbrauch

Es ist wichtig nicht zu vergessen die rote LED abzulöten. Die rote LED kann nicht durch Software abgeschaltet werden, weil die direkt über Vorwiderstand an Stromversorgung angeschlossen ist. Ich habe ganz barbarisch diese LED mit Elektronik-Seitenschneider abgerissen.

Theoretische Batterielaufzeit: Alkali-Mangan Batterie des Formfaktors AAA hat typ. Kapazität 1,2Ah.
Der ESP8266-Modul in Sleep-Modus bzw. disabled verbraucht 16uA (0,016mA oder 0,000016A). Das habe ich selbst mit einem Multimeter gemessen.
Berechnung: 1,2Ah/0,000016A=75000h. 75000h/24= 3125 Tage. 3125Tage/365Tage= 8 Jahre.

Im aktivierten Zustand verbraucht das ESP-07 Modul 80mA. Das Verbindungsaufbau und der Versand einer Nachricht an den PushingBox dauern etwa 2 bis 3 Sekunden.


Download Firmware und Quellcode

Download BIN für ESP-07  -Laden der Firmware mit einem Tool über serielle Schnittstelle. Anleitung
(Kompiliert mit Arduino ver. 1.6.12, ESP8266 Bibliothek ver. 2.3.0).

Download Projekt -Sketch für Arduino, es wird Bibliothek Core for ESP8266 WiFi chip benötigt