質問:
Nokia32 / RCMMIRデコードの問題
Duom
2015-12-16 15:14:36 UTC
view on stackexchange narkive permalink

リモコンからのIR信号をデコードしようとしています。 Arduino ProMicroとTSOP38238IRレシーバーを使用しています。

リモコンがNokia32(RCMM)プロトコルを使用していることを知り、cyborg5 / IRLib(具体的には rcmm.ino)を使用して部分的にデコードできました。 。リモートに対応するLIRCファイル、主に絶対誤差許容値( Freebox_V5.lircd.conf)を使用して、例の値を微調整しました。

試した他のリモートとの比較(異なるプロトコルの場合)RCMMアルゴリズムは、毎回信号をデコードすることはできません。ボタンを押すと、約40%の確率で、デコーダーから「不明なタイプを受信しました」という出力が返されました。

以下は、デコードを成功させるためのアルゴリズムの3つの出力(同じボタンの場合)と、2​​つの失敗に対応する他の2つの出力の下です。デコードアルゴリズムの成功を高めるために何ができるか教えてもらえますか?

成功

 デコードされたRCMM:値:2400A601(32ビット)生のサンプル(36):ギャップ:63264ヘッド:m410 s2900:m160 s290 1:m160 s590 2:m210 s390 3:m210 s240 4:m210 s240 5:m210 s240 6:m210 s240 7:m210 s240 8:m210 s540 9:m210 s590 10:m210 s390 11:m210 s590 12:m160 s290 13 :m160 s290 14:m160 s240 15:m210 s440 16:m160Extent = 9810マーク最小:160最大:210スペース最小:240最大:590  

障害1

 不明なタイプを受信しました。無視デコード不明(0):値:0(0ビット)生サンプル(36):ギャップ:3148ヘッド:m410 s2900:m160 s240 1:m210 s590 2:m210 s390 3:m210 s240 4:m210 s240 5:m210 s240 6:m160 s290 7:m160 s290 8:m160 s590 9:m210 s590 10:m160 s440 11:m210 s590 12:m160 s240 13:m210 s240 14:m210 s240 15:m210 s390 16:m210Extent = 9810マーク最小:160最大:210Space min:240 max:590  

Failure 2

 不明なタイプを受信しました。無視します。
デコード不明(0):値:0(0ビット)生サンプル(32):ギャップ:27904ヘッド:m410 s2900:m160 s290 1:m160 s590 2:m160 s490 3:m160 s240 4:m210 s240 5:m160 s290 6 :m160 s290 7:m160 s290 8:m160 s290 9:m160 s590 10:m160 s490 11:m160 s590 12:m160 s1190 13:m160 s440 14:m160Extent = 9460マーク最小:160最大:210スペース最小:240最大:1190 コード> 
3つすべてが同じボタン用ですか?
はい、私の悪い私はより明確になるようにテキストを編集しました
3番目の問題がどこで発生したかはわかりますが(理由ではなく、これまでのところのみ)、スプレッドシートで現時点でそれらすべてを相互に関連付けているだけです。手動でデコード:)
タイミングは元のファイル(https://github.com/cyborg5/IRLib/blob/master/examples/rcmm/rcmm.ino行35)から変更されていません。公差線60は100に設定されます。
問題はタイミングにあります。それが受信タイミングなのか送信タイミングなのかはまだわかりませんが、数値に大きな誤差があります。
うーん...手動で値をデコードします-2番目の値が機能するはずです(実際には最初の値よりも優れています)。 3つ目はもちろん完全な失敗です。
ちなみに、これらの図から、75の許容誤差を使用するのが適切です。
以前に回答できなかったのは残念です。これは、許容誤差75の1つのボタンでの10回のクリックの出力です:http://pastebin.com/jrZaDQty。非常に奇妙なのは、成功したときのデコード値です(2400A601または24002601のいずれかです)。私は少し迷っています...
1 回答:
BartmanEH
2016-02-07 22:29:34 UTC
view on stackexchange narkive permalink

まだ完全な答えを提供することはできませんが、同様のリモコンを使用するための同様の探求に関するこれまでの私の調査では、少なくとも、リモコンの同じボタンに2つの値が表示される理由に答えることができます。これは仕様によるものです。このリモコンのNokia-32RCMMプロトコルは、同じボタンを交互に押すと1つの値と別の値を切り替えるトグルコードを使用します。

私の探求とこのリモコンのデコードの課題が文書化されていますこのスレッド: https://github.com/bengtmartensson/harctoolboxbundle/issues/97で、IRリモコンがNokia 32プロトコルを使用しているが、マークとスペースのタイミングがほとんどのArduinoライブラリとわずかに異なることがわかりました他のライブラリが信号を正常にデコードできるようにするために、信号を微調整する必要があるようにプログラムされています。

詳細はこちら: http://www.avsforum.com/forum/93-remote- control-area / 1517341-theater-master-mx-500-remote-won-t-learn-bell-fibe-remote-any-help.html#post24345872ここで学習します:

これはほとんどのIR信号とは異なります。これは、0、1、2、または3を表す4つの異なるオフ期間があるのに対し、従来のIRプロトコルはゼロまたはを表す2つのオフ期間のみを使用していたためです。 1つ。

リンクしたウェブサイトの最も重要な部分を強調していただけますか?ある時点でこれらのリンクが壊れた場合、この答えは残念ながら役に立たないので、それを避けたいと思います。
完了...賛成票は励みになります


このQ&Aは英語から自動的に翻訳されました。オリジナルのコンテンツはstackexchangeで入手できます。これは、配布されているcc by-sa 3.0ライセンスに感謝します。
Loading...