リモコンデータ: |
1. 概要 |
パソコンやスマートホンからブラウザ操作で利用する赤外線リモコンです。パソコンやスマートホンにリモコンデバイス(マイコン+赤外線送受信ユニット)を接続して利用します。
リモコンアプリはWebサーバに置いて共同で利用することもできますし、自分専用のリモコンアプリ(HTMLファイル)を作ってパソコンに置いて利用することもできます。
遠隔地のデバイスを操作できるわけではありません。
通常のリモコン操作が困難な障害者の方も、「パソコン操作が可能であれば」利用できます。また、よく使うボタンを精選したり、ボタンを大きくしたり、Webページを工夫して使いやすくすることができます。 今後、「1-finger(なんでもリモコン2)」や「最適符号化入力法」と組み合わせて、重度障害者向けの「操作回数(または操作時間)を最小にするリモコン」を作りたいと考えています。 |
以下のブラウザおよびマイコンで動作します。Arduino Leonardo/ProMicro はメモリが不足するため利用できません。リモコンデバイスについては5章をご覧ください。
USB接続の場合(パソコン) | Bluetooth接続の場合(パソコン・スマホ) | ||
---|---|---|---|
パソコンやスマホと ブラウザ |
Windows版Chrome, Edge など (Web MIDI API 対応ブラウザ) |
Windows版Chrome, Edge, Android版Chrome など (Web MIDI APIおよび Web Bluetooth 対応ブラウザ) | |
リモコン デバイス | マイコン | XIAO samd21 など (webio2.inoを書き込んでおく) |
XIAO ESP32, ATOM lite など (webio2.inoを書き込んでおく) |
赤外線送受 信ユニット |
M5 IR REMOTE ユニット や 赤外線送信/受信モジュール ※ 信号登録済のリモコンページを利用する場合は受信モジュールは必要ありません。 更に、テレビからリモコンデバイスまで1m程度の近距離であれば、M5 ATOM liteに関しては内蔵の赤外線LEDを利用できます。 |
下の写真左は M5ATOM lite と M5 IR REMOTE ユニット の組み合わせでシンプルです。至近距離であれば M5ATOM lite に内蔵の赤外線LEDを使用でき、写真右のようにマイコンのみでも利用できます。
以下は「東芝テレビ用簡易リモコン」の表示画面で、ボタンを押すとリモコンデバイスからリモコン信号が送信されます。
このページは、以下のようにシンプルなものです。
toshiba_tv0.html:
|
5行目でwebio2.jsを読み込んでいます。
7~9行目の「onclick=...」の箇所で、赤外線信号を送信するためのIRsend関数を呼び出しています。この関数はwebio2.jsで定義されています。
このリモコンアプリは東芝テレビ用で、リモコンデータは、は[8,0x40,0x12]、は[8,0x40,0x1b]、は[8,0x40,0x1f]で、ボタンが押されると対応する赤外線信号を送信するようになっています。
手元にあるリモコンが、どのボタンを押すとどのような信号が送信されるかは、このページの冒頭で調べることができます(リモコンデバイス必要)。
このページの冒頭のような本物のリモコンに似せた画面にすることもできます。テレビとビデオレコーダーなど、複数の機器のリモコンをひとつにまとめることもできます。「自分専用のリモコンアプリ」を作ってみてください。
学習式リモコンアプリは、リモコンデータを登録してから利用します。
以下は「学習式リモコン(簡易版)」の初期表示です。リモコンデータが登録されていないボタンは暗い表示となります。
ボタンを長押しすると、ボタンが5秒間点滅状態となります。この間に、リモコンデバイスの受光部に向けて手元のテレビリモコンの該当するボタンを押すと、リモコンデータが登録されます。(ボタンを押す必要はありません)
リモコンデータは「ブラウザに」保存されます。他のパソコンやスマホで利用する場合は、改めて登録する必要があります。
リモコンデータを調べて、手動で入力することもできます。その場合は、入力後にボタンを押します。
このページ冒頭の学習式リモコンは、ボタンの数を増やして実用的にしたものです。
なお、エアコンなど信号を登録できないリモコンもあります。
リモコンデータを登録すれば、ボタンを押すと、リモコン信号が送信されます。
リモコンデバイスはマイコンと赤外線送受信ユニット(M5 IR REMOTE または赤外線送信モジュールと赤外線受信モジュールの組み合わせ)で、下表のようにいろいろな作り方があります。
マイコンは、XIAO samd21, XIAO ESP32, ATOM lite などが利用できます。Arduino Leonardo/ProMicro はメモリが不足するため利用できません。マイコンにはWebIOのスケッチ(webio2.ino)を書き込んでおきます。
なお、信号登録済のリモコンアプリを利用する場合は受信モジュールは必要ありません。
パソコンと USB接続 |
XIAO samd21 |
|
---|---|---|
XIAO samd21 |
||
パソコンやスマホと Bluetooth接続 |
XIAO ESP32C3 |
|
XIAO ESP32C3 |
||
M5ATOM lite C3 |
||
M5ATOM lite C3 (1m程度の至近距離であれば内蔵のIR LEDでOK) |
リモコンデータは、irdata.jsの中で「POWER,8,0x40,0x12」のように表わされています。これは、「リモコンボタンID, 信号方式, アドレス, コマンド」になっていて、リモコンボタンIDはリモコンアプリ中のボタンのIDに対応しています。
「信号方式, アドレス, コマンド」は、ArduinoのIRremoteライブラリに準じていて、このページ冒頭や、4章のリモコン信号の説明にも出てきます。
以下は、ArduinoのIRremoteライブラリにあるリモコンの信号方式の抜粋です。
なお、NEC方式や家製協方式は多くのリモコンで採用されているようで、このページに登場する東芝のリモコンはNEC方式(コード 8)になっています。
コード | リモコン信号の方式 |
---|---|
0 | UNKNOWN |
1 | PULSE_WIDTH |
2 | PULSE_DISTANCE |
3 | APPLE |
4 | DENON |
5 | JVC |
6 | LG |
7 | LG2 |
8 | NEC |
9 | NEC2 |
10 | ONKYO |
11 | PANASONIC |
コード | 信号の方式 |
---|---|
12 | KASEIKYO |
13 | KASEIKYO_DENON |
14 | KASEIKYO_SHARP |
15 | KASEIKYO_JVC |
16 | KASEIKYO_MITSUBISHI |
17 | RC5 |
18 | RC6 |
19 | SAMSUNG |
20 | SAMSUNG48 |
21 | SAMSUNG_LG |
22 | SHARP |
23 | SONY |
赤外線信号をもう少し強くしたい場合は、M5 IR REMOTE の中のR1(150Ω)に並列に68Ωを接続します。表面実装の部品の扱いに慣れている方は交換しても良いかもしれません。