#26 赤外線リモコンデコーダ
Tibbitの配置
Tibbit #26 と Tibbit #27を挿入します。
このブロックについて
このブロックはリモコンの赤外線を記録し、送信することが可能です。
手順としては、記録開始→記録データ取得、以降は取得できたデータを記録データセット→記録データ再生で使うことができます。
ただし、すべてのリモコンの赤外線を記録できるわけではございませんのでご了承ください。
ノードの配置
制御を行うために、functionノードを使用します。
記録開始
まずは、リモコンの赤外線を記録します。
以下のようにフローを配置します。
functionノードの編集を開き編集します。
1 2 |
msg.payload = {act: 'w'}; return msg; |
ノードの設定を開き、スロットを選択します。
Node-REDデプロイ後、injectノードをクリックすると記録を開始することができます。
リモコンを#27の赤外線送受信機に向け、injectノードをクリックと同時に、記録したいリモコンのボタンを押してください。
※記録できない場合は、記録データ取得時にエラーが表示されます。
1 |
[{"id":"56745bd6.ed1274","type":"inject","z":"b5812d0f.758f","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":700,"y":2420,"wires":[["8ce96ba1.068d4"]]},{"id":"8ce96ba1.068d4","type":"function","z":"b5812d0f.758f","name":"記録開始","func":"msg.payload = {act: 'w'};\nreturn msg;","outputs":1,"noerr":0,"x":800,"y":2460,"wires":[["a26715b1.ff34c8"]]},{"id":"a26715b1.ff34c8","type":"Tibbit-#26","z":"b5812d0f.758f","name":"","tpSlot":"S01","communication":"TP26","connectedStatus":"start","host":"","x":920,"y":2500,"wires":[[]]}] |
記録データ取得
記録したデータを取得します。
そのデータをファイルに保存することにより、リモコンのボタンの赤外線を複数保持することができます。
以下のようにフローを配置します。
functionノードの編集を開き編集します。
1 2 |
msg.payload = {act: 'r'}; return msg; |
ノードの設定を開き、スロットを選択します。
Node-REDデプロイ後、injectノードをクリックすると記録したデータ(文字列)を取得することができます。
サンプルフロー
1 |
[{"id":"56745bd6.ed1274","type":"inject","z":"b5812d0f.758f","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":700,"y":2420,"wires":[["8ce96ba1.068d4"]]},{"id":"8ce96ba1.068d4","type":"function","z":"b5812d0f.758f","name":"記録データ取得","func":"msg.payload = {act: 'r'};\nreturn msg;","outputs":1,"noerr":0,"x":820,"y":2460,"wires":[["a26715b1.ff34c8"]]},{"id":"a26715b1.ff34c8","type":"Tibbit-#26","z":"b5812d0f.758f","name":"","tpSlot":"S01","communication":"TP26","connectedStatus":"start","host":"","x":920,"y":2500,"wires":[["36ceca94.cb2c06"]]},{"id":"36ceca94.cb2c06","type":"debug","z":"b5812d0f.758f","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":1030,"y":2540,"wires":[]}] |
記録開始をせずに取得しようとすると、以下のようなエラーになります。
必ず記録開始を行ってください。
err: (‘#26 No Data.’,)
また、リモコンの赤外線が記録できなかった(対応できなかった)場合は、以下のようなエラーになります。
err: (‘#26 Recording failed.’,)
記録データセット
記録データ取得で出力されたデータをセットします。
以下のようにフローを配置します。
functionノードの編集を開き編集します。
dataに指定する値は、「記録データ取得」で取得できたデータ(文字列)になります。
1 2 |
msg.payload = {act: 'set', data: '...'}; return msg; |
ノードの設定を開き、スロットを選択します。
Node-REDデプロイ後、injectノードをクリックするとデータをセットすることができます。
サンプルフロー
1 |
[{"id":"56745bd6.ed1274","type":"inject","z":"b5812d0f.758f","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":700,"y":2420,"wires":[["8ce96ba1.068d4"]]},{"id":"8ce96ba1.068d4","type":"function","z":"b5812d0f.758f","name":"記録データセット","func":"msg.payload = {act: 'set', data: '...'};\nreturn msg;","outputs":1,"noerr":0,"x":830,"y":2460,"wires":[["a26715b1.ff34c8"]]},{"id":"a26715b1.ff34c8","type":"Tibbit-#26","z":"b5812d0f.758f","name":"","tpSlot":"S01","communication":"TP26","connectedStatus":"start","host":"","x":940,"y":2500,"wires":[[]]}] |
記録データ再生
セットしたデータを、赤外線として再生します。
以下のようにフローを配置します。
functionノードの編集を開き編集します。
1 2 |
msg.payload = {act: 'play'}; return msg; |
ノードの設定を開き、スロットを選択します。
Node-REDデプロイ後、injectノードをクリックすると赤外線を再生することができます。
サンプルフロー
1 |
[{"id":"56745bd6.ed1274","type":"inject","z":"b5812d0f.758f","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":700,"y":2420,"wires":[["8ce96ba1.068d4"]]},{"id":"8ce96ba1.068d4","type":"function","z":"b5812d0f.758f","name":"記録データ再生","func":"msg.payload = {act: 'play'};\nreturn msg;","outputs":1,"noerr":0,"x":820,"y":2460,"wires":[["a26715b1.ff34c8"]]},{"id":"a26715b1.ff34c8","type":"Tibbit-#26","z":"b5812d0f.758f","name":"","tpSlot":"S01","communication":"TP26","connectedStatus":"start","host":"","x":940,"y":2500,"wires":[[]]}] |
このノードは、起動時の初期化に多少時間がかかるため、以下のように一つのノードを使いまわしたほうが良いです。