ハニカムシェードリモコン解析の備忘録
一条工務店の電動ハニカムシェード。
無線式のため市販のスマートリモコンでは遠隔操作できませんが、
無線⇒赤外線に変換するための機器「IR-RF-converter」を作るための道のり。
( IR=赤外線 RF=無線 の略です)
送信・受信の方法が確立したので、無線⇔赤外線の変換プログラムを作成します。
無線の送受信の方は、https://github.com/sui77/rc-switch/ を参考に一条工務店用のプログラムに書き換えております。
プログラムの一部抜粋
//*********************************************************************
RCSwitch mySwitch = RCSwitch(); // RF準備
IRsend irsend(IRSendPIN); // IR送信準備
IRrecv irrecv(IRRecvPIN); // IR受信準備
decode_results results; // IRデータ格納先
//*********************************************************************
void setup() {
//無線機及び赤外線の設定開始
mySwitch.enableReceive(RFRecvPIN); //RF受信
mySwitch.enableTransmit(RFSendPIN);//RF送信
mySwitch.setProtocol(1);//一条用自作プロトコル選択
// { 206, { 4, 1 }, { 1, 2 }, { 2, 1 }, true }, // protocol 1
mySwitch.setRepeatTransmit(10);//RF繰り返し送信回数
irsend.begin();
irrecv.enableIRIn();
mySwitch.resetAvailable();
irrecv.resume();
}
//*********************************************************************
void loop() {
//RF受信まち⇒受信したらIR信号として送信
if (mySwitch.available()) {
irsend.sendNEC(mySwitch.getReceivedValue(), 32);
mySwitch.resetAvailable();
irrecv.resume();
delay(200);
}
//IR受信まち⇒受信したらRF信号として送信
if ( irrecv.decode(&results) ) {
mySwitch.send(uint64ToString(results.value, DEC).toInt(), 32);
mySwitch.resetAvailable();
irrecv.resume();
delay(200);
}
delay(50);
}
プログラムは素人ですので、参考程度にお願いします。
このプログラムをベースにWiFi接続し、APモードで設定を行うようにしてあります。