WLAN Kontakt Ver2

Hier findet ihr die Version 2 des Wlan Melders. Diese Version habe ich komplett neu entworfen. Sie ist nicht mit Transistoren aufgebaut sondern mit Flip Flop´s. Verbraucht noch weniger Strom , läuft zuverlässiger und ist weiter entwickelt.

Die Schaltung
Schaltplan

SW1 ist ein Reedkontakt(Öffner) aus dem Eisenbahnmodellbau. Er ist mit den Eingängen B und A der zwei 74HC423 verbunden. Beim Öffnen wird eine low/high Flanke erzeugt, beim schliessen eine high/low Flanke. In beiden Fällen reagiert einer der zwei Flip Flops und erzeugt am jeweiligen Ausgang (PIN4 oder 12) einen high/low Impuls. Dieser weckt den ESP8266, über den Reset (ESP Pin1), auf und das Programm läuft ab. Über ESP GPIO5 wird von der Software ausgewertet ob der Zustand geöffnet oder geschlossen ist. Nachdem der ESP gestartet ist, deaktiviert er das Flip Flop indem ein Signal über GPIO4, an den Pin´s 3 und 11 ausgegeben wird. Somit wird verhindert daß der ESP resettet wird während das Programm abläuft.

Die Firmware

Die Software basiert auf den Code von Michael Dworkin. Speziell der Code vom Projekt WLAN Notruftaster. Es handelt sich um einen Arduino Sketch. Der ESP teilt über email oder Push die beiden Zustände mit ob auf oder zu gemacht wurde. Im Detail überwacht er nach einer Bewegung eine Zeit lang den Kontakt. In der Regel, speziell bei Türen, wird nach einigen Sekunden wieder geschlossen. 2 Zähler dabei inkrementiert. (auf- und zu Zähler). Anschliessend baut er eine Wifi Verbindung auf und sendet euch per mail die Meldung. Im Setup kann angegeben werden ob eine periodische Benachrichtigung erfolgen soll wenn der letzte Zustand auf war. So erfahrt ihr wie lange das Objekt offen stand. Der gewünschte Zeitabstand kann auch eingestellt werden. ESP8266 startet 3 Versuche im Fall eines Verbindungsfehlers. Schlagen alle 3 fehl, zählt ein Fehlerspeicher hoch und beim der nächsten erfolgreichen Übertragung wird die Fehleranzahl mitgeteilt. Firmwareupdates sowie der Setupzugriff können via OTA erfolgen ohne den ESP ausbauen zu müssen.

Das fertige Modul
Melder Melder_installiert

Rechts findet ihr ein Bild eines installierten Modul's und die Draufsicht eines geöffneten Modul´s . Es passt in das gleiche 80x40mm Kunststoffgehäuse wie das Modul V1. Auch hier nehmen den meisten Platz die Batterien ein. Diese Schaltung ist ohne Transistoren realisiert. Zwei 74HC423 Flip Flop's regisrtrieren die Bewegung des Reed Kontaktes.

Installation und Konfiguration
FTDI Programmer

Zu erst den ESP8266 mit der Firmware programmieren. Dazu benötig ihr einen FTDI Programmer, dieser wird an der einen Seite über USB mit eurem PC verbunden, an der anderen Seite der RX, TX und GND PIN an den ESP8266. Vorsicht es muss ein FTDI Programmer sein der auf 3,3V umstellbar ist das sonst euer ESP die Flügel streckt. Das Aufspielen der Firmware geht über Arduino IDE. Für spätere Update´s ist dies nicht mehr nötig, einmal die Firmware aufgespielt lassen sich die Update´s über OTA installieren.

Mehr dazu findet ihr weiter unten unter Bedienung. Nachdem die Firmware aufgespielt wurde erfolgt die Konfiguration. Dazu den ESP an die Betriebsspannung (3,3 V) anschliessen und vorher die 2 PIN´s TXD und RXD brücken. Jetzt startet der ESP im Setup Modus und arbeitet als Accespoint. Ihr könnt euch über euren PC/Laptop mit ihm Verbinden, da er die SSID "WiFi-Melder" sendet. Connected euch mit dieser indem ihr das Passwort "hcetigol" verwendet(ohne Anführungszeichen).

