LIRCもといGPIO-IR試用編
室温管理するようなものを作りたいと思っています。
(そのうち、買い物編と仕様編の記事を書く予定。
温度管理のために、エアコンをリモート操作したいと思い、赤外線送受信モジュールを購入。
www.switch-science.com
www.switch-science.com
Grove Base Hatに刺すだけでよゆ~っしょ!と思っていたのだけど、まさかのライブラリ非対応!?
https://github.com/SeeedDocument/Grove_Base_Hat_for_Raspberry_Pi/raw/master/res/Grove%20Base%20HAT%20Compatibility%20List.xlsx
(買う前に読もうな…)
ということで、とりあえずGroveに刺して、GPIOの操作することに。
LIRC(Linux Infrared Remote Control)で赤外線モジュールを操作できそうなので参考にインストール。
赤外線リモコンを使う | Make.
HW準備
Raspberry pi zero WHにGrove Base Hat for Raspberry Pi Zeroを合体。
(Base Hat使っているのはGrove-4pinジャンパメスケーブルがないため。)
D16に受信器、D5に送信機を接続。
写真汚い…
SW設定
参照のサイトのそのまま実行していたら失敗した。
kernelが新しくなってからまた変わったようす。
Using LIRC with kernel 4.19.X and gpio-ir - Raspberry Pi Forums
結論から言って、Kernel4.19からlircでなくgpio-irを設定する。
とりあえずやった手順で書く。
(明らかに消した部分は省略、順不同な部分は移動した。)
kernelのバージョン確認
どの時点で新しくなったか不明だが、今の状態。
~$ uname -a Linux raspberrypi 4.19.37+ #1216 Thu May 2 13:25:42 BST 2019 armv61 GNU/Linux
lircのインストール
~$ sudo apt install lirc
フォーラムではパッチを入れろと書いてあったけど...
~$ sudo reboot
設定ファイルの更新
~$sudo vi /etc/lirc/lirc_options.conf #書き換える driver = default device = /dev/lirc0
~$ sudo vi /boot/config.txt # 接続した番号追記する dtoverlay=gpio-ir,gpio_pin=16 dtoverlay=gpio-ir-tx,gpio_pin=5 ~$ sudo reboot
確認
/dev/lirc0ができているか確認する。
/boot/config.txtにlirc-rpiを設定しているとできない。
~$ ls /dev/lirc* /dev/lirc0
適当なリモコンなど用意して、受信器に向けると数字が出る
~$ sudo mode2 -d /dev/lirc0 Using driver default on device /dev/lirc0 Trying device: /dev/lirc0 Using device: /dev/lirc0 Space 12345 Pulse 12345 …
送信側はまだ確認してないので、あとで追記します。
余談
/dev/lirc0ができないよーと泣きながら/bootフォルダを眺めていたら、
overlaysという怪しいフォルダを発見。
しかも、怪しいREADMEが入っている。
dtoverlayに設定していたlirc-rpiで検索してみたところ!
Name: lirc-rpi Info: This overlay has been deprecated and removed - see gpio-ir
参考は参考にして自分で調べないとなと思いましたとさ…