Fzahn (Diskussion | Beiträge) (→Bilder) |
Fzahn (Diskussion | Beiträge) |
||
Zeile 47: | Zeile 47: | ||
Normalerweise hat das ESP8266 auf dem von uns verwendeten Modul ESP-01 eine rote Power-LED. Diese LED haben wir von der Platine gekratzt,damt konnten wir die Stromaufnahme im Deepsleep-Modus mehr als halbieren und benötigen eben noch etwa 30Mikro-Ampere | Normalerweise hat das ESP8266 auf dem von uns verwendeten Modul ESP-01 eine rote Power-LED. Diese LED haben wir von der Platine gekratzt,damt konnten wir die Stromaufnahme im Deepsleep-Modus mehr als halbieren und benötigen eben noch etwa 30Mikro-Ampere | ||
==Bedienung== | |||
Der Schalter benutzt die statische IP 10.23.42.22 | |||
Der erste WorldDominationSwitch schaltet das Licht in unserer Werkstatt ein- und aus. Dazu liest er den derzeitigen Lichtstatus über das MQTT-Topc /room/light/5/state ein und schaltet die Lichter über die MQTT-Topics /room/light/5/command und /room/light/6 command um. | |||
Wenn das MQTT-Topic /room/light/debug auf "enabled" steht, dann legt sich der Schalter nicht automatisch schlafen. Über "nc 10.23.42.22 2323" kann man sich dann auf das LUA-CLI verbinden. | |||
Bei dem derzeitigen Code legt sich der Schalter nach 10 MInuten Laufzeit aber auf jeden Fall auch dann schlafen, um die Batterie nicht auszulutschen. | |||
Achtung: Zugriff auf CLI nur durch qualifiziertes C3MA-Fachpersonal !! | |||
==Firmware-Hinweis== | |||
Aufgrund eines Speicherengpasses mussten wir die NodeMCU-Firmware ohne Flieskomma-Unterstützung kompilieren. | |||
Hierzu muss man die Firmware selbst kompilieren, nachdem man in die /app/lua/luaconf.h bei Zeilennummer 572 die Anweisung | |||
* #define LUA_NUMBER_INTEGRAL | |||
einfügt. | |||
==Quellcode== | ==Quellcode== |
Version vom 4. Juni 2015, 20:30 Uhr
WorldDominationSwitch
Projekt-Idee
Unsere Erfahrungen mit dem ESP8266 haben die Idee aufkommen lassen, einen autarken WLAN-Schalter zu bauen. Durch den günstigen Preis und die bereits vorhandene Raumautomatisierung auf Basis von OpenHAB und MQTT erscheint der ESP8266 als eine gute Lösung, um einen Schalter zu bauen, der bei Betätigung per WLAN eine Aktion auslöst.
Projektteilnehmer
Bilder
-
WorldDominationSwitch geschlossen
-
WorldDominationSwitch Innenleben
-
WorldDominationSwitch Innenleben
Funktionsweise
Die Umsetzung ist "chaotisch": Die Basistechnologien sind der ESP8266, MQTT und die NodeMCU-FIrmware . ESP8266 benötigt 2,8V bis 3,3V Strom und lässt sich damit ideal an entweder zwei Migon-Alkaline-Batterien oder an einer 3V CR2-Lithiumzelle betreiben. Der ESP8266 ist ausserdem so kompakt, dass er zusammen mit einer Lithiumzelle in einem Aufputz-Tastergehäuse verschwindet. Über die Nodemcu-FIrmware lässt sich der ESP8266 in einen DeepSleep-Mode versetzen und benögit nach unseren Messungen dann nur noch ca. 30 Mikroampere Strom. Damit ist der Ruhestrom so gering, dass auch die Lithium-Batterie eine ausreichend lange Betriebszeit bereitstellen sollte. Um die zur Verfügung stehende Strommenge möglichst optimal zu nutzen, arbeitet der ESP8266 nun in etwa folgendes ab, nachdem er über den Schalter resettet worden ist:
- Oh, was jetzt ? Leben!
- Ah ein WLAN! Ich probiere mal 10 Sekunden, da reinzu gehen
- Ich bin im WLAN, Yeah! Was für einen Wert hat den der MQTT-Topic für das Licht ? an oder aus?
- Okay, schreibe per MQTT das Gegenteil
- Gute nacht! ich geh wieder schlafen
Der gesamte Vorgang benötigt etwa 2-3 Sekunden. Währen dieser Zeit benötigt der ESP8266 zwischen 100 und 250 mA und geht dann wieder schlafen.
Hardware
Die komplette Hardware besteht eigentlich aus dem Taster im Aufputzgehäuse und dem ESP8266-Modul. Ausserdem benötigt man einen 10kOhm Wiederstand und ein wenig Litze. Dann wird folgende Verbindung hergestellt:
- Batterie-Minus <-> ESP8266 GND <-> Taster-Eingang1
- Batterie-Plus <-> ESP8266 VCC <-> ESP8266 GPIO0 <-> ESP8266 CH_PD
- Batterie-Plus <-10kOhm-> ESP8266 RST
- Taster-Eingang2 -> ESP8266 RST
Im Regelbetrieb liegt also der Reset-PIN über 10kOhm Pullup gegen VCC und wird durch den Taster zum Resetten auf GND (=Batterie-Minus) gezogen
Normalerweise hat das ESP8266 auf dem von uns verwendeten Modul ESP-01 eine rote Power-LED. Diese LED haben wir von der Platine gekratzt,damt konnten wir die Stromaufnahme im Deepsleep-Modus mehr als halbieren und benötigen eben noch etwa 30Mikro-Ampere
Bedienung
Der Schalter benutzt die statische IP 10.23.42.22
Der erste WorldDominationSwitch schaltet das Licht in unserer Werkstatt ein- und aus. Dazu liest er den derzeitigen Lichtstatus über das MQTT-Topc /room/light/5/state ein und schaltet die Lichter über die MQTT-Topics /room/light/5/command und /room/light/6 command um.
Wenn das MQTT-Topic /room/light/debug auf "enabled" steht, dann legt sich der Schalter nicht automatisch schlafen. Über "nc 10.23.42.22 2323" kann man sich dann auf das LUA-CLI verbinden.
Bei dem derzeitigen Code legt sich der Schalter nach 10 MInuten Laufzeit aber auf jeden Fall auch dann schlafen, um die Batterie nicht auszulutschen.
Achtung: Zugriff auf CLI nur durch qualifiziertes C3MA-Fachpersonal !!
Firmware-Hinweis
Aufgrund eines Speicherengpasses mussten wir die NodeMCU-Firmware ohne Flieskomma-Unterstützung kompilieren. Hierzu muss man die Firmware selbst kompilieren, nachdem man in die /app/lua/luaconf.h bei Zeilennummer 572 die Anweisung
- #define LUA_NUMBER_INTEGRAL
einfügt.