IR Fernbedienung an LIRC anbinden

Aus TippvomTibb
Zur Navigation springen Zur Suche springen

Allgemeines

Getrieben von dem Willen eine beliebeige (IR-)Fernbedienung an ein beliebiges Geraet anzubinden, habe ich seit langem wieder mal das Thema aufgegriffen.

Abfolge:

  • Beliebige IR-Fernbedienung
  • Analysieren des Codes
  • Ablegen des Codes in einem universellen Format (XML, ...) vielleicht sogar in einer Datenbank
  • Erstellen der lircd/remote.conf
  • Gateway von IR-Fernbedienung zu emulierter RC eines Geraetes

Vor allem soll es schnell gehen!

Nachdem der serielle Treiber fuer meinen Transceiver (den ich fuer den besten halte) durch die Version 0.10 vom lircd eine deutliche Aenderung erfahren hat, konnte ich mein altes Vorgehen mit irrecord direkt auf das lircX Device ueber Board werfen. Und was soll ich sagen, ich bin froh darueber.

Irrecord hatte ich immer als umstaendlich empfunden. Tausendmal Tasten druecken, um dann nach gefuehlt hundert Versuchen irgendwann eine brauchbare conf zu haben.

Hier nun meine erfreulich schnelle Variante.

AnalysIR

Also die 30 Euro fuer das Programm sind gut investiert. Ich nichts auszer vielleicht PulsView was dem Programm das Wasser reichen kann.

Leider kann AnalysIR nur LIRC im Raw-Modus exportieren, aber ich gehe einen anderen Weg.

Ich speichere die Historie und gehe derzeit ueber den Weg mit Calc, da es sich um ein CSV Format handelt.

Demnaechst werde ich ein kleines Programm schreiben, was den Vorgang automatisiert.

Beispiele

Fernbedienung: moreTV

Man sieht in der Historie, dass AnalysIR einen NEC Code erkannt hat. Das schoene ist beim Anlernen, dass man eine Taste so oft druecken kann bis er sie richtig erkannt hat, dann gibt man der Taste einen Namen und fertig. Die "falsch" erkannten Tasten werden als RAW in der Historie abgelegt, koennen aber leicht mit Clear RAW herausgeloescht werden.

Die gespeicherte Historie-Datei sieht dann so aus:

Session History: moreTV_Teil1
1,19:16:00.0,NEC,VOL-,22D6F00F,,32,05.10.2025,1;0;1000;0|2;1000;9072;1|3;10072;4472;0|4;14544;628;1|5;15172;484;0|6;15656;656;1|7;16312;484;0|8;16796;648;1|9;17444;1600;0|10;19044;656;1|11;19700;476;0|12;20176;656;1|13;20832;484;0|14;21316;632;1|15;21948;484;0|16;22432;656;1|17;23088;1616;0|18;24704;632;1|19;25336;484;0|20;25820;652;1|21;26472;1616;0|22;28088;632;1|23;28720;1616;0|24;30336;652;1|25;30988;488;0|26;31476;632;1|27;32108;1616;0|28;33724;652;1|29;34376;484;0|30;34860;632;1|31;35492;1616;0|32;37108;656;1|33;37764;1596;0|34;39360;652;1|35;40012;484;0|36;40496;652;1|37;41148;1600;0|38;42748;652;1|39;43400;1616;0|40;45016;608;1|41;45624;1644;0|42;47268;652;1|43;47920;1596;0|44;49516;660;1|45;50176;480;0|46;50656;652;1|47;51308;484;0|48;51792;608;1|49;52400;504;0|50;52904;632;1|51;53536;504;0|52;54040;652;1|53;54692;488;0|54;55180;628;1|55;55808;484;0|56;56292;656;1|57;56948;476;0|58;57424;656;1|59;58080;484;0|60;58564;632;1|61;59196;1616;0|62;60812;656;1|63;61468;1596;0|64;63064;652;1|65;63716;1620;0|66;65336;608;1|67;65944;1640;0|68;67584;656;1|69;68240;41116;0|70;109356;9072;1|71;118428;2196;0|72;120624;660;1|73;121284;96426;0|74;217710;9092;1|75;226802;2176;0|76;228978;632;1|, ,37750
1,19:15:51.6,NEC,VOL+,22D6F807,,32,05.10.2025,1;0;1000;0|2;1000;9096;1|3;10096;4448;0|4;14544;632;1|5;15176;484;0|6;15660;652;1|7;16312;480;0|8;16792;656;1|9;17448;1596;0|10;19044;656;1|11;19700;480;0|12;20180;628;1|13;20808;508;0|14;21316;632;1|15;21948;484;0|16;22432;656;1|17;23088;1612;0|18;24700;636;1|19;25336;484;0|20;25820;652;1|21;26472;1616;0|22;28088;632;1|23;28720;1616;0|24;30336;656;1|25;30992;484;0|26;31476;632;1|27;32108;1616;0|28;33724;628;1|29;34352;508;0|30;34860;608;1|31;35468;1644;0|32;37112;648;1|33;37760;1600;0|34;39360;656;1|35;40016;480;0|36;40496;652;1|37;41148;1600;0|38;42748;652;1|39;43400;1616;0|40;45016;636;1|41;45652;1616;0|42;47268;652;1|43;47920;1600;0|44;49520;656;1|45;50176;1616;0|46;51792;632;1|47;52424;484;0|48;52908;652;1|49;53560;484;0|50;54044;652;1|51;54696;480;0|52;55176;636;1|53;55812;480;0|54;56292;656;1|55;56948;480;0|56;57428;652;1|57;58080;484;0|58;58564;632;1|59;59196;484;0|60;59680;656;1|61;60336;476;0|62;60812;656;1|63;61468;1596;0|64;63064;632;1|65;63696;1640;0|66;65336;632;1|67;65968;1620;0|68;67588;624;1|69;68212;41144;0|70;109356;9072;1|71;118428;2196;0|72;120624;660;1|73;121284;96426;0|74;217710;9096;1|75;226806;2172;0|76;228978;632;1|77;229610;96450;0|78;326060;9096;1|79;335156;2172;0|80;337328;656;1|, ,37760
1,19:15:43.7,NEC,CH-,22D6E817,,32,05.10.2025,1;0;1000;0|2;1000;9100;1|3;10100;4452;0|4;14552;624;1|5;15176;484;0|6;15660;652;1|7;16312;484;0|8;16796;652;1|9;17448;1596;0|10;19044;656;1|11;19700;480;0|12;20180;656;1|13;20836;480;0|14;21316;636;1|15;21952;480;0|16;22432;656;1|17;23088;1616;0|18;24704;608;1|19;25312;504;0|20;25816;656;1|21;26472;1620;0|22;28092;628;1|23;28720;1616;0|24;30336;656;1|25;30992;488;0|26;31480;628;1|27;32108;1616;0|28;33724;628;1|29;34352;508;0|30;34860;636;1|31;35496;1616;0|32;37112;648;1|33;37760;1600;0|34;39360;656;1|35;40016;484;0|36;40500;648;1|37;41148;1600;0|38;42748;656;1|39;43404;1616;0|40;45020;608;1|41;45628;1640;0|42;47268;656;1|43;47924;484;0|44;48408;632;1|45;49040;1616;0|46;50656;652;1|47;51308;484;0|48;51792;608;1|49;52400;504;0|50;52904;656;1|51;53560;484;0|52;54044;648;1|53;54692;488;0|54;55180;628;1|55;55808;484;0|56;56292;656;1|57;56948;480;0|58;57428;652;1|59;58080;1600;0|60;59680;652;1|61;60332;480;0|62;60812;656;1|63;61468;1600;0|64;63068;628;1|65;63696;1640;0|66;65336;636;1|67;65972;1616;0|68;67588;648;1|69;68236;41120;0|70;109356;9096;1|71;118452;2176;0|72;120628;656;1|73;121284;96422;0|74;217706;9100;1|75;226806;2176;0|76;228982;652;1|, ,37750
1,19:15:31.7,NEC,CH+,22D60AF5,,32,05.10.2025,1;0;1000;0|2;1000;9100;1|3;10100;4448;0|4;14548;632;1|5;15180;484;0|6;15664;652;1|7;16316;480;0|8;16796;652;1|9;17448;1596;0|10;19044;656;1|11;19700;484;0|12;20184;648;1|13;20832;488;0|14;21320;632;1|15;21952;480;0|16;22432;656;1|17;23088;1616;0|18;24704;608;1|19;25312;508;0|20;25820;628;1|21;26448;1644;0|22;28092;608;1|23;28700;1640;0|24;30340;652;1|25;30992;488;0|26;31480;608;1|27;32088;1636;0|28;33724;656;1|29;34380;484;0|30;34864;632;1|31;35496;1616;0|32;37112;652;1|33;37764;1600;0|34;39364;632;1|35;39996;504;0|36;40500;652;1|37;41152;484;0|38;41636;608;1|39;42244;512;0|40;42756;624;1|41;43380;504;0|42;43884;652;1|43;44536;488;0|44;45024;608;1|45;45632;1640;0|46;47272;652;1|47;47924;488;0|48;48412;604;1|49;49016;1640;0|50;50656;656;1|51;51312;480;0|52;51792;608;1|53;52400;1644;0|54;54044;652;1|55;54696;1596;0|56;56292;636;1|57;56928;1640;0|58;58568;608;1|59;59176;1640;0|60;60816;652;1|61;61468;488;0|62;61956;608;1|63;62564;1636;0|64;64200;656;1|65;64856;480;0|66;65336;608;1|67;65944;1644;0|68;67588;656;1|69;68244;41112;0|70;109356;9076;1|71;118432;2200;0|72;120632;628;1|73;121260;96450;0|74;217710;9076;1|75;226786;2196;0|76;228982;636;1|, ,37760


Der Aufbau ist analog zur Darstellung auf dem Bildschirm (Screenshot):

Der Separator ist das Komma

  • Channel
  • Time
  • Type
  • Buttonname
  • Value
  • Value2
  • Bits
  • Capturedate
  • Data (Separator |) Sequenz, Time (us) Duration State
  • Toggle
  • Carrier

Die Datei laesst sich spielend in Calc einslesen, oder auch in einem kleinen Programm importieren.

In Calc habe ich im ersten Testlauf die Spalten mit dem Buttonname und dem Value herauskopiert und in eine NEC-Template eingebaut.

begin remote
  name  MY_NECRemote
  bits           32
  flags  SPACE_ENC|CONST_LENGTH
  eps            30
  aeps          100

  header       9000  4500
  one           560  1690
  zero          560   560
  ptrail        560
  gap         108000
  toggle_bit_mask 0x0

  begin codes
...
  end codes
end remote