Forum: PC-Programmierung LIRC an RPI mit RUWIDO IR Fernbedienung (nur RAW und falsche erkennung der Tasten)


von Markus J. (dmant)


Lesenswert?

Hallo.

Ich habe mir auf meinem Raspberry Raspbian Stretch installiert und 
wollte nun LIRC zur Steuerung mittels einer IR Ferbedienung zu steuern.

Leider habe ich dies nur so halb hinbekommen, also,

Ich habe einen 38khZ IR Empfänger (Sharp GP1UV701QS 
https://www.pollin.de/p/infrarot-empfaenger-sharp-gp1uv701qs-38-khz-10-stueck-121082) 
am 5V, GND und GPIO14 Pin des RPI angeschlossen.

In der /boot/config.txt habe ich lirc-rpi aktiviert und auf den GPIO14 
Pin gesetzt etc. pp.

lirc installiert usw.

Ein mode2 gibt mir folgendes:
1
mode2 -d /dev/lirc0 -H default
2
Using driver default on device /dev/lirc0
3
Trying device: /dev/lirc0
4
Using device: /dev/lirc0
5
space 16777215
6
pulse 348
7
space 286
8
pulse 3557
9
space 313
10
pulse 950
11
space 338
12
pulse 518
13
space 340
14
pulse 976
15
space 314
16
pulse 328
17
space 51115
18
pulse 356
19
space 283
20
pulse 3586
21
space 301
22
pulse 965
23
space 307
24
pulse 545
25
space 314
26
pulse 1002
27
space 285
28
pulse 332
29
space 51113
30
pulse 323
31
space 315
32
pulse 3590

Also das geht

Ich habe dann versucht mittels irrecord die die Tasten aufzuzeichnen:
1
irrecord -d /dev/lirc0 -H default mikrocontroller
2
.....
3
.....
4
Checking for ambient light  creating too much disturbances.
5
Please don't press any buttons, just wait a few seconds...
6
7
No significant noise (received 0 bytes)
8
9
Enter name of remote (only ascii, no spaces) :mikro
10
.....
11
.....
12
It is very important that you press many different buttons randomly
13
and hold them down for approximately one second. Each button should
14
generate at least one dot but never more than ten dots of output.
15
Don't stop pressing buttons until two lines of dots (2x80) have
16
been generated.
17
18
Press RETURN now to start recording.
19
................................................................................
20
Got gap (59371 us)}
21
22
Please keep on pressing buttons like described above.
23
.................................................................................................
24
25
Please enter the name for the next button (press <ENTER> to finish recording)
26
.....
27
.....
28
Please enter the name for the next button (press <ENTER> to finish recording)
29
KEY_OK
30
31
Now hold down button "KEY_OK".
32
Something went wrong: Cannot decode data
33
Please try again. (28 retries left)
34
35
Now hold down button "KEY_OK".
36
Something went wrong: Cannot decode data
37
Please try again. (27 retries left)
38
.....
39
.....

mit der aufzeichnung im RAW Modus klappt es jedoch dann
1
irrecord -f -d /dev/lirc0 -H default mikrocontroller

Die erstelle config sieht dann so aus
1
begin remote
2
3
  name  mikro
4
  flags RAW_CODES|CONST_LENGTH
5
  eps            30
6
  aeps          100
7
8
  gap          59372
9
10
      begin raw_codes
11
12
          name KEY_OK
13
              346     292    3608     266     589     267
14
              996     293    1425
15
16
          name KEY_RIGHT
17
              377     260    3587     285     521     341
18
             2292     285     331
19
20
          name KEY_VOLUMEUP
21
              323     313    3586     289     567     288
22
             2281     301     356
23
24
          name KEY_MUTE
25
              431     249    3533     340     542     316
26
             1836     316     551
27
28
      end raw_codes
29
30
end remote

Das problem ist nun, das, wenn ich alle Tasten zuweise, es z.b. 
vorkommt, das wenn ich auf "Pfeil rechts" auf der Fernbedienung drücke, 
er dies als KEY_MUTE anstatt als KEY_RIGHT erkennt.

Als Fernbedienung nutze ich diese hier:

https://www.pollin.de/p/infrarot-fernbedienung-merlin-620185?&gclid=Cj0KCQjw_vfcBRDJARIsAJafEnFPHe4TFvXOQLlQDryFK98cUR_Ie0kE1yB1BjD3VIQuhic5gi5LQqEaAor-EALw_wcB

Ich hatte dann mal das hier gefunden, jedoch ist das für eine andere 
Fernbedienung. Jedoch habe ich auch mal die FB von meinem TV (Sony) 
ausprobiert. Da funktioniert alles reibungslos und ich muss auch nicht 
im RAW aufzeichnen.

Hat jemand von euch mehr Erfahrung in diesem Bereich und könnte mir 
weiter helfen?

von test (Gast)


Lesenswert?

Ich habe mal für dich gegoogelt
https://www.mikrocontroller.net/articles/IRMP#MERLIN

Scheint erstmal so als ob dein ir Empfänger der falsche ist und mode2 
Mist misst.

Nimm am besten nen Logik Analysator und vergleiche deine Fernbedienung 
mit den Protokollangaben auf der verlinkten irmp Seite.


ANER warum nicht gleich irmp? Scheint mir einfacher und besser.

von Markus J. (dmant)


Lesenswert?

Ich hab kein Logic Analyzer oder nen Osziloskop da... sry..

in wiefern siehst du das da mode2 mist ist?

Ja, also wie ich sehe auf deiner Seite hat die FB 56khz. Ich nutze einen 
38khz Empfänger, also könnte es alleine schon daran liegen?

Ich hab dann mal so geschaut. Aber ich finde keine 56khz Empfänger ... 
:(

Ich finde nur 56,8khz Empfänger...

von test (Gast)


Lesenswert?

Man kann auch mode2 als Logik Analysator für arme nutzen, tat ich auch 
schon um ir Protokolle zu erkennen und zu analysieren.
Dann mit den gewonnenen Erkenntnissen die lirc.conf von Hand schreiben. 
Geht auch mit raw Codes. Ist aber ein ziemlicher Aufwand.

Ich vermute das mode2 Mist anzeigt weil es nicht mit der 
Protokollbeschreibung auf der irmp Seite übereinstimmt. Und da dort 
sogar die Polin Bestellnummer deiner FB angegeben ist, ist das ein 
hinreichender Grund den eigenen Messaufbau nochmal zu überprüfen.

Und ein 56,8kHz Empfänger geht auch, so auf den Punkt müssen die nicht 
sein.

BTW: Einen Logik Analysator gibts für 3€ aus China. Reicht vollkommen 
hin.

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.