Smart Remocon

Smart Remocon

 今現在では、スマートリモコンという形の学習リモコンは多数製品として世の中に提供されてきています。このプロジェクトの原型となる構想は2012年ころに開始したのですが(当時はarduinoとPC間をケーブル接続してPC側アプリからリモコンコードを送信するというマニア的な仕様で、PCを前提とした、利便性の点で今一つといったものでした。それでも結構リモコン機能としてはタイマー制御やシナリオ機能など当時では付加価値のある仕様ではありました)。
その後、esp8266が登場し、WiFi機能を備え、且つSRAMもarduino(Uno)と比較すると格段にスペックアップ(2KB⇒80KB)し、しかも価格が安いということで、これは乗り換えるしか無いと判断、スマホが急速に普及しつつあったことから、スマホに移行できないかと考えるに至りました。
 OSの違うスマホごとやPCそれぞれにアプリを作成するのも大変ということやメンテナンスの一本化も意識し、esp側をwebserverとしてHMIはWEBインタフェースとしました。このアーキテクチャ変更により、大きな変更は何といってもデータの配置でした。幸いにもesp8266にはマイクロSDが実装できることがあって、主要なデータ(html、リモコンコード、シナリオ、環境設定データ等)はほとんどこちらに収容することで開発を進めました。しかし、いろいろ機能を追加していくと今度はSRAMの容量不足にでくわすことに。この時登場したのがesp32でした(SRAM:520KBしかも価格はESP8266より安価)。 とはいうものの開発環境(library等)の整備がなかなか充実せず、長期間適用を見送ることになりました。
 その後環境も整った段階でこちらに移行することにしました。移行段階でも、安定するまでに紆余曲折ありましたが、ようやくそれらしい形に整えることが出来ました。以下にその仕様、動作状況を示していきます。

Smart Remoconの仕様

初期画面

■リモコン機能
 右図の”初期画面”で以下の機能を選択します。
よく使うテレビ、エアコン、照明を個別画面として設け、ボタンによるコントロールを可能としました。その他の機器はコード一覧からコントロール可能です。登録したコード、シナリオ、その他の登録情報はID、PASSWORD等を除いて基本的にmicro SDカードに保存されます。ID、PASSWORD等の気密性の高い情報はプログラムエリアに保存されます。


テレビ画面

●テレビ
 一般的なテレビリモコンを模した画面として操作性を高めています。各ボタンによりコントロールできす。コードの登録は、上部の登録ボタンをクリック後、対象のボタンをクリックし、20sec以内に装置の受光部に向かってリモコン信号を照射することで可能です。


エアコン画面

●エアコン
 エアコン操作をボタンで行うことできます。冷/暖房/除湿を温度、湿度の指定をしてコントロールします。
 コードの登録は、下部のコード登録欄にて、冷/暖/除湿種別と温度、湿度種別を選択して登録ボタンをクリック後20sec以内にコードを照射することにより、可能となります。
 エアコンのコードは、冷/暖/除湿種別や温度指定だけではなく、風量や風向き等全ての情報を乗せて送るため、全てのパラメータの組み合わせを登録することは限界があります。従って、ここでは使用頻度が高いと思われる最小限の内容を設定可能としています。コード登録時はここで設定できる内容以外は実際のエアコン用リモコン装置で、希望の内容を指定した上で登録する必要があります。

 Smart Remocon装置にはセンサーが搭載されており、温度、湿度、気圧、照度が測定できます。エアコン画面ではこの値をまとめて表示しています。
・快適制御
 快適制御とはエアコン動作中に温度、湿度をモニターし、不快指数を算出し快適な温度になるように自動的にエアコンの温度設定を変化させるようにリモコン制御する機能のことです。この快適制御には個人の体感の違い(暑く感じやすい人など)を考慮し、いくつかのパターンから選択できるようにしています(冷房、暖房でそれぞれ8パターン)。パターン選択後、快適制御開始ボタンクリックでスタートします。

照明画面

●照明
 初期画面で”Lights”を選択することによりコントロール画面に移ります。照明装置は3装置まで設定可能です。”照明ON””照明OFF”ボタンでON/OFFを調光可能な器具向けには”調光+/-“ボタンでコントロールが可能です。コード登録は上部の登録ボタンクリック後に希望のボタンをクリックし、コード照射を行います。


コード画面

●その他機器
 その他の機器に対するリモコンコードの登録は、下記のコード登録の手順に従って行います。コード登録画面でコード名を指定して登録を行います。



■シナリオ・タイマー機能
 シナリオ機能とは、あらかじめ時刻とコード名をして希望の時刻にリモコンコードを送出する機能です。1つのシナリオに複数の好きな時刻とコードの組み合わせを登録することが可能です。シナリオを実行するには、シナリオ名を選択して実行ボタンをクリックすることにより行います。シナリオの登録は初期画面の”シナリオ登録・変更・削除”から登録画面に移行して行います。シナリオ名の先頭に”@”を付加することで即時実行のシナリオを作成することも可能です。

LED画面

■LED照明機能
本装置にはチョットしたインテリア向け機能として、LED Lightを四隅に具備しています。それぞれにカラーを設定することが可能です。初期画面で”LED Control”を選択し右の画面でLED No.を指定してRGBの値で設定できます。RED、GREEN、BLUE、WHITEに一括して設定することも可能です。


■コード登録・削除
初期画面で”環境設定”⇒”コード登録・変更・削除”と進み、コードを登録する場合にはコード名を入力後、登録ボタンをクリックする。登録済コードを削除する場合は、コードリストに表示される登録済コードから対象のコードを選択し、”削除”ボタンをクリックする。
■環境設定
環境設定においては、WiFi環境の設定(接続するルーターの設定、スタンドアローンアクセス環境のせって意を行います。また、コードの登録・削除、シナリオの登録・削除、Google home連携のMQTTクラウドサービス(Beebotte)の設定を行います。また装置内に時刻の設定を行います。