Hallo zusammen, Ich habe für mein Mediacenter einen X10 Empfänger (auf 422mhz mit Pollin rfm01 im ook-mode + atmega32) gebaut. Funktioniert auch soweit ganz gut, nur leider scheint die Fernbedienung nicht im Standard X10RF Protokoll zu senden. Stattdessen verwendet sie eine seltsame 21 Bit Variante (hab das auch per Oszi überprüft...). Ich konnte zwar schon den Tastencode, Gerätecode sowie zwei Toggle-Bits identifizieren, allerdings tue ich mir mit Byte2 Der Daten immer noch schwer. Vielleicht hat ja einer von euch eine Idee... Code Taste ---------------------------------------- 1 1 1100010 1 0001101 0000 1 1 1 1100011 1 0001110 0000 2 1 1 1100100 1 0001111 0000 3 1 1 1100101 1 0010000 0000 4 1 1 1100110 1 0010001 0000 5 1 1 1100111 1 0010010 0000 6 1 1 1101000 1 0010011 0000 7 1 1 1101001 1 0010100 0000 8 1 1 1101010 1 0010101 0000 9 1 1 1101100 1 0010111 0000 0 1 1 0001100 1 0110111 0000 * 1 1 0001101 1 0111000 0000 # 1 1 1110000 1 0011011 0000 WeltTaste 1 1 1111001 1 0100100 0000 reward 1 1 1111010 1 0100101 0000 play 1 1 1111011 1 0100110 0000 forward 1 1 1111110 1 0101001 0000 pause 1 1 1110110 1 0100001 0000 step back 1 1 1111000 1 0100011 0000 step forward 1 1 1111101 1 0101000 0000 stop 1 1 1111100 1 0100111 0000 record 1 1 0000100 1 0101111 0000 info 1 1 1110101 1 0100000 0000 back 1 1 1100001 1 0001100 0000 p- 1 1 1100000 1 0001011 0000 p+ 1 1 1010101 1 0000000 0000 mute 1 1 1011101 1 0001000 0000 v- 1 1 1011110 1 0001001 0000 v+ 1 1 0001010 1 0110101 0000 blue 1 1 0001000 1 0110011 0000 green 1 1 0000111 1 0110010 0000 red 1 1 0001001 1 0110100 0000 yellow 1 1 1011001 1 0000100 0000 dvd menu 1 1 0000010 1 0101101 0000 video menu 1 1 1011010 1 0000101 0000 photo 1 1 1011011 1 0000110 0000 music 1 1 1110001 1 0011100 0000 livetv 1 1 1101101 1 0011000 0000 rectv 1 1 1101011 1 0010110 0000 text 1 1 0000110 1 0110001 0000 guide 1 1 1010111 1 0000010 0000 Power ------------------------------------------- S T T GGGG 1 2345678 1 2345678 |-------| |-------| Byte1 Byte2 S = StartBit T = ToggleBits (immer das erste Bit im Byte) G = GeräteCode Byte1 = Tastencode (denk ich mal) Was ich über Byte2 bisher sagen kann: Byte2 Bit2 = 0 Byte2 Bit3 = (!Byte1Bit2) && (!Byte1Bit3) Gruß Sebastian
ich habe diese FB auch und ebenfalls mal mit dem RFM dekodiert. Die Bits habe ich eingesammelt und zum PC geschickt und mit einer C# dekodiert: byte DeviceNr = (byte)(Bitcode & 0xf); byte cmd = (byte)((Bitcode & 0xff0) >> 4); byte crc = (byte)((Bitcode & 0xff000) >> 12); byte crc1 = (byte)(DeviceNr * 0x10 - 0x2b); byte c = (byte)(crc - cmd - crc1); int toggle = (cmd & 0x80) > 0 ? 1 : 0; cmd &= 0x7f; Das passt fast zu deinen Daten, nur das erste Togglebit ist keines sondern gehört zur CRC. Das ist bei mir aber schon lange her (02/2008) und weiss nicht mehr wie ich drauf gekommen bin und habe das auch nicht weiter kommentiert... Und weil ich dann eine Logitech Harmony One FB gekauft habe ist das Projekt eingeschlafen.
Ah sehr schön danke! Ich hab den Empfänger erst nur dazu gebaut um über die Fernbedienung das Mediacenter einzuschalten (uC hängt an der 5V Standby Leitung undes Atx Steckers). Dazu hätte ich nicht unbedingt den CRC Check gebraucht, aber man wenn man schon dabei ist, kann mans ja auch gleich richtig machen... Hab die Treiber Software übrigens auch in c# geschrieben, als plugin für den DVB-Viewer, zusammen mit einer RTC lassen sich nun auch Aufnahmen-Timer so programmieren, dass sich das Mediacenter rechtzeitig einschaltet. An die Harmony One hab ich auch schon gedacht (bisher schreckt mich der PReis noch ab). Aber für den Fall, hab ich extra ein Interrupt Pin für einen IR-Sensor freigelassen ;) Gruß Sebastian
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.