Diskussion:Funkfernbedienung: Unterschied zwischen den Versionen

Aus LaborWiki
Wechseln zu: Navigation, Suche
K (ein paar vorläufige Notizen...)
K (→‎Beispiele: wikifi)
Zeile 51: Zeile 51:
Von Handsender-Fernbedienung aufgezeichnet:
Von Handsender-Fernbedienung aufgezeichnet:


00 00 00 00 00    00 01 01 01 01    00 01 0  -  Gerät A on,  Hauscode "all dip's on"
00 00 00 00 00    00 01 01 01 01    00 01 0  -  Gerät A on,  Hauscode "all dip's on"
00 00 00 00 00    00 01 01 01 01    01 00 0  -  Gerät A off, Hauscode "all dip's on"
00 00 00 00 00    00 01 01 01 01    01 00 0  -  Gerät A off, Hauscode "all dip's on"
00 00 00 00 00    01 00 01 01 01    00 01 0  -  Gerät B on,  Hauscode "all dip's on"
00 00 00 00 00    01 00 01 01 01    00 01 0  -  Gerät B on,  Hauscode "all dip's on"
HAUSCODE          GERÄTECODE        COMAND
HAUSCODE          GERÄTECODE        COMAND


Beim Aufzeichen sieht man immer Sequenzen von entweder
Beim Aufzeichen sieht man immer Sequenzen von entweder

Version vom 1. Februar 2009, 00:21 Uhr

Ja, die Seite ist Aktuell. Warum dieser Tag?

Benutzer:Soeren hat diesen Tag wieder entfernt. --83.135.82.193 21:33, 9. Jul. 2008 (CEST)


Notizen zum Protokoll

Ich fasse hier mal ein paar Notizen zusammen die ich mir beim spielen mit der Funksteckdose gemacht habe. Meine Erfahrungen sind vollkompatibel zu dem was bereits hier im Wiki beschrieben wurde.

Genaugenommen habe ich hier einen HX2272-L2, d.h. die Geräte-Adresse wird über die über die Pins 7, 8, 10 und 11 (A5, A6, A7, A8) am IC gesetzt; Die Pins 12 und 13 (D1 und D0) sind Ausgänge (wobei bei mir Pin 13 (D0) der "Hauptausgang" ist und Pin 12 (D1) offen liegt).

~> Unstimmigkeit: Wo fängt der Gerätecode an, wo hört der Hauscode auf? Laut den Datenblättern haben wir 4 Pins für den Hauscode (Pins 7, 8, 10 und 11 (A5, A6, A7, A8)) und 6 Pins für den Gerätecode(Pin 1-6 (A0-A5)). Im folgenden betrachten wir aber die ersten 5 Pins (Pin 1-5 (A0-A4)) als Gerätecode und die 5 Pins Pin 6-8, 10 und 11 (A5-A8) als Hauscode. Das ist noch buggy...

Byteorder

Offenbar alles MSB (das Bit was am meisten "Wert" ist steht links) ausser den Eingängen A0-A8 (A8 ist "mehr Wert" als A7)

Codierung

Wir senden mit einem RFM12-Modul, das eigentlich nur FM kann, in AM indem wir den Sender im passenden Timing ein- und ausschalten.

Eine "0" wird gesendet indem man zunächst "eine Zeit lang"(0,5ms?) den Sender einschaltet und dann die doppelte länge dieser Zeit X den Sender wieder abgeschaltet lassen.

Eine "1" wird gesendet indem man zunächst die doppelte Zeit x lang den Sender ausgeschaltet lässt und dann den Sender für diese Zeit X eingeschaltet lässt.

Also wie bereits an anderer Stelle im Wiki beschrieben wird für jeden "1" die Zeichen "110" gesendet und für jede "0" wird "100" gesendet.

Adressierung

Die Chips werden mit einer 10bit "Hausadresse" und einer 10bit "Geräteadresse" versehen. Auf der Fernbedienung jumpert man den Hauscode. Die Gerätecodes (plus Ein-/Ausschaltbefehl) sind harcodiert den verschiedenen Tasten auf der Fernbedienung zugeordnet.

Beim Empfänger kann man Haus- und Gerätecode jumpern. Die Tristate-Eingänge Pin 1-6 (A0-A5) für den Hauscode und Pins 7, 8, 10 und 11 (A5, A6, A7, A8) für den Gerätecode sind entweder "offen" oder per Jumper auf Masse ("0") gezogen. Man definiert mit jedem Pin 2 Bit vom Haus-/Gerätecode nach folgender Tabelle:

Pegel  | binär
-------+--------
 GND   |  00
 offen |  01
 VCC   |  11

Die Werte "11" können also nur per jumpern und ohne umlöten nicht erreicht werden.

Befehle

Wir haben bisher nur folgende Befehle ausprobiert:

Befehl  |  Funktion
--------+----------
 00 01  |    On
 01 00  |    Off


Beispiele

Von Handsender-Fernbedienung aufgezeichnet:

00 00 00 00 00    00 01 01 01 01     00 01 0  -  Gerät A on,  Hauscode "all dip's on"
00 00 00 00 00    00 01 01 01 01     01 00 0  -  Gerät A off, Hauscode "all dip's on"
00 00 00 00 00    01 00 01 01 01     00 01 0  -  Gerät B on,  Hauscode "all dip's on"
HAUSCODE          GERÄTECODE         COMAND

Beim Aufzeichen sieht man immer Sequenzen von entweder

  • kurz Ruhe, dann 2 Zeiteinheiten rauschen (== "0")

oder

  • 2 Zeiteinheiten Ruhe und dann kurz rauschen (== "1")