Forum: Mikrocontroller und Digitale Elektronik [Elektrik-Laie] IR-Fernbedienung LED-Kerzen simulieren: Welcher Code?


von Pavol (Gast)


Angehängte Dateien:

Lesenswert?

Warnung: Ich bin absoluter Elektrik-Laie! Also bitte nicht zu viel 
voraussetzen.

Hallo,

ich habe ein ähnliches Problem wie der TE in 
Beitrag "Weihnachtskerzen IR-Protokoll"

Ich habe eine no name LED Lichterkette, pardon von der Weltmarke 
"Forever Speed", mit IR-Fernbedienung. Gerne möchte ich nun die 
Fernbedienung ersetzen durch die Android App irplus auf meinem IR 
fähigen Smartphone. Obwohl da viele Geräte vorkonfiguriert Dinge sind, 
auch LED Fernbedienungen, fehlt da meine Fernbedienung. Was ich 
ausprobiert habe:
1. Mit der Android App IR CODE FINDER NEC1 einen bruteforce für das NEC1 
Protokoll durchgeführt. Kein Treffer.
2. In der App irplus gibt es die Konfiguration "RC5-Full-List" mit 255 
(?) Codes, die ich alle auch ausprobiert habe. Kein Treffer.
3. Man kann die irplus-Konfigurationen auf den PC kopieren, editieren 
und ergänzen, und dann auf dem Handy ausführen. Als Protokolle sind 
zumindest NEC1, PRONTO HEX und RC5 möglich. Ich bräuchte aber eine 
zumindest ungefähre Ahnung, wo ich suchen müsste.

Vielleicht könnt ihr mir helfen mit einem heißen Tipp, welches Protokoll 
und welcher Code der richtige sein könnte bzw. welche Code Ranges ich 
als nächstes bruteforcen könnte.

Danke und viele Grüße

von Pavol D. (pavold1980)


Lesenswert?

So, habe ich mich jetzt auch mal angemeldet. In dem Thread 
Beitrag "Weihnachtskerzen IR-Protokoll" findet der TE ja eine 
Lösung mit dem Code
1
/*
2
 * 
3
  Christmas candle test
4
5
  RC5 Code wechselt nach Tastendruck
6
  Einschalten: 809, 9  
7
  Flackern:    80A, A 
8
  Timer:       811,11 
9
  Ausschalten: 808, 8
10
  
11
  Please install this library first:
12
  https://github.com/z3t0/Arduino-IRremote
13
*/
14
15
16
#include <IRremote.h>
17
18
IRsend irsend;
19
20
void sender(uint16_t value)
21
{
22
  static uint16_t toggle=0;
23
24
  uint16_t val;
25
  val=value|toggle;
26
  for (int i = 0; i < 3; i++)
27
  {
28
    irsend.sendRC5(val, 12);
29
    delay(40);
30
  }
31
  Serial.println(val,HEX);
32
  if(toggle!=0)toggle=0;
33
  else toggle=0x800;
34
}
35
36
void setup()
37
{
38
  Serial.begin(115200);
39
  Serial.println("start sending");
40
41
}
42
43
uint16_t address=0;
44
int Counter=0;
45
46
#define ON  0x9
47
#define OFF 0x8
48
49
void loop()
50
{
51
  sender(ON);
52
  delay(1000);
53
  sender(OFF);
54
  delay(1000);
55
}

Wenn wir annehmen, dass ich die gleichen Kerzen habe, wie müsste ich 
meinen irplus-Code formulieren? Die Syntax ist wie folgt (alles ab 
"toggle-bit-pos" ist wohl relevant!?)
1
<irplus>
2
 <device manufacturer="PAVOL" model="KERZEN" columns="12" format="WINLIRC_RC5" toggle-bit-pos="2" one-pulse="866" one-space="909" zero-pulse="866" zero-space="909" gap-space="113721" gap-pulse="1" bits="13" repeat="2" frequency="36000">
3
  <button label="On" labelSize="18.0" span="4">0x1000</button>
4
  <button label="Off" labelSize="18.0" span="4">0x1001</button>
5
  <button label="Flicker" labelSize="18.0" span="4">0x1002</button>
6
  <button label="Timer" labelSize="18.0" span="4">0x1003</button>
7
  <button label="+" labelSize="18.0" span="4">0x1005</button>
8
  <button label="-" labelSize="18.0" span="4">0x1006</button>
9
  </device>
10
</irplus>
Tausend Dank!

: Bearbeitet durch User
von K. S. (the_yrr)


Lesenswert?

Mit etwas Glück/Pech ist es wie viele (alle ?) billigen rgb leds mit 
Fernbedienung. Die verwenden AFAIK einen leicht defekten NEC code. Die 
Geräteadresse ist 0x00, die invertierte jedoch 0xFE (oder 0xEF), genaues 
müsste ich nochmals nachschauen.

von Pavol D. (pavold1980)


Lesenswert?

Danke erst einmal.
1. Meine ist keine RGB, sondern nur eine weiße LED-Kerze.
2. Welche Bedeutung hat die invertierte Geräteadresse? Ich könnte zum 
Beispiel ein Signal so programmieren lassen, dass das Einschalten mit 
0x00 0x00, aber das Ausschalten mit 0xFE 0x01 geschieht.
Also, wenn du nachschauen könntest, wie das bei deinen China LED-Kerzen 
ist, würde ich mich freuen.

von Pavol D. (pavold1980)


Lesenswert?

Hallo,
mittlerweile habe ich über einige Umwege gemeinsam mit dem Entwickler 
von irplus die Fernbedienung auslesen können. Wen es interessiert, hier 
den Code, der auch die RC5-Frequenzen aufzeigt:

<irplus>
 <device manufacturer="LED Lights" model="Candles RC5 (Forever Speed)" 
columns="12" format="WINLIRC_RC5" toggle-bit-pos="2" bits="13" 
repeat="2" repeatgap="86855" frequency="36000">
  <button label="+" labelSize="25.0" span="4">0x17CB</button>
  <button label="ON" labelSize="25.0" span="4">0x17C1</button>
  <button label="SL" labelSize="25.0" span="4">0x17CC</button>
  <button label="-" labelSize="25.0" span="4">0x17CA</button>
  <button label="OFF" labelSize="25.0" span="4">0x17C8</button>
  <button label="FL" labelSize="25.0" span="4">0x17C2</button>
 </device>
</irplus>

von Franc W. (franc)


Lesenswert?

Pavol D. schrieb:
> Hallo,
> mittlerweile habe ich über einige Umwege gemeinsam mit dem Entwickler
> von irplus die Fernbedienung auslesen können. Wen es interessiert, hier
> den Code, der auch die RC5-Frequenzen aufzeigt:
>
> <irplus>
>  <device manufacturer="LED Lights" model="Candles RC5 (Forever Speed)"
> columns="12" format="WINLIRC_RC5" toggle-bit-pos="2" bits="13"
> repeat="2" repeatgap="86855" frequency="36000">
>   <button label="+" labelSize="25.0" span="4">0x17CB</button>
>   <button label="ON" labelSize="25.0" span="4">0x17C1</button>
>   <button label="SL" labelSize="25.0" span="4">0x17CC</button>
>   <button label="-" labelSize="25.0" span="4">0x17CA</button>
>   <button label="OFF" labelSize="25.0" span="4">0x17C8</button>
>   <button label="FL" labelSize="25.0" span="4">0x17C2</button>
>  </device>
> </irplus>

Hallo, ich habe einen billigen Beamer von Wictsing mit IR FB, den finde 
ich auch nicht in der irplus Liste.
Wie hast du denn deinen Code genau auslesen können?
Danke

von Pavol D. (pavold1980)


Lesenswert?

Hi,
ich hatte mir eine Tiqiaa/Zazaremote IR adapter bei AliExpress gekauft, 
die Fernbedienung mit diesem Adapter an meinem Android-Handy ausgelesen, 
die Daten der App (Datei backup.ab) an den Entwickler der App irplus 
gesendet. Er hatte den Adapter und die App auch, konnte anhand der Datei 
backup.ab die Signale der Fernbedienung dann simulieren und dann an 
seinem Raspberry Pi auslesen.
Ich weiß nicht, ob sich dieser Umweg für dich lohnt.
Viele Grüße und viel Erfolg!

Franc W. schrieb:
> Pavol D. schrieb:
>> Hallo,
>> mittlerweile habe ich über einige Umwege gemeinsam mit dem Entwickler
>> von irplus die Fernbedienung auslesen können. Wen es interessiert, hier
>> den Code, der auch die RC5-Frequenzen aufzeigt:
>>
>> <irplus>
>>  <device manufacturer="LED Lights" model="Candles RC5 (Forever Speed)"
>> columns="12" format="WINLIRC_RC5" toggle-bit-pos="2" bits="13"
>> repeat="2" repeatgap="86855" frequency="36000">
>>   <button label="+" labelSize="25.0" span="4">0x17CB</button>
>>   <button label="ON" labelSize="25.0" span="4">0x17C1</button>
>>   <button label="SL" labelSize="25.0" span="4">0x17CC</button>
>>   <button label="-" labelSize="25.0" span="4">0x17CA</button>
>>   <button label="OFF" labelSize="25.0" span="4">0x17C8</button>
>>   <button label="FL" labelSize="25.0" span="4">0x17C2</button>
>>  </device>
>> </irplus>
>
> Hallo, ich habe einen billigen Beamer von Wictsing mit IR FB, den finde
> ich auch nicht in der irplus Liste.
> Wie hast du denn deinen Code genau auslesen können?
> Danke

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
Noch kein Account? Hier anmelden.