Raspbian BusterでLirc(gpio-ir)を試す(設定編)
以前もRaspberry Piで赤外線を操作できるLircを使用してみたのだけど、Raspbianに新しいバージョンBusterが出ていたので試してみる。
(諸事情で前にインストールしていたのは消した。)
dive2blue.hatenablog.com
この時は、Stretchだったし、いろいろインストールしたあとで入れたのでなんで動いたのかよくわからなかった。
今回はまっさらな2019-07-10-raspbian-buster-liteをダウンロードして試した。
https://www.raspberrypi.org/downloads/raspbian/
このフォーラムを参照して入れる。
[Stretch/Buster] Using LIRC with kernel 4.19.X and gpio-ir - Raspberry Pi Forums
日々アップデートされているらしく7/7更新の手順をなぞる。
手順
まず、一応アップデート。
pi@raspberrypi:~ $ uname -a Linux raspberrypi 4.19.57+ #1244 Thu Jul 4 18:42:50 BST 2019 armv6l GNU/Linux pi@raspberrypi:~ $ sudo apt-get update pi@raspberrypi:~ $ sudo apt-get upgrade
(sudo rpi-updateしようとしたら警告が出たので普通はしないのですね初めて知った。)
Grove base hatに刺すので入れる。GPIO直ならいらない。
pi@raspberrypi:~ $ sudo apt install python3-pip python-pip pi@raspberrypi:~ $ curl -sL https://github.com/Seeed-Studio/grove.py/raw/master/install.sh | sudo bash -s - Successfully installed grove.py-0.6
lircをインストール
pi@raspberrypi:~ $ sudo apt install lirc
はじめは失敗する。(Strechだと失敗しないらしい)
失敗はしているが設定ファイルは生成されているのでリネームしてコピー
pi@raspberrypi:~ $ sudo cp /etc/lirc/lirc_options.conf.dist /etc/lirc/lirc_options.conf pi@raspberrypi:~ $ sudo cp /etc/lirc/lircd.conf.dist /etc/lirc/lircd.conf
中身を一部書き換える。
pi@raspberrypi:~ $ sudo vi /etc/lirc/lirc_options.conf driver = default # 送信なら device = /dev/lirc0 # 受信なら device = /dev/lirc1
送信なら、受信ならと場合分けしているが、lirc0のままlirc1が動いたし、autoのままでいい説もある。(試していない)
接続したGPIOのピン番号を指定し、リブート。
pi@raspberrypi:~ $ sudo vi /boot/config.txt # 接続した番号追記する dtoverlay=gpio-ir,gpio_pin=16 dtoverlay=gpio-ir-tx,gpio_pin=5 pi@raspberrypi:~ $ sudo reboot
試してみる この時点で受信に成功する(なんで?)
pi@raspberrypi:~ $ sudo mode2 -d /dev/lirc1 Using driver default on device /dev/lirc1 Trying device: /dev/lirc1 Using device: /dev/lirc1 Running as regular user pi space 16777215 pulse 3485 space 1712 pulse 446 #ctrl+Cで終了
もう一度lircをインストールしなおすとインストールに成功する。
pi@raspberrypi:~ $ sudo apt install lirc
もう一度動かす。
pi@raspberrypi:~ $ sudo mode2 -d /dev/lirc1 Using driver default on device /dev/lirc1 Trying device: /dev/lirc1 Using device: /dev/lirc1 Running as regular user pi space 16777215 pulse 3485 space 1712 pulse 446
無事動きました。
送信側はまだ試してない。