Öffnet euren Browser. Ihr erreicht die Konfigurationsoberfläche des Webservers unter der IP Adresse 192.168.2.117 (Die IP könnt ihr auf Wunsch mit der Arduino IDE im Sketch ändern). Auf der Oberfläche die SSID und das PW eures WiFi Netzwerkes eintragen. Unter Nachricht die Bezeichnung der Tür/ Fenster eintragen. Unter URL den folgenden Link eingeben:




  • Bei Verwendung von XAMPP:
    "http://IP Adresse:89/mail.php? Passwort=rghj64t&"
    (ohne Anführungszeichen eingeben und die IP Adresse anpassen sprich die des Servers eingeben wo XAMPP läuft).

  • Bei Einsatz von PushingBox
    "http://api.pushingBox.com/pushingbox?devid=devid &"
    (ohne Anführungszeichen und hier die devid anpassen, bitte die eingeben die ihr in der PushingBox Konfiguration unter My Scenarios angezeigt bekommt).

ADC Kalibirierung

Um die Batteriespannung genau zu messen, muss bei jedem einzelnen Chip der individuelle Korrekturwert ermittelt werden und im EEprom abgelegt werden. Zum kalibrieren bitte, im Setup Modus, folgendes aufrufen: http://192.168.2.117/adc.html. die IP Adresse eventuell auf eure anpassen wenn ihr diese geändert habt. Speist euren Chip über ein Labornetzteil und stellt die Spannung auf 3,4V ein und betätigt dann den Link Kalibrieren mit 3,4V. Danach schraubt ihr die Spannung auf 2,4V runter und betätigt Kalibirieren mit 2,4V. Klickt dann auf nochmal messen und oben rechts sollte jetzt der richtige Wert angezeigt werden. Die Kalibrierung ist nun abgeschlossen, die Korrekturwerte sind im EEprom gespeichert.

Setzt nun den ESP8266-12 auf den Sockel der Platine auf.

Dann entweder XAMPP installieren und den Apache Server starten und konfigurieren. oder PushingBox einrichten und konfigurieren. Die Anleitungen dazu findet ihr unten.

Benötigte Dateien

Firmware
mail.php (bei Verwendung von XAMPP)
Schaltplan
KiCad Layout

Bedienung / Erläuterung

Erster Start: Nachdem die Batterien eingesetzt werden startet das Modul im Setup Modus zu erkennen durch 3 mal Blinken der LED in langer Folge. Das Modul sendet jetzt die SSID: "Wifi-Melder". Wollt ihr das Setup ändern verbindet euch mit dieser, das PW lautet: hcetigol. Über die IP Adresse 192.168.2.117 erreicht ihr das Setup. Wenn kein Setup gewünscht, reset auslösen durch entfernen oder annähern des Magneten an den Reedkontakt. Die blaue LED blinkt einige Male und leuchtet einmal lang auf ca. 4 Sek). Das Modul befindet sich nun im OTA Mode und ihr könnt über die Arduino IDE ein Firmwareupdate einspielen via WLAN ohne das Modul physikalisch mit eurem PC verbinden zu müssen. Wollt ihr das auch nicht dann erneut den Magneten vom Reed entfernen oder heran führen. Ab jetzt arbeitet das Modul regulär und sendet die Mail oder Push.

Aufbau der Meldung: Die Nachricht enthält folgende Informationen: Name der Station, ob geschlossen oder geöffnet wurde und Anzahl, Batteriespannung, RSSI sprich WLAN Signalstärke, Zyklus Nummer (fortlaufend ab Batterieeinsatz), den letzten Zustand (nur wenn merhmals kurz hintereinander eine Bewegung erfasst wurde). Falls das Modul keine Verbindung zum Wifi herstellen konnte oder die Meldung an den Server nicht absetzen konnte, wird dies in der RTC Memory gespeichert und beim nächsten erfolgreichen Connect werden die Anzahl der Fehlversuche unter WiFiConnF und HTTPConnF gemeldet.

nach oben