はじめに
- 赤外線リモコンデコーダでも書いた通り、汎用リモコンの作成が目的でした。
- 本記事は、その汎用リモコン(M5Stack+PLUSエンコーダ使用)になります。
仕様
- リモコンデータは、M5Stackに挿入されたMicroSDカード上のjsonファイル(remocon.json)に書かれている。
- 当該jsonファイルの内容をM5Stackに表示する。
- PLUSエンコーダのジョグ操作により、操作対象機器/ボタンを切り替え、ボタン押下で赤外線コードを送信。
- jsonファイルのサンプル
remocon.json
{
"regza": {
"format": "nec",
"custom": "bf40",
"buttons": {
"on": ["12ed"],
"1": ["01fe"],
"2": ["02fd"],
"3": ["03fc"],
"4": ["04fb"],
"5": ["05fa"],
"6": ["06f9"],
"7": ["07f8"],
"8": ["08f7"],
"9": ["09f6"],
"10": ["0af5"],
"11": ["0bf4"],
"12": ["0cf3"],
"input change": ["0ff0"]
}
},
"light(panasonic)": {
"format": "aeha",
"custom": "522c",
"buttons": {
"on": ["002C25"],
"off": ["002F26"],
"energy save": ["002D24"]
}
},
"light(beamtec)": {
"format": "nec",
"custom": "e384",
"buttons": {
"on": [
"20df"
],
"off": [
"24db"
],
"favarite": [
"2ad5"
]
}
},
"aircon(daikin)": {
"format": "aeha",
"custom": "da11",
"buttons": {
"hot-on": [
"0200020000",
"0200004922"
],
"hot-off": [
"0200020000",
"0200004822"
],
"cool-on": [
"0200020000",
"0200003938"
],
"cool-off": [
"0200020000",
"0200003838"
]
}
},
"playstation(dvd)": {
"format": "sony",
"custom": "093a",
"addr_bit": "13",
"buttons": {
"play": [
"32"
],
"stop": [
"38"
]
}
},
"playstation(controller)": {
"format": "sony",
"custom": "1b5a",
"addr_bit": "13",
"buttons": {
"batsu": [
"32"
]
}
}
}
完成状態
実装コード
- GitHubで公開しています。
- 開発環境は、VSCode+PlatformIOです。
おわりに
- 今後の改善点
-
赤外線リモコンデコーダとの一体化。
- デコーダで受信した赤外線コードをjsonファイルに自動記録することで、手編集しなくてよいようにする。
- M5Stack上でのjsonファイルのボタン名などの編集は悩ましいところ
- ソフトウェアキーボードを実装する?
- Webサーバ機能を持たせ、PCやスマートフォンのブラウザから入力?
-
赤外線リモコンデコーダとの一体化。