目的
部屋のシーリングライトとエアコンのリモコンを頻繁に見失うのでスマホやGoogle homeから制御できるようにしたい
irMagician
大宮技研 合同会社が作成した赤外線リモコンのコードを保存、出力できるキット
http://www.omiya-giken.com
Serial通信でIRセンサー制御PICと通信を行う。
システム構成
RaspberryPi -(serial via usb)- irMagician
この構成により、Raspberry Piを中継としたリモコンシステムを構築する
システム制御
irMagician仕様
大宮技研のサンプルコードで必要なコードを抜粋する
http://www.omiya-giken.com/?page_id=1231
pythonコード
赤外線リモコンをキャプチャー
serial.write("c/n") # capture要求 一定時間赤外線を受けなかったらタイムアウト
print(serial.read(3)) # captureに成功したら読み取ったデータ数を10進数で返す
キャプチャーしたリモコンを読み出す
先の読み取ったデータ長はi,1で読み出すことが可能。
このデータがPICのメモリ(1bank 64byte)に格納されている
irData = []
serial.write("n,1/n")
len_str = serial.read(3)
len = int(len_str, 10)
for i in range(len):
bank = i / 64
pos = i % 64
if (pos == 0):
serial.write("b,{0}\n".format(bank))
serial.write("d,{0}\n".format(pos))
x_str = seria.read(3)
data = int(x_str, 16)
irData.append(data)
読み取ったデータを再生(赤外線送信)する
len = len(irData)
for i in range(len):
bank = i / 64
pos = i % 64
if (pos == 0):
serial.write("b,{0}\n".format(bank))
serial.write("w,{0},{1}\n".format(pos, irData[i]))
serial.write("p/n")
これで赤外線リモコンを読み込みから再生までできるようになった。
リモコンデータの読み出し先をファイルにして複数ファイルを交互に入れ替えを行うようにすれば多数のリモコンを一つのRaspberry PiとirMagicianの組み合わせで運用することが可能になる