Etherrape/Zusatzhardware/FS20

From Lochraster

Jump to: navigation, search

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.

Benötigte Bauteile zum Zusammenbau des FS20 Senders

Die benötigten Bauteile

FS20 Sender am SUB D Stecker zum Aufstecken an dei SUB-D 9-Pol Buchse des Etherrape

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.

Kabel zum Einbau in das Etherrape

Der 10 Pol Pfostenfeld Verbinder hat eine Markierung (ein kleines Dreieck) dort muss Pin1 des Kabels angeschlossen werden!

Kabel zum Einbau in das Etherrape

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.

Kabel zum Einbau in das Etherrape

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

Kabel zum FS20 Empfang


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.

Kabel zum FS20 Empfang

Kabel installiert

[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