Etherrape/Zusatzhardware/FS20
From Lochraster
Contents |
[edit] Hardware
Da die unbelegten Pins des D-SUB 9 Pol Steckers innerhalb des Etherrapes auf Pinleisten herausgeführt sind ist die Installation des FS20 Senders sehr einfach. Hier eine bebilderte Anleitung.
Die benötigten Bauteile
So wird das FS20 Sendemodul an den 9Pos SUB-D Stecker angelötet der nachher auf die 9Pol SUB-D Buchse des Etherrapes aufgesteckt wird.
Der 10 Pol Pfostenfeld Verbinder hat eine Markierung (ein kleines Dreieck) dort muss Pin1 des Kabels angeschlossen werden!
Ader 1,2,10 des Kabeld werden benötigt
- Pin 1 = 3,3 Volt Versorgungsspannung für den Sender
- Pin 2 = Signal
- Pin 10 = Masse
Die nicht benötigten Adern können mit etwas Klebeband am Kabel fixiert werden, so benötigt man kein neues Kabel wenn weitere Adern benutzt werden sollen.
Jetzt wird das Kabel im Etherrape installiert und das Sendemodul auf die 9-Pol SUB-D Buchse des Etherrapes aufgesteckt. Fertig. Über die Kommandozeile (TCP Verbindung zu Port 2701) lassen sich mit dem 'fs20 send' Kommando nun beliebige fs20 Signale senden.
[edit] Nötige Pins
- GND
- 3V3 (Pin1 an SPI) - 3,3V
- WOL (Pin2 an SPI) - MOD
[edit] FS20 Empfangen
In der aktuellen Etherrape Firmware ist der Empfang von FS20 und WS300 (WS300 = Wetterstation http://www.elv.de Artikelnummer 68-653-90) Signalen bereits fertig implementiert. Eine bebilderte Anleitung folgt. Wer trotzdem schon loslegen möchte dem gebe ich hier eine kurze Anleitung zur Verdrahtung. Als Eingang wird Pin 4 /Ader 4 des Kabels benutzt (Pin INT am SPI Stecker). Der Ausgang des FS20 Empfängers wird über einen Spannungteiler mit diesem Pin verbunden.
(GND/Masse)----(Widerstand 4,7 K Ohm)---(Ader 4 des Kabels)---(Widerstand 10 K Ohm)---(Ausgang des FS20 Empfängers)
Der FS20 Empfänger wird mit +5V Versogt diese liegen auf Ader 9 des Kabels.
Das Bild zeigt ungefähr wie die Konstruktion aussehen könnte.
VORSICHT Auf dem Bild ist die Ader 7 statt der Ader 4 an die Mitte des Spannungsteilers geführt, das funktioniert so nicht
Der Empfänger kann dann an folgende Pins des SUB-D Steckers angeschlossen werden.
- Pin 1 = Signal
- Pin 4 = + 5Volt
- Pin 5 = Masse
Auf dem nächsten Bild sind ein FS20 Empfänger und Sender sowie ein serielles Kabel zur Programmierung des Etherrape zu sehen. Es wird empfohlen das FS20 Empfangsmodul wie auf dem Bild gezeigt anzubringen.
[edit] Protokoll
FS20-Protokoll (entnommen von http://fhz4linux.info/tiki-index.php?page=FS20+Protocol)
[edit] Hauscode
Angenommen, der gewählte (und in die Fernbedienung programmierte) Hauscode ist 12341234:
- Von allen Ziffern "1" abziehen: 01230123
- bc aufrufen:
$ bc bc 1.06 Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. obase=16 ibase=4 01230123 1B1B
- Der Hauscode ist 0x1B1B
[edit] Adresse
Umrechnung wie oben:
- Z.B. Adress-Gruppe 11, Einzeladresse 13
- ergibt hintereinandergeschrieben 1113
- Minus 1 bei jeder Ziffer: 0002
- in bc:
0002 2
- Die Adresse ist 0x02
Hier eine kurze Übersichtstabelle:
Adress- Einzel- Hex Funktion Gruppe adresse 11 11 0x00 11 12 0x01 11 13 0x02 11 14 0x03 11 21 0x04 11 22 0x05 11 23 0x06 11 24 0x07 11 31 0x08 11 32 0x09 11 33 0x0a 11 34 0x0b 11 41 0x0c 11 42 0x0d 11 43 0x0e 11 44 0x0f lokal Master 12 11 0x10 12 12 0x11 12 13 0x12 12 14 0x13 12 21 0x14 12 22 0x15 12 23 0x16 12 24 0x17 12 31 0x18 12 32 0x19 12 33 0x1a 12 34 0x1b 12 41 0x1c 12 42 0x1d 12 43 0x1e 12 44 0x1f lokal Master 13 11 0x20 ... 13 44 0x2f 14 11 0x30 ... 14 44 0x3f 21 11 0x40 ... 21 44 0x4f ... 44 44 0xff Master
[edit] Befehl
0 0x00 000 00000 aus 1 0x01 000 00001 an, 6,25% Einschalten auf Helligkeitsstufe 1 (min.) 2 0x02 000 00010 an, 12,5% ... .... ... ... ... 15 0x0f 000 01111 an, 93,75% 16 0x10 000 10000 an, 100% Einschalten auf Helligkeitsstufe 16 (max.) 17 0x11 000 10001 an, alter Wert Auf letztem Helligkeitswert einschalten 18 0x12 000 10010 toggle Wechsel zwischen “aus” und “an, alter Wert“ 19 0x13 000 10011 dim up Eine Helligkeitsstufe heller 20 0x14 000 10100 dim down Eine Helligkeitsstufe dunkler 21 0x15 000 10101 dim up and down ..., + bis max, kurz warten, - bis min, kurz warten, … 22 0x16 000 10110 timeset Timerprogrammierung (Start, Ende) 23 0x17 000 10111 send status Nur bei bidirektionalen Komponenten! 24 0x18 000 11000 aus, für Timerzeit 25 0x19 000 11001 an, 100%, für Timerzeit 26 0x1a 000 11010 an, alter Wert, für Timerzeit 27 0x1b 000 11011 reset (auf Auslieferzustand) 28 0x1c 000 11100 frei 29 0x1d 000 11101 frei 30 0x1e 000 11110 frei 31 0x1f 000 11111 frei
[edit] Anwendung
Beispiel:
- Hauscode: 12341234
- Adresse: 1113
- Licht einschalten
# ethcmd --command=fs20_send -H IP 1B1B 02 10
[edit] Alternativen
Entweder mit netcat IP 2701 oder screen /dev/ttyUSB0 115200 8N1:
fs20 send 0x1b1b 0x02 0x10
Wobei IP zB.: 10.0.0.5 ist.
Das funktioniet dementsprechend auch:
$ echo "fs20 send 0x1b1b 0x02 0x12" | netcat IP 2701 -q 1