LoginSignup
1
2

More than 5 years have passed since last update.

Raspberry pi + irMagicianを使った赤外線リモコン操作

Last updated at Posted at 2018-05-12

目的

部屋のシーリングライトとエアコンのリモコンを頻繁に見失うのでスマホや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の組み合わせで運用することが可能になる

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2