Oft besteht der Wunsch, elektrische Geräte automatisiert oder online schalten zu können.
Für die Installation solcher Geräte sind elektrische Installationen notwendig, um eine Verbindung zum Server zu realisieren..
In Mietswohnungen sind meist eigene elektrische Installationen nicht gestattet. Deshalb haben wir uns Gedanken gemacht, ob man diese Verbindungen mittels WLan realisieren könnte. Daraus ist das WLan-Modul entstanden.
An einem WLan-Modul kann man bis zu 8 Geräte anschließen und diese mittels WLan ansprechen.
Die Anschaffungskosten sind aufgrund preiswerter benötigter Hardware gering, womit man es in Mietswohnungen zum Schalten von Geräten einsetzen kann.
WLan-Module können auf Terassen oder im Garten eingesetzt werden, so lang sie sich im Bereich des privaten WLans befinden. Die Signalstärke muss nicht gut sein, da der Datenverkehr gering gehalten wird.
Das D1-Mini-Lite ist das Interface (die Schnittstelle) zwischen WLan und den zu schaltenden physischen Objekten.
Bitte ein Bild.
Es besitzt folgende Elemente.
WLan-Chip für die Kommunikation mittels Drahtlos-Netzwerk im 2,4 GHz-Bereich
ESP8265-Chip für das Ausführen der Software, Taktfrequenz wahlweise 80 oder 160 MHz
1 MB Flash-Speicher (4 MB bei D1-Mini-Pro)
GPIOs, von denen bis zu 8 Stück für das Ansteuern der zu schaltenden Objekte genutzt werden können.
Als Alternative kann auch ein D1-Mini-Pro genutzt werden, es läuft mit der gleichen Software.
Schaltverstärker
Das D1-Mini-Lite schaltet die GPIOs mit 3,3 Volt Gleichspannung, der Schaltstrom beträgt maximal 10 mA, woraus eine maximale Schaltleistung von 33 mW resultiert.
Das reicht gerade mal zum Ansteuern von elektronischen Bauteilen (Transistoren, LEDs, etc.). Um in der Praxis Geräte schalten zu können, werden höhere Schaltspannungen und -leistungen benötigt. Dafür gibt es folgende Schaltverstärker:
Solid-State-Relay
Ein Solid-State Relay ist eine Art Optokoppler zum Verstärken von Schaltungen. Es arbeitet mit Licht, mechanische Bauteile sind nicht vorhanden. Es schaltet lautlos.
Daraus resultieren folgende Vorteile:
Geringe Anschaffungskosten
Die zu schaltende Ausgangsspannung beträgt 230 V Wechselspannung (AC).
Es wird eine sehr geringe Eingangschaltleistung von etwa 1 mW benötigt.
Es kann sehr viele Schaltungen pro Sekunde ausführen.
Der Eigenstromverbrauch ist vernachlässigbar klein.
Es arbeitet nahezu verschleißfrei.
Als Nachteil des Solid-State-Relays ist hier die maximale zu schaltende Stromstärke zu erwähnen, die bei 2 A (auch nur kurzzeitig) liegt. Somit beträgt die maximal zu schaltende Leistung bei 460 W.
Hinweis bei Geräten mit Netzteil: Hat man z.Bsp. ein Gerät mit einer elektrischen Leistungsaufnahme von etwa 20 W, scheint das Solid-State-Relay der ideale Schaltverstärker zu sein. Aber es kann vorkommen, dass unter gewissen Umständen die Einschaltleistung sehr kurzzeitig auf bis zu 2000 W klettert, das hängt von der Wechselstromkurve ab, das Solid-State-Relay würde Schaden nehmen. Um diesen Schaden zu vermeiden, gibt es die Option smooth im SmServer, die mehrfach getestet wurde. Es ist zu beachten, dass die entsprechenden Geräte nur mit dieser Option geschaltet werden.
Mechanisches Relay
Ein mechanisches Relay führt die Schaltungen mittels eines Elektromagneten aus. Mittels magnetischer Energie wird der Metallkontakt angezogen, womit die Schaltung erfolgt. Ein leises Klick ist zu hören.
Für den Aufbau des Magnetfeldes ist eine gewisse Menge an elektrischer Energie notwendig. Ist das Magnetfeld aufgebaut, wird für das Halten dieses Feldes nur wenig elektrische Energie benötigt.
Um den Elektromagneten mit geringer Einschaltleistung schalten zu können, besitzt das Relay eine elektronische Vorverstärkung mittels Transistor. Deshalb können wir das mechanische Relay mit einem D1-Mini-Lite nutzen.
Es ergeben sich höhere maximale Ausgangsleistungen für Geräte, die derzeit bei etwa 2300 W (230 V, 10 A) liegen. Eine sehr kurzzeitige Überlastung führt nicht gleich zum Defekt aber zu einem gewissen Verschleiß.
Gerade beim Schalten von höheren Ausgangsströmen verschleißt der mechanische Kontakt, da beim Schaltvorgang ein geringer Funkenflug entsteht. Deshalb sollte so ein Relay nicht bis auf das Maximale ausgereizt werden.
Seit den 80er Jahren wurde hier gute Entwicklungsarbeit geleistet, wovon wir heute profitieren. Deshalb gibt es heute mechanische Relais, die über 40 Jahre alt sind, unzählige Schaltungen durchgeführt haben und immer noch funktionieren.
Weitere Schaltverstärker
Um höhere Ausgangsschaltleistungen realisieren zu können, gibt es im Fachhandel unzählige Geräte wie Relays und Schütze.
Man könnte z.Bsp. mit einem Solid-State-Relay ein Schütz schalten, welches eine Maschine (Mischmaschine, Schweißgerät) schaltet.
Um so etwas umzusetzen, ist die Projektierung und Installation durch eine Elektro-Fachkraft notwendig. Diese Fachkraft kennt Geräte, Gefahren und Bestimmungen, die eingehalten werden müssen.
Elektrischer Strom macht klein und hässlich. Dieser Bereich gehört nicht mehr zum UKSwitch-System.
Das Netzteil
Das Netzteil dient zur Bereitstellung elektrischer Energie für das D1-Mini-Lite und den integrierten Schaltverstärkern.
Das D1-Mini-Lite kann mit einer Gleichspannung von 3,3 V oder 5 V versorgt werden. Für den Betrieb benötigt es einen Gleichstrom von etwa 20 bis 60 mA. Der Einschaltvorgang kann auch schon mal 100 mA benötigen.
Solid-State-Relays benötigen eine Gleichstromspannung von 5 V und eine sehr geringe Stromstärke. Ich weiß, dass sie auch mit 3,3 V funktionieren, das ist aber unteres Limit und nicht für dauerhaften Betrieb geeignet.
Mechanische Relays benötigen 5 V Gleichspannung. Beim Einschaltvorgang benötigen sie sehr kurzzeitig etwas Strom. Danach wird er nahezu vernachlässigbar klein.
Im Endeffekt reicht ein Netzteil, was 5 V Spannung und 250 mA Strom bereitstellt, vollkommend aus. Es ist aber auch der Wirkungsgrad zu beachten, da das Netzteil 24/7 im Einsatz ist. Deshalb sind sehr preisgünstige Geräte nicht immer die gute Wahl.
Die Software
Software ist ein Programmcode, der auf einem Computer ausgeführt wird oder werden kann. Was kann ein Computer ohne Software? Nichts. Das gilt auch für diesen Mini-Computer D1-Mini-Lite.
Die von uns entwickelte Software besitzt folgende Eigenschaften:
Bereitstellung eines Access-Point-Modus mit integrierter Webseite, um Daten des privaten Netzes eingeben oder ändern zu können.
Verwalten von 8 Ausgängen (GPIOs).
TCP-Server für die Kommunikation mit Clients, der 8 TCP-Kanäle zur Verfügung stellt. Somit können 8 verschiedene Clients gleichzeitig und unabhängig voneinander die 8 Ausgänge nutzen.
Erweiterte Schaltfunktionen wie Pulsieren, Blinken oder gar Text in Morsezeichen ausgeben.
Einschaltzähler für jeden Ausgang
Ansteuerungen der Ausgänge über Webseite möglich aber im Normalbetrieb nicht empfohlen
Einstellbare Performance- und Energiesparen-Parameter des Moduls je nach Bedarf
Blaue LED dazu negiert. Beim Booten morst dieser Ausgang die IP-Adresse. Das lässt sich abschalten, dann wird der Ausgang während des Bootens auf high gesetzt.
Device ist die Angabe, mit der Ausgänge mittels TCP-Verbindung angesteuert werden.
Device 6 (D0) und Device led (D4) sollten aufgrund des Bootvorganges nur für Geräte genutzt werden, die viele Schaltungen pro Sekunde vertragen. Geräte mit Netzteil sind hier nicht geeignet, Feinsicherung könnte auslösen. Der Attackenschutz greift hier nicht.
Um das WLan-Modul nutzen zu können, müssen die Daten des privaten Netzes eingegeben werden. Dazu gehören die SID/SSID, die Passphrase und ein Hostname, mit dem das Gerät eindeutig im privaten Netz identifiziert werden kann.
Dazu wird ein WLan-fähiges Gerät, z.Bsp. Laptop, Smartphone oder Tablet, mit Internetbrowser benötigt.
Das D1-Mini-Lite muss mit elektrischer Energie versorgt werden können. Das kann über das Netzteil oder mittels USB-Kabel erfolgen.
Soweit es möglich ist, sollten elektrische Endgeräte noch nicht angeschlossen sein, da es zu ungewollten Schaltungen kommen kann.
Schritt 1: Eingabe der Netzwerkdaten
Versorge das Modul mit elektrischer Energie.
Im Auslieferungszustand startet es im Access-Point-Modus. Es stellt ein eigenes WLan zur Verfügung. Die blaue LED blinkt zyklisch mit einer Frequenz von etwa 30 Hz.
Verbinde dein Gerät mit dem WLan zu dem Netz mit der SID ukswitch-module. Es ist ein offenes Netz, die Eingabe einer Passphrase ist nicht notwendig.
Öffne deinen Internetbrowser und rufe folgende URL auf: http://192.168.4.1
Es erscheint die Webseite des Moduls. Schnell erkennt man, dass man bereits jetzt Geräte schon schalten kann. Das dient nur zu Testzwecken und sollte so nicht genutzt werden, da sich jeder, der sich in Reichweite befindet, diese Verbindung ungeschützt nutzen kann.
Navigiere zum Bereich Daten des WLan-Netzwerkes eingeben. Gib dort die entsprechenden Daten ein. Erläuterungen zu den Daten werden angezeigt.
Prüfe die Daten noch einmal und klicke auf Netzwerkdaten speichern. Es wird eine letzte Seite angezeigt, die eine URL angibt, mit der das Modul im privaten Netz errechbar sein sollte.
Das Modul startet in 12 Sekunden neu und versucht eine Verbindung zum privaten Netz zu erstellen. Ist das erfolgreich, blinkt die blaue LED sehr häufig, sie gibt die erhaltene IP-Adresse als Morsezeichen aus, das Modul befindet sich im Server-Modus. Passiert das innerhalb einer Minute nicht, kann das Modul keine Verbindung aufbauen. Trenne das Modul von der Energieversorgung. Dann kannst Du von vorn beginnen.
Hinweis: Wird in Zukunft das Modul erneut eingeschaltet, darf es nicht von der Energieversorgung getrennt werden, bis die blaue LED alle Morsezeichen ausgegeben hat. Ansonsten startet es das nächste mal wieder im Access-Point-Modus.
Schritt 2: Ausgänge einstellen
Manchmal müssen Ausgänge negiert werden, d.h. um eine Leuchte einzuschalten muss der Ausgang auf Aus gesetzt werden. Das hängt davon ab, wie sich angeschlossene Schaltverstärker verhalten (LOW-LEVEL, HIGH-LEVEL usw.).
Bei sicherheitsrelevanten Schaltungen ist es nicht egal, in welcher dieser Art die Schaltung erfolgt. Hier sollte eine Elektro-Fachkraft hinzugezogen werden, um Modul, Schaltverstärker und angeschlossenes Gerät so zu konzipieren, damit niemand zu Schaden kommen kann.
Bei Inbetriebnahme eines neuen D1-Mini-Lites kann man nicht vorhersagen, welcher Ausgang negiert ist und welcher nicht. Deshalb müssen die Ausgänge entsprechend eingestellt werden.
Versorge das Modul mit elektrischer Energie und warte, bis es mit dem privaten Netz verbunden ist und blaue LED nicht mehr blinkt.
Verbinde Dein Gerät mit dem privaten Netz. Öffne im Internetbrowser den Link, den Du unter Schritt 1 Punkt 7 erhalten hast. Sollte das nicht funktionieren, musst Du Dich im Router anmelden, um die IP-Adresse des Moduls zu erfahren. Mit dieser IP-Adresse kann man es versuchen. Wichtig dabei ist es, den Port 49112 mit anzugeben. Beispiel: http://192.168.2.212:49112
Im ersten Bereich Ausgänge testen, negieren werden alle verfügbaren Ausgänge angezeigt. Am Ende jeden Eintrags findel man das Wort in grün negieren (Ausgang ist nicht negiert) oder in rot negiert (Ausgang ist negiert). Auf dieses Wort kann man Klicken, um die entsprechende Negierung umzuschalten. Führe das so aus, wie es erst mal richtig sein sollte. Die Änderungen sind sofort wirksam.
Trenne das Modul von der Energieversorgung und schließe alle elektrischen Endverbraucher an. Starte das Modul neu warte die Startprozedur ab. Alle Geräte sollten nun ausgeschaltet sein. Ist das nicht der Fall, kann man entsprechende Ausgänge auf der Webseite korrigieren.
Wir haben nun eine Webseite im privaten Netz, mit der Geräte geschaltet und eingestellt werden können. Aber das sollte so nicht genutzt werden, da sämtliche und damit relevante Optionen fehlen. Das Modul ist nun bereit, so dass es SmServer im Ukswitch-System nutzen kann.
Auf keinem Fall darf im Router eine Freigabe ins Internet auf Port 49112 eingerichtet werden, da die Datenübertragung unverschlüsselt und sehr gering ist. Wir empfehlen sogar, diese Module den Internetzugriff von innen zu entziehen (Kindersicherung).
In diesem Bereich geht es um die Balance zwischen Leistung und Energiesparen.
Für normale Anwender sind die voreingestellten Parameter zu empfehlen. Somit sind weitere Einstellungen nicht notwendig. Dieser Bereich ist für interessierte Nutzer, die vielleicht etwas mehr Performance bevorzugen.
Das WLan-Modul ist grundsätzlich nicht für viele Schaltungen pro Sekunde ausgelegt. Dafür gibt es bessere Hardware. Tests haben ergeben, dass es 200 Schaltungen pro Sekunde ausführen könnte. Performance ist notwendig. Das gelingt aber nur ein paar Minuten. Danach sagt es: "Hey Alter, ich habe kein Bock mehr. Auf Wiedersehen." Ein Neustart des Moduls wird erforderlich, was nervt und keiner will.
Wie sieht es in der Praxis aus? 20, 50 oder 300 Schaltungen pro Tag. Dafür tümpelt das Modul zu über 99% im Leerlauf rum. Braucht man dazu volle Performance?
Bei voller Perfomance benötigt das D1-Mini-Lite eine elektrische Leistung von mehr als 0,5 W. Im ruhigen Modus läuft es stabiler und benötigt etwa 0,1 W elektrische Leistung. Wer rechnen kann weiß: Energieeinsparung 80%.
Die Software ist so konzipiert, dass sie sich auf das Nutzerverhalten automatisch einstellt. Werden viele Schaltungen nacheinander ausgeführt, wird die Performance erhöht. Erfolgt über längerer Zeit keine Anfrage, wird Performance verringert und Energie gespart.
Hinweis zur heuigen Zeit: Das ist keine KI (künstliche Intelligenz). So etwas realisert man mit einfacher Mathematik.
Dieses Verhalten kann man seinen Berdürfnissen anpassen, wenn man versteht, wie es funktioniert.
Feste Parameter in der Software:
Tick: Tick ist ein Zähler der Zyklusdurchläufe. Erreicht Tick bestimmte Werte ohne dass Anfragen kamen, wird der Zyklusdurchlauf um 1 ms verlangsamt. Kommt eine Anfrage, wird Tick um 2% des eigenen Wertes verringert, die Zykluszeit wird dem entsprechend verkürzt..
Waittime: Ist ein Programmzyklus durchlaufen, wird dieser Wert in Millisekunden gewartet, bis ein erneuter Programmdurchlauf erfolgt. Dieser Parameter ist wichtig für ein stabilen Betrieb und entscheidet über die benötigte Energieaufnahme.
MaxTicks Das ist eine Konstante mit dem Wert 4.294.967.295. Sie gibt die Lebenszeit in Ticks an. Das ist der Wert, den Tick maximal erreichen darf. Wird er erreicht, setzt sich Tick auf den Punkt zurück, wie es gestartet wurde und meiste Energie spart. Das wurde getestet, ist aber bei normaler Nutzung nach mehreren Jahren der Fall. Kann man so lang das Modul ununterbrochen mit Energie versorgen?
Einstellbare Parameter:
MinCycleWaittime: Dieser Wert gibt an, wie schnell die Programmzyklen in Millisekunden wiederholt werden dürfen. Dieser Parameter ist wichtig für die Stabilität. Für den Normalanwender sind Werte von 2 bis 8 empfohlen. Wer Performance haben möchte, kann diesen Wert auf 0 setzen, muss aber damit leben, dass das Modul die Arbeit verweigern könnte.
MaxCycleWaittime: Dieser Wert gibt in Millisekunden an, wie langsam sich Zyklusdurchläufe wiederholen dürfen. Empfohlene Werte sind hier 32 bis 512. Höhere Werte Werte können nerven aufgrund der Wartezeit.
Range: Jetzt wird es kompliziert. Dieser Wert gibt an, wie oft der variable Zeitbereich in die Lebenszeit reinpasst. Hier geht es um folgendes: Wurde ein Modul für sehr sehr langer Zeit nicht genutzt, bleibt es doch bedienbar. Kommt eine Anfrage, wird die Performance nicht erstmal erhöht. Nur wenn mehrere Anfragen kommen, kommt das Modul aus dem Schlaf heraus. 768 ist ein guter Wert für diesen Parameter. Verkleinert man den Wert, stellt sich das Modul langsamer auf die Bedürfnisse ein. Erhöht man den Wert, erfolgt das schneller.
Wurde die Inbetriebnahme erfolgreich durchlaufen, können wir bereits mittels der Webseite Ausgänge ansteuern. Diese Webseite ist nur ein Hilfsmittel wie ein Ersatzrad im PKW. Die wirkliche Kommunikation sollte direkt per TCP erfolgen.
Für den eigenen Rechner gibt es Tools, die eine TCP-Verbindung aufbauen, eingegebene Daten senden und empfangene Daten ausgeben. Für Debian-Nutzer empfehle ich das Programm nc (netcat) aus dem Packet netcat-openbsd, was in den Beispielen verwendet wird.
Das Wlan-Modul kann maximal 8 TCP-Verbindungen gleichzeitig bedienen.
TCP-Verbindung aufbauen
Aufruf von netcat:
nc HOSTNAME 49112
Für HOSTNAME kann man den Namen im privaten Netz, die IPv4-Adresse oder die IPv6-Adresse nutzen.
49112 ist der Port, auf dem das Modul lauscht.
Es ist richtig, dass das Modul nichts antwortet, das spart später Zeit und gibt Sicherheit.
Wenn Ihr sicher sein wollt, dass eine Verbindung vorhanden ist, könnt Ihr mal
help
eingeben.
TCP-Verbindung schließen
Das WLan-Modul hat eigentlich keine Probleme damit, wenn eine TCP-Verbindung einfach abgebrochen wird.
Das Verhalten weiterer Netzwerkgeräte (Router, eigener Rechner) spielt in diesem Fall eine Rolle. So kann es vorkommen, dass für die nächste Minute keine TCP-Verbindung erstellt wird.
Deshalb ist im WLan-Modul eine Funktion integriert, die eine TCP-Verbindung beendet. Dazu sendet man die Anweisung:
bye
Der Server gibt als Antwort bye zurück und schließt selbst die TCP-Verbindung.
Der SmServer nutzt den gleichen Weg zur Kommunikation mit Modulen. Obwohl er ein Server ist, agiert er als Client zu den Modulen.
Allgemeine TCP-Anweisungen
Hinweis für Client-Entwickler: Jede Anweisung muss mit einem NEW-LINE-Zeichen (ENTER, "\n") beendet werden, daran erkennt das Modul das Ende einer Anweisung.
Anweisung
Erläuterung
bye
Das Modul gibt bye zurück und beendet die TCP-Verbindung.
help
Das Modul gibt verfügbare Anweisungen und kurze Erläuterungen dazu aus.
devices
Es wird eine Liste mit verfügbaren Devices und den dazu gehörigen Anschlüssen ausgegeben. Siehe hier.
allGet
Die jetzigen Zustände aller Ausgänge werden als 0 (ausgeschaltet) oder 1 (eingeschaltet) ausgegeben. Die Reihenfolge entspricht den Device-Nummern. Der erste Wert entspricht Device 0, der 7. Wert Device 6 und der 8. Wert Device "led".
allSwitched
Es erfolgt eine Ausgabe, wie oft jeweilige Ausgänge seit dem letzten Booten eingeschaltet wurden. Die Reihenfolge entspricht der ebigen. Der 9. Wert ist die Summe der Einschaltungen aller Ausgänge.
ipv4
Die zugewiesene IPv4-Adresse im privaten Netz wird ausgegeben. Eine manuelle Einstellung der IPv4-Adresse im Modul selbst ist leider nicht möglich. Man kann dem Router anweisen, dem Modul immer eine festgelegte IPv4-Adresse zuzuteilen.
ipv6
Zugewiesene IPv6-Adressen werden ausgegeben. Für den Zugriff im privaten Netz sollte die Adresse genutzt werden, die mit fd beginnt, diese ist nur im privaten Netz gültig. Die IPv6-Adresse, die mit einer 2 beginnt, ist eine globale und damit weltweit einzigste Adresse für den Zugriff aus dem Internet. Da die Kommunikation unverschlüsselt erfolgt, sollte keine Nutzung mittels Internet angewandt werden. Darum kümmert sich der SmServer.
resetWLan
Modul startet sofort im Access-Point-Modus. Eine erneute Inbetriebnahme wird notwendig.
delaytime
Gibt die derzeit aktuelle Wartezeit pro Zyklus aus. Diese Wartezeit dient der Stabilität und der Energieeinsparung.
getDelaytimeValues
Es werden die minimale Wartezeit, die maximale Wartezeit und die festgelegte Range ausgegeben. Siehe hier. Weiterhin erfolgt die aktuelle Ausgabe des Tick-Zählers und der errechneten Wartezeit. Für den Normalanwender sind diese Parameter nicht interessant. Sie dienen der Laufzeitüberwachung.
setMinCycleWaittime ZAHL
Setzt die minimale Wartezeit pro Zyklus auf ZAHL Millisekunden. (Performance) Für ZAHL wird eine positive Ganzzahl größer gleich 0 notiert.
setMaxCycleWaittime ZAHL
Setzt die maximale Wartezeit pro Zyklus auf ZAHL Millisekunden. (Energie sparen) Für ZAHL wird eine Ganzzahl zwischen 8 und 65535 notiert. Allerdings nerven Werte über 1000, da das Modul sehr träge wird.
Wird das Modul neu gebootet, setzen sich die Parameter auf Energiesparen. Die Wartezeit pro Zyklus entspricht maxCycleWaittime Millisekunden. Erfolgen häufige Anweisungen zum Modul, verringert es die Wartezeit, um mehr Performance bieten zu können. Mit der Anweisung setDelaytimeStart werden die Parameter so gesetzt, wie sie nach dem Booten waren. Ein Neustart ist nicht erforderlich.
allOn [ZAHL = 0.1]
Testfunktion, alle Ausgänge werden eingeschaltet. Mit ZAHL kann eine Wartezeit in Sekunden zwischen den Einschaltungen der Ausgänge festgelegt werden, um Stromspitzen zu vermeiden. Dieser Wert ist optional und kann weggelassen werden.
allOff [ZAHL = 0.1]
Testfunktion, alle Ausgänge werden ausgeschaltet. Mit ZAHL kann eine Wartezeit in Sekunden zwischen den Ausschaltungen der Ausgänge festgelegt werden. Dieser Wert ist optional und kann weggelassen werden.
allToggle [ZAHL = 0.1]
Testfunktion, alle Ausgänge werden umgeschaltet. Eingeschaltete Ausgänge werden ausgeschaltet, ausgeschaltete Ausgänge werden eingeschaltet. Mit ZAHL kann eine Wartezeit in Sekunden zwischen den Schaltungen der Ausgänge festgelegt werden, um Stromspitzen zu vermeiden. Dieser Wert ist optional und kann weggelassen werden.
allPulse [ZAHL = 0.3]
Testfunktion, alle Ausgänge werden kurz nacheinander für ZAHL Sekunden ein- und ausgeschaltet. Mit ZAHL wird die jeweilige Einschaltzeit in Sekunden angegeben, dieser Wert ist optional und kann weggelassen werden.
allBlink
Softwaretest, sollte nicht bei angeschlossenen Geräten ausgeführt werden. Jeder Ausgang besitzt eine Blinkfunktion. Dazu besitzt jeder 2 Parameter: Einschaltzeit und Ausschaltzeit. Mit der Anweisung allBlink starten alle Ausgänge ihre Blinkfunktion und werden somit ständig ein- und ausgeschaltet. Mit der Anweisung allOff kann man die Sache beenden.
allDim [ZAHL = 30.0]
Softwaretest, Stresstest, sollte nicht bei angeschlossenen Geräten ausgeführt werden. Jeder Ausgang besitzt eine Dimmer-Funktion, die aber nur bei Geräten ohne Netzteil funktioniert. Für jeden Ausgang wird die Dimmerfunktion gestartet, Wir Menschen können etwa 30 Bilder pro Sekunde mit den Augen aufnehmen und im Gehirn verarbeiten. Die Dimmer-Funktion kann eine Leuchte 40 mal pro Sekunde ein- und ausschalten. Wir empfinden das als gedimmtes Licht. Mit ZAHL kann eine Leuchtkraft in Prozent angegeben werden. Da sich unsere Wahrnehmungen logarithmisch verhalten, wird für die Berechnung der kurzen Ein- und Ausschaltzeiten die Eulersche Konstante mit dem Wert von etwa 2,71828 verwendet.
allFlacker [ZAHL = 4.0]
Softwaretest, Stresstest, sollte nicht bei angeschlossenen Geräten ausgeführt werden. Jeder Ausgang besitzt eine Flackerfunktion, die alle mit dieser Anweisung eingeschaltet werden. Sie soll die Möglichkeit geben, Leuchten ohne Netzteil so zu schalten, dass wir es wie ein warmes Kaminfeuer empfinden. Dazu erfolgen wieder 40 Ein- und Ausschaltungen pro Sekunde je Ausgang. Die Werte für Ein- und Ausschaltzeiten werden von einem integrierten Zufallsgenerator erzeugt. Mit ZAHL setzt man eine Priorität für helleres Leuchten der Leuchte.
TCP-Anweisung für den Zugriff auf einzelne Ausgänge
Ein Ausgang wird mit einem zugeordneten Device angesprochen, siehe hier.
Der allgemeine Syntax dazu lautet:
DEVICE Anweisung [Optionen]
Für Device wird eine Zahl von 0 bis 6 oder "led" notiert.
Vielleicht ein Beispiel:
0 on
schaltet den Standardausgang ein, und
0 off
schaltet den Standardausgang aus.
Jeder Ausgang besitzt eigene Eigenschaften und somit unabhängig von anderen Ausgängen.
Liste verfügbarer Anweisungen für den Zugriff auf Devices, Ausgängen
Alle Optionen, die in eckigen Klammern dargestellt werden, sind optional.
Anweisung
Erläuterung
on
Ausgang wird eingeschaltet.
off
Ausgang wird ausgeschaltet.
get
Der aktuelle Zustand des Ausganges wird als 0 (ausgeschaltet) oder 1 (eingeschaltet) ausgegeben.
toggle
Der Ausgang wird umgeschaltet. Ist er ausgeschaltet, wird er eingeschaltet. Ist er eingeschaltet, wird er ausgeschaltet.
pulse [ZAHL = 0.3]
Ausgang wir für ZAHL Sekunden eingeschaltet und dann wieder ausgeschaltet (Pulsieren). Für ZAHL kann ein Wert, größer 0,0 notiert werden, dieser Parameter ist optional.
negate
Ausgang wird negiert. Hier geht es darum, ob der Ausgang als Öffner oder Schließer agieren soll. Die Einstellung bleibt nach dem Neustart erhalten, da sie auf den EPROM geschrieben wird.
blendon [FAKTOR = 2.71828]
Ausgang einblendend einschalten. Mit FAKTOR legt man fest, wie lang das Einblenden dauert. Hier sind Werte von 1.001 (sehr sehr langsam) bis 12 (schnell) möglich. Dieser Wert ist optional. SmServer nutzt diese Anweisung für ein sanftes Schalten des Ausgangs, wenn das Attribut smooth festgelegt wurde.
blendoff [FAKTOR = 2.71828]
Ausgang ausblendend ausschalten. Mit FAKTOR legt man fest, wie lang das Ausblenden dauert. Auch hier sind Werte von 1.001 (sehr sehr langsam) bis 12 (schnell) möglich. Dieser Wert ist optional. SmServer nutzt diese Anweisung für ein sanftes Schalten des Ausgangs, wenn das Attribut smooth festgelegt wurde.
switched
Die Anzahl der Einschaltungen des Ausganges seit des letztem Bootvorgangs wird ausgegeben.
blink [ONTIME [OFFTIME]]
Blinkfunktion, Ausgang ständig ein- und ausschalten. Für ONTIME und OFFTIME werden die Ein- und Ausschaltzeiten in Sekunden angegeben. Werden diese Parameter nicht angegeben, gelten die zuletzt eingestellten Zeiten.
dim [PERCENT = 30.0]
Eine Leuchte ohne Netzteil gedimmt einschalten. Wie schon gesagt können wir Menschen etwa 30 Bilder pro Sekunde mit den Augen aufnehmen und im Gehirn verarbeiten. Mit dieser Funktion wird der Ausgang etwa 40 mal pro Sekunde ein- und ausgeschaltet, wir nehmen es als gedimmtes Licht war. Mit PERCENT gibt man die für uns wahrnehmbare Leuchtkraft in Prozent an. Da sich unser Empfinden logarithmisch verhält, wird für die Berechnung der Ein- und Ausschaltzeiten die Eulerische Konstante mit dem Wert von etwa 2,71828 verwendet.
flacker [PRIORITY = 4.0]
Eine Leuchte ohne Netzteil wie ein Kaminfeuer flackern lassen. Hierzu wird der Ausgang wieder etwa 40 mal pro Sekunde ein- und ausgeschaltet. Die Ein- und Ausschaltzeiten werden von einem integrierten Zufallsgenerator berechnet. Mit dem Parameter PRIORITY legt man die Priorität für helleres Leuchten fest.
morse SPEED TEXT
Ausgang gibt TEXT in Morsezeichen aus. Mit SPEED definiert man die Geschwindigkeit nach Paris-Methode. Für Einsteiger ist ein Wert von 40 empfohlen. Umlaute wie ä, ö ü und ß werden nicht ausgegeben.
Möchte man ein WLan-Modul an eine andere Person weitergeben, sollte man folgendes beachten:
Auf dem EPROM des ESP8265 sind die SID/SSID und die Passphrase Eures privaten Netzes als Klartext gespeichert. So könnten andere Personen an diese Daten herankommen.
Eine Verschlüsselung dieser Daten würde kein Sinn machen, da sich der Code zum Entschlüsseln ebenfalls auf dem EPROM befinden würde.
Auch nach dem Zurücksetzen des Moduls in den Access-Point Modus sind diese Daten noch gespeichert.
Deshalb sollte man zur Außerbetriebnahme die Webseite des Moduls aufrufen und diese Daten löschen und diese Netzwerkdaten speichern.
Hierbei ist es egal, ob das Modul im Server-Modus (WLan im privaten Netz) oder im Access-Point-Modus (eigenes WLan ukswitch-module) läuft.