00 LIRC is なに
RaspberryPiなどで赤外線を送受信するために作られたデーモン。
めちゃくちゃ仕様が変わるので悪名めっちゃ高い。(だから私はwiringPi)
01 環境
- Raspberry Pi ZeroW
- 赤外線リモコン受信モジュールOSRB38C9AA
02 LIRCをインストール(2020年6月現在)
LIRCをインストールします。
(raspberryPi$はターミナルの部分)
raspberryPi$ sudo apt update
raspberryPi$ sudo apt upgrade
raspberryPi$ sudo apt install lirc
/boot/config.txt
の51行目を以下のように変更
(ここが以前との変更点らしく、私含め詰まっている人が多く見受けられました。)
# Uncomment this to enable the lirc-rpi module
dtoverlay=gpio-ir,gpio_pin= inputに使いたいGPIOピン番号
dtoverlay=gpio-ir-tx,gpio_pin= outputに使いたいGPIOピン番号
ここで一旦再起動(serviceのrestartでいいとは思いますが念の為)
raspberryPi$ ls -l /dev/lirc*
crw-rw---- 1 root video 252, 0 6月 20 0:23 /dev/lirc0
crw-rw---- 1 root video 252, 1 6月 20 0:23 /dev/lirc1
再起動して、上のコマンドを実行すると、無事ここまでの設定が完了しているかわかります。
このlirc0は送信用で、lirc1は受信用です。
次に以下のコマンドを実行してみてください
raspberryPi$ lsmod | grep gpio
pio_ir_recv 16384 0
gpio_ir_tx 16384 0
このようになっていればLircがgpioピンを使う準備ができています。
03 リモコンの信号を受信するテスト
先ほど設定したinput用のGPIOピンを赤外線受信モジュールにつなぎます。
今回使ったモジュールではこのような繋ぎ方でした
RaspberryPi側 | モジュール側(受信部分が自分に向いている状態) |
---|---|
input用GPIO | 左 |
GND | 中央 |
3.3V | 右 |
受信テスト
以下のコマンドを実行します。
raspberryPi$ mode2 -d /dev/lirc1
するとボタンを押すたびに数値が画面に表示されます。
受信テストも終わったところでirrecordコマンドを用いて送信用ファイルを生成するのですが、部屋の環境が悪いせいか、うまく記録してくれないのでうまくいき次第記事にします。
04 参考
LIRC-ArchWiki
Raspberry Pi Zero で赤外線リモコンを作る
Raspberry Pi 3 Model B+とlircを使ってリモコンをコントロールする 1