リモコンデータ:
HOME > ものづくり(電子工作) > WebIO > 赤外線リモコン
(更新中)

ブラウザで操作する 赤外線リモコン

小山智史

(更新履歴)


目次

1. 概要
2. 動作環境
3. 信号登録済リモコンアプリ
4. 学習式リモコンアプリ
5. リモコンデバイス
(付録1) リモコンデータについて
(付録2) M5 IR REMOTE のリモコン信号を強力にする改造

(信号登録済リモコンアプリ)...ボタンを押すとリモコンデータを確認できます

テレビ(各社対応)
東芝テレビ 1
東芝テレビ 2
シャープテレビ
パナソニックBD

(学習式リモコンアプリ)

テレビ(各社対応)

1. 概要

 パソコンやスマートホンからブラウザ操作で利用する赤外線リモコンです。パソコンやスマートホンにリモコンデバイス(マイコン+赤外線送受信ユニット)を接続して利用します。

 リモコンアプリはWebサーバに置いて共同で利用することもできますし、自分専用のリモコンアプリ(HTMLファイル)を作ってパソコンに置いて利用することもできます。

 遠隔地のデバイスを操作できるわけではありません。

 通常のリモコン操作が困難な障害者の方も、「パソコン操作が可能であれば」利用できます。また、よく使うボタンを精選したり、ボタンを大きくしたり、Webページを工夫して使いやすくすることができます。

 今後、「1-finger(なんでもリモコン2)」や「最適符号化入力法」と組み合わせて、重度障害者向けの「操作回数(または操作時間)を最小にするリモコン」を作りたいと考えています。

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を使用でき、写真右のようにマイコンのみでも利用できます。

3 信号登録済リモコンアプリ

 以下は「東芝テレビ用簡易リモコン」の表示画面で、ボタンを押すとリモコンデバイスからリモコン信号が送信されます。

 このページは、以下のようにシンプルなものです。

toshiba_tv0.html:

<!DOCTYPE html> <html><head> <meta charset="utf-8"> <title>TVリモコン</title> <script src=webio2.js></script> </head><body> <button onclick=IRsend(8,0x40,0x12)>電源</button> <button onclick=IRsend(8,0x40,0x1b)>チャンネル▲</button> <button onclick=IRsend(8,0x40,0x1f)>チャンネル▼</button> </body></html>

 5行目でwebio2.jsを読み込んでいます。

 7~9行目の「onclick=...」の箇所で、赤外線信号を送信するためのIRsend関数を呼び出しています。この関数はwebio2.jsで定義されています。

 このリモコンアプリは東芝テレビ用で、リモコンデータは、は[8,0x40,0x12]、は[8,0x40,0x1b]、は[8,0x40,0x1f]で、ボタンが押されると対応する赤外線信号を送信するようになっています。

 手元にあるリモコンが、どのボタンを押すとどのような信号が送信されるかは、このページの冒頭で調べることができます(リモコンデバイス必要)。

 このページの冒頭のような本物のリモコンに似せた画面にすることもできます。テレビとビデオレコーダーなど、複数の機器のリモコンをひとつにまとめることもできます。「自分専用のリモコンアプリ」を作ってみてください。

4. 学習式リモコンアプリ

 学習式リモコンアプリは、リモコンデータを登録してから利用します。

 以下は「学習式リモコン(簡易版)」の初期表示です。リモコンデータが登録されていないボタンは暗い表示となります。

 ボタンを長押しすると、ボタンが5秒間点滅状態となります。この間に、リモコンデバイスの受光部に向けて手元のテレビリモコンの該当するボタンを押すと、リモコンデータが登録されます。(ボタンを押す必要はありません)

 リモコンデータは「ブラウザに」保存されます。他のパソコンやスマホで利用する場合は、改めて登録する必要があります。

 リモコンデータを調べて、手動で入力することもできます。その場合は、入力後にボタンを押します。

 このページ冒頭の学習式リモコンは、ボタンの数を増やして実用的にしたものです。

 なお、エアコンなど信号を登録できないリモコンもあります。

 リモコンデータを登録すれば、ボタンを押すと、リモコン信号が送信されます。

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)

(付録1) リモコンデータについて

 リモコンデータは、irdata.jsの中で「POWER,8,0x40,0x12」のように表わされています。これは、「リモコンボタンID, 信号方式, アドレス, コマンド」になっていて、リモコンボタンIDはリモコンアプリ中のボタンのIDに対応しています。

 「信号方式, アドレス, コマンド」は、ArduinoのIRremoteライブラリに準じていて、このページ冒頭や、4章のリモコン信号の説明にも出てきます。

 以下は、ArduinoのIRremoteライブラリにあるリモコンの信号方式の抜粋です。

 なお、NEC方式や家製協方式は多くのリモコンで採用されているようで、このページに登場する東芝のリモコンはNEC方式(コード 8)になっています。

コードリモコン信号の方式
0UNKNOWN
1PULSE_WIDTH
2PULSE_DISTANCE
3APPLE
4DENON
5JVC
6LG
7LG2
8NEC
9NEC2
10ONKYO
11PANASONIC
コード信号の方式
12KASEIKYO
13KASEIKYO_DENON
14KASEIKYO_SHARP
15KASEIKYO_JVC
16KASEIKYO_MITSUBISHI
17RC5
18RC6
19SAMSUNG
20SAMSUNG48
21SAMSUNG_LG
22SHARP
23SONY

(付録2) M5 IR REMOTE のリモコン信号を強力にする改造

 赤外線信号をもう少し強くしたい場合は、M5 IR REMOTE の中のR1(150Ω)に並列に68Ωを接続します。表面実装の部品の扱いに慣れている方は交換しても良いかもしれません。


[IR Remote][NatureRemo][SwitchBot][BTO(紹介)]
koyama88@cameo.plala.or.jp