工業音楽 shuplana's diary

CNCを中心としたワンボードマイコン~パソコン周辺

RaspberryPi ZERO W を赤外線リモコンにする

f:id:shuplana:20220416235449j:plain

RaspberryPi ZEROの拡張基板に赤外線RIリモコン部品を載せる

 

RaspberryPi ZERO W を入手済みだったのですが、OSとしてRaspbianを入れるのがいろいろできそうだったので入れました。

発端は、スマートフォンから赤外線リモコンの部屋のLED照明を操作できないかな、と思ったところから始まりました。

赤外線リモコンについては資料が分散していて、統合的にコントロールできるものはほとんどなさそうだ、という判断に至りました。スマートフォンのアプリはTVリモコンがメインですが、照明、エアコンなどを含めてコントロールできるようなものはなさそう。有料のアプリではありそうですが、調べて作る、という結論に至りました。

赤外線IRリモコンについては、さすがRaspberryPiというか、すでにいろいろ試している方々がいらっしゃいます。

ハードウエア

 赤外線LEDを発光させるハードについては下記のページを参考にさせていただきました。

Raspberry Pi Zero で赤外線リモコンを作る - Qiita

 

また、赤外線受信についてはIR受信モジュールとして売られてるものを使い、解析できるようにしました。学習タイプのリモコンにする、リモコンの通信を解析したいときなどは必須となります。

 

照明のリモコンや扇風機のリモコンなどは、ボタン操作=信号 と考えてほぼOKなので、リモコンから発信される信号を真似して発信すればそのままリモコンの動作になります。

対してエアコンのリモコンの信号は難しいです。三菱のエアコンのリモコンの解析をしましたが、毎回、コントロールできるパラメータをすべて送っているようです。

「+1度上げる」を送るときもモード(冷房/暖房/除湿)、温度、風向き、風速、すべて送っているようです。リモコンを再現するには難しい。すべてのパラメータを決め打ちで、よく使うモード、温度を設定して使うのが簡単そう。(学習して送信すればそうなります)

wiringPi のライブラリを使ってプログラムしました。

受信プログラム  受信した信号をTEXTファイルに書き出す。

送信プログラム 受信した信号のTEXTファイルを読み込み送信する。

上記の単純な2プログラムがあれば学習リモコンを再現できます。

このプログラムを呼び出すために、apache,PHPをRaspberryPi ZEROに入れました。WEBページでボタンをクリックすると上の送信プログラムを呼び出す、という単純なプログラム。RaspberryPi ZEROがつながっているWifiのネットワーク環境にスマートフォンもつながっていれば、Chromeなどで上記apacheページにアクセスしてリモコンと同じ動作をさせることができます。

 

ブレッドボードでバラック状態だったのを、RaspberyPi 3 用のスタックできる基板を使って組みなおしました。