少なくともSHARPのテレビは製品の世代が変わっても赤外線リモコンの信号は共通のようで、同じような情報をWeb上から取得できます。それと今回観測したデータを比較すると一致しており、うまく観測できていそうです。ほかほかのボタンは......多すぎるので割愛します。全部は見ない、山菜だって根こそぎ取るなって言うじゃないですか。リモコンに無いボタンでも直接コマンドを送れば機能することもあるようです。次に示すページでは「必ず電源ON」「必ず電源OFF」のコマンドを調査し発見しています(すごい)。Qiitahttps://qiita.com/yomori/items/c9a2b2047759d677e07b実際このコマンドを試してみると、「LC-32H30」でもちゃんと機能していました。エアコン「MSZ-JXV3620」8(リモコン型番YU191)の信号を見ます。このデータには運転モードや設定温度などエアコンを制御するための情報が含まれており、たとえば設定温度だけ変える場合でも毎回フルのデータが送られます。差分更新にした場合、もし信号を送ったつもりになっていて実際は届いていなかったときに、リモコン側とエアコン本体側で設定温度や運転モードがズレていたというのは嫌ですからね。今回試した範囲では、リモコンのボタンを押すと複数回データが送られるようです。(144bits)を送信となっていました。00については謎です。「謎のデータ」についても謎で、Web上で似たデータについて調べると「(メインデータと)同一」だったり「(メインデータの)ビットオーダーが反転したもの」だったりすることが多いようですが、今回は当てはまりませんでした。(この送信については後日試す予定で本当に合っているかは未検証ですが)おそらく「メインデータ」さえ送ればエアコンを制御できるんじゃないか、ということでここではそこにだけ注目します。データの例としてはこんな感じです。B2データの構造ついては解析されている方がいて、ほぼ判明しています。crankyoldgit/IRremoteESP8266自分の理解のためデコーダを作ってみると、次のような感じになります。Firstで見るのが基本のようで、今回の例だとビットオーダーを逆転させる必要があります。このデコーダの実行例はこんな感じです。(OK)データの構造が分からない箇所も少しあります。温度設定くらいは正しそうなので、もし自分でデータを作って流す場合は純正リモコンが送っていた正しいはずのデータのうち特定のフィールド(温度など)とチェックサムだけ変えて流すとやりやすいんじゃないでしょうか。Clockの情報もあるようですがその辺はとりあえず全部ゼロにしてみたり。crankyoldgit/IRremoteESP8266などのライブラリではイチからデータを作ることも可能9ですが、setRaw()で正しいデータを与え、その後必要に応じてsetTemp()などをしていくイメージです。次のリンクと同様に行えばうまくいきそう......と思います。WTC56519W」(リモコン型番WTC56939)の信号を見ます。ちなみに、同じ「とったらリモコン」でも遅れ消灯は無いただのON/OFFタイプ(WTC56219W)や、似た製品の「照明リモコン受信スイッチ」でも信号が同じは未確認です。フォーマットなどの情報は次のとおり。ONデータは次のとおりで、リモコンのボタンを押すとすべて30msほどのインターバルを挟んで2回同じデータが送信されます。8Dなお、「連続点灯」は強制ONに相当します。いうことでSHARPテレビのところで記載した「ON/OFF専用コード」の調査を参考に、データ構成推察すると......こんな感じと思われます。0x8)コードを見ると末尾4bit分しか変わっていません。これは容易に総当りできそうです。6個は既知なので残り10個試すだけ。送信についてはあまり扱わないつもりでしたが、気になったので試すとこのような挙動になっていました。一定時間後の挙動は未確認。すると「xx分後消灯」のような挙動はあり得る。05が強制OFFに相当しそうですね。前に「とったらリモコンではトグル動作しかない」と書いたのを直さないと......。照明シーリングライト「LEC-AH1210PH」(リモコン型番IR-A07HRT)の信号を見ます。ONデータはこんな感じです。BC若干データが長めなので、もしかするとエアコンのようにステート全部、たとえば調光や調色のデータなども含まれているのかも知れません。個人的にはここまで分かれば満足なのでここで終わりです。照明シーリングライト「CL8DL-5.0」(リモコン型番R5.0-DL)の信号を見ます。この機器ではどうやら独自フォーマットを使っているようです。Rawデータはこんな感じです。OFF」と推測します。=====となりました。0001特定のビットと機能が結びついているような、特に電源制御系は上位4bitにありそうな気がします。末尾バイトはチェックサムと思われ、計算方法は自信ないですが3バイト目と0x1BとのXORを取るとそれっぽい......。したら強制ONや強制OFFができるかも?と思い試してみましたが、うまくいきません。するほかは特に変化なしです。コマンドを探しきれていなかったりチェックサムが間違っていたりするかも知れないですし、そもそもそんな機能は無いのかも知れません。上位4bit目が1なら何でも良い、つまり0bxxx1なら同様の動きをします。「ON/常夜灯/OFF」の0b0100も上位2bit目が1なら他は何でも良く、「特定のビットと機能が結びついている」というのは合っていそうでした10。ウォシュレット「TCF984#NW1」11(リモコン型番TCM4195)の信号を見ます。これも独自フォーマットのようです。NECフォーマットや家製協フォーマットに近く、仕様はこんな感じと思われます。ONRawデータはこんな感じです。]データが2回、30ms~40msほどの間隔を挟んで送られています。データの表現方法はNECフォーマットや家製協フォーマットと同様で、バイト列に直すとこんな感じです。(40bitsで表現。0xEC」だったりしそうです。0x00とか0x01とのXOR取ってもほとんど意味ないので本当かは微妙ですが......次のページのように先行して調査していた方がいてその情報と比べると合っている気もします。......嬉しいこともあるかも知れません。以前泊まったホテルでは、ハードウェア的にはリモコンからフタが開閉できると思われる(手で開閉するとモーターが入っていそうな抵抗を感じる)ものの、肝心なリモコンは簡易的なもので開閉ボタンが無い!ということがありました。そんな場合でも、自前で開閉の信号を送れたら自分の手を汚さずに臭い物にフタをできるんじゃないでしょうか。本当にできるか、そもそもそのホテルでは本当にハードウェア側は対応していたか?かはそのホテルが閉業してしまったため確認できません。まとめ身近にある赤外線リモコンの信号を見ました。赤外線リモコンについては学習リモコンが市販されており、わざわざ自分で信号を見る必要性は薄いかも知れません。今回見たおかげでフォーマットに対する理解を深められてよかった。いまだったらPP4Cも受信できるかも知れない。【ビルトインIH】A・Bシリーズの換気連動(赤外線)コードの切り換えについて。↩38kHzか?36.7kHzか?見分けたかったところですが、周期は1[us]ほどしか差がなく判別が難しい。↩0b0101については「ON/常夜灯/OFF」側が優先されるようでした。「取替機能部」らしい。ウォシュレット一体型でもこの部分だけ変えられるんですね。ARCを試す2024/6/5最終的にHDMI音声分離器を使う話です。リンクプラス」のスイッチをBLEとM5Stackで操作します。製電子棚札を解析し、表示内容を書き換えます。ウォシュレットまとめFootnotes!!!XGitHubお問い合わせ。