Inhaltsverzeichnis
Licht-Rolladen-Aktor
Durch den Lichtaktor wird dein Lichtschalter intelligent. Das Konzept ist einfach. Lichtschalter ausbauen, Lichtaktor hinter dem Lichtschalter einsetzen, beides wieder einbauen. Jetzt hat dein Lichtschalter eine IPv6 Adresse und ist über die Ferne steuerbar. Durch tauschen der Firmware wird aus dem Lichtaktor eine Rolladensteuerung. Deswegen der Name „Licht-Rolladen-Aktor“oder auf English „light-shutter-control“
Eigenschaften
- Statusanzeige Led-rot
- FTDI Programmieranschluss
- Konfigurationstaster
- 2x Optotriac Ausgang 1.2 A 240 Volt
- 2x Lichtschaltereingänge (240 Volt)
- CPU-Temperatursensor
- CPU-Spannungssensor
- 2,4 Ghz 6LoWPAN Funkanbindung
- AVR atmega128rfa1 Funkmodul
Bedienung
Die Bedienung des Rolladenschalters kann sowohl über vorhande Wandtaster als auch über Funk durch das Coap-Protokoll fernbedient werden. Durch den Einsatz eines Smart-Home Servers können die Rolläden zu bestimmten Zeiten oder durch einen Dämmerunssensorg hinauf oder hinunter fahren. Zusätzlich zur manuellen bzw. zeit- oder ereignissgesteuerten Schaltfunktion ist eine programmierbare Timerfunktion für die Einstellung der Fahrzeit des Rolladens über die angeschlossenen Taster verfügbar. Alle programmierten Daten werden im internen EEPROM dauerhaft gespeichert. Bei allen Schaltvorgängen die eine Drehrichtungsänderung des Motors des Rolladens verursachen ist eine Pause von 0,5 Sekunden eingebaut. Dadurch werden Schäden am Rolladen verhindert.
Betrieb über Funk
Auf Applikationsebene wird das COAP Protokoll eingesetzt. Die unten stehende Tabelle zeigt die verfügbaren Coap Funktionen zur Abfrage und Steuerung des Rolladensteuerung.
COAP-Resourcen
Resource | GET | POST | Comments |
---|---|---|---|
/.well-known/core | X | X | Well-Known URIs |
/p/model | X | - | Model Name |
/p/sw | X | - | Software Version |
/p/name | X | X | Device Name, POST name=THENAME |
/p/reset | X | X | Factory reset, POST mode=on |
/s/button | X | - | Config Button |
/s/swa | X | - | Light Switch A |
/s/swb | X | - | Light Switch B |
/s/cputemp | X | - | CPU Temperature Status |
/s/battery | X | - | CPU Spannung Status mV |
/a/led1 | X | X | Status LED-1 |
/a/led2 | X | X | Status LED-2 |
/a/optriac | X | X | TRIAC: ?type=a,b POST mode=on,off |
/a/timer | X | X | TRIAC on time |
Einfahren
Durch senden des Befehles „Optotriac-B ON“ über Coap fährt der Rolladen hinunter
coap-client -m post coap://[aaaa::221:2eff:ff00:34a9]:5683/a/optriac?type=b -e mode=on
Ausfahren
Durch senden des Befehles „Optotriac-A ON“ über Coap fährt der Rolladen hinauf
coap-client -m post coap://[aaaa::221:2eff:ff00:34a9]:5683/a/optriac?type=a -e mode=on
Anhalten
Durch senden des Befehles „Optotriac-A oder B OFF“ über Coap kann der Rolladen an einer beliebigen Position angehalten werden.
coap-client -m post coap://[aaaa::221:2eff:ff00:34a9]:5683/a/optriac?type=a -e mode=off
Handbetrieb
Die bei Betrieb über Funk gezeigten Funktionen lassen sich auch über zwei an die Rolladensteuerung angeschlossenen Standard-Taster ausführen. Diese Taster sind zum Ein- und Ausfahren des Rolladens immer kürzer als 5 Sekunden zu betätigen, ansonsten wird der Programmiermodus aktiviert.
Timer-Einstellung
Durch den eingebauten Timer wird der Rolladen durch einen kurzen Tastendruck oder über einen Coap Befehl ganz ein- oder ausgefahren. Im Auslieferungszustand ist die Zeitspanne zum Ein- und Ausfahren auf 1 Minute eingestellt. Diese Zeitdauer kann zwischen 1 Sekunde und 5 Minuten eingestellt werden.
Timer-Programmierung über Taster
Die an die Rolladensteurenung angeschlossene Taste für Ausfahren ist für mindestens 5 Sekunden zu betätigen. Sobald der Rolladen eingefahren wird beginnt die Zeitmessung. Durch nochmalige Betätigung des Tasters wird die Zeitmessung beendet.
Timer-Programmierung über Coap
Über den Coap Befehl „a/timer“ kann die Zeit eingestellt werden. In unserem Beispiel auf 10 Sekunden.
coap-client -m post coap://[aaaa::221:2eff:ff00:34a9]:5683/a/timer -e timer=10
Zurücksetzen in den Auslieferungszustand
Durch abschicken des Coap Befehles „p/reset“ kann die Steuerung in den Auslieferungszustand gesetzt werden.
Beschaltung der Rolladensteuerung
IP-Anbindung
Die Integration in das eigene IP-Netz erfolgt über einen RaspyEdge-Shield oder einen 6LoWPAN-Edge-Router. Dieser verbindet unsern 6LoWPAN-Merkur mit unserm IP-Netz um ihn über eine IPv6 Adresse ansprechen zu können.
Firmware
Contiki OS beinhaltet einen sehr kleinen IP Stack uIP genannt welcher eine Ipv6 und eine 6LoWPAN Implementierung beinhaltet. Das Betriebsystem ist in C geschrieben und wird mithilfe von Make gesteuerten Cross-Compilern für die jeweilige Hardwareplattform übersetzt.
Source-Code
Hardware
Contiki Sensoren/Aktoren
Name | File | PIN | Port | Funktion |
---|---|---|---|---|
Battery | battery-sensor.c .h | – | – | Interner Spannungssensor |
Button | button-sensor.c | SV1/4 | PE4/INT4 | Konfigurationsbutton |
swa | pcintkey.c .h | SV1/8 | PF6 | Light Switch A |
swb | pcintkey.c .h | SV1/7 | PF7 | Light Switch B |
optriac1 | optriac.c .h | SV1/3 | PE4 | Opto-Triac 1 |
optriac2 | optriac.c .h | SV1/4 | PE5 | Opto-Triac 2 |
led1 | led.c .h | SV1/5 | PE5 | LED 1 |
led2 | statusled.c .h | SV1/9 | PF5 | LED 2 |
Coap-Clients
Mit hilfe des Copper-Add-On spricht der Mozilla Browser das Coap Protokoll. Auf der Kommandozeile kann z.B. die Libcoad helfen. Durch eingabe einer Coap URI kann auf den Sensorknoten zugegriffen werden:
Beispiele
coap-client -m get coap://[aaaa::221:2eff:ff00:264e]:5683/.well-known/core coap-client -m get coap://[aaaa::221:2eff:ff00:264e]:5683/s/battery