この記事は0505Keitan's Blogからの移植記事です。
ちょっと付け足している部分もあります.
2020年最初の記事ですね。今年も色々作っていきます!
使用機材
- RaspberryPi4B (4GB)
- Pi 3 DIY Kit(22in1)
- 赤外線LED - 503IRC2E-2AC
pigpioの導入
まずはGPIOピンを制御するためにpigpio
を導入
$ sudo apt install pigpio python3-pigpio
デーモンを起動する
$ sudo systemctl enable pigpiod.service
$ sudo systemctl start pigpiod
赤外線学習用のコードをダウンロード
終わったら赤外線学習用のコードをダウンロードする。
$ curl http://abyz.me.uk/rpi/pigpio/code/irrp_py.zip | zcat > irrp.py
なぜか私の環境だとタイムアウトするのでMacでダウンロード、unzipしてラズパイにscpした。
失敗した理由がわかりました。IP固定するために色々いじってた結果DNSサーバーの指定をしていなかった?っぽかったです。
多分このままでもうまくいきます。
配線
全景
ブレッドボード
配線細かく書きたいんですけどめんどくさいので割愛。写真見てなんとかしてください()
赤外線学習の準備
これで17ピンを出力に、18ピンを入力に設定する。
$ echo 'm 17 w w 17 0 m 18 r pud 18 u' > /dev/pigpio
信号記録
$ python3 irrp.py -r -g18 -f codes air_con:on --no-confirm --post 50
オプション | 意味 |
---|---|
-r | 受信した信号を記録するモード |
-g18 | GPIO18を使って信号を受信する |
-f codes | 受信した信号を出力するファイル名を指定する |
--no-confirm | 確認のために同じ信号を2回要求しない |
--post 50 | 50ms無信号の場合に信号が終わったと判断する |
air_con:on | 信号の識別子。わかりやすい名前をつける |
参照元 : エアコンのリモコン信号を解析する ~デコード編~ - Qiita
信号発信
このコードだけネット上に落ちていたので参照先がなく、曖昧です。
$ python3 irrp.py -p -g17 -f codes air_con:on
オプション | 意味 |
---|---|
-p | 送信モード? |
-g17 | GPIO17を使って信号を発信する? |
-f codes | 発信するファイル名を指定する |
air_con:on | 信号の識別子。さっきのやつ |