Edited at

RaspberryPi3でlircを使ってリモコン化する時の注意事項まとめ

More than 1 year has passed since last update.

RaspberryPi3を使ってlircで家電を操作できるようにしたのですが、ハマった所があったのでまとめます。

初期設定やインストールについてはこの記事では省略します。参考サイトを参照してください。


その1:lircの有効化設定に関して

まずは、lircの有効化の設定でハマりました。

新しいモデルのラズパイ(RaspberryPi3やもしかするとZeroWなども)だと、ここの設定が一部の解説と異なるようです。

古いモデル


/etc/modules

lirc-rpi,gpio_in_pin=23,gpio_out_pin=24


新しいモデル


/boot/config.txt

lirc-rpi,gpio_in_pin=23,gpio_out_pin=24


書く内容は変わらないのですが、/etc/modulesから/boot/config.txtに変更になったようです。

また、boot/config.txtに書き込む際は/etc/modulesの方をコメントアウトしてください。


その2:hardware.confに関して

一部省略されている解説サイトがありますが、インストール後に生成される/etc/lirc/hardware.confを書き換えないとコマンド等を実行することができません。

以下設定例です。


/etc/lirc/hardware.conf

# /etc/lirc/hardware.conf

#
# Arguments which will be used when launching lircd
LIRCD_ARGS="--uinput"

#Don't start lircmd even if there seems to be a good config file
#START_LIRCMD=false

#Don't start irexec, even if a good config file seems to exist.
#START_IREXEC=false

#Try to load appropriate kernel modules
LOAD_MODULES=true

# Run "lircd --driver=help" for a list of supported drivers.
DRIVER="default"
# usually /dev/lirc0 is the correct setting for systems using udev
DEVICE="/dev/lirc0"
MODULES="lirc_rpi"

# Default configuration files for your hardware if any
LIRCD_CONF=""
LIRCMD_CONF=""


MODULES=の部分ですが、その1で紹介した中にあるlirc-rpiではなくlirc_rpiなので注意。

設定を反映させるには、/etc/init.d/lirc restartなどで再起動させる必要あり。


その3:lircd.confに関して

/etc/lirc/lircd.confにリモコンなど主な設定を記述します。

インストール直後このファイルの先頭に#UNCONFIGUREDと書かれている部分があるのですが、この行を削除しないと動かないようです。

ここでかなりハマりました。

各所でかかれていますが、信号を示す数字の部分の1行あたりの記述があまりにも多いとうまく動かないようなのでその点も注意が必要です。


その4:could not connect to socketやConnection refused

irsendなどで信号を送ろうとしても、正常に動作しない時のエラーメッセージですが、設定ファイルの記述ミスやそもそもlircが起動しているかなどを確認してください。

自分がハマった時は、設定ファイルの記述ミスでした。


その5:mode2 -d /dev/lirc0実行時に出力が止まらない問題

mode2 -d /dev/lirc0を実行することで、リモコンの信号を記録することができます。

何度か記録しているとリモコンを向けていないのにも関わらず、出力が止まらないという状態に陥りました。

原因は不明ですが、Micro-USBポートの挿し直し、数回の再起動を繰り返すうちに改善されました。


その6:エアコンが操作できない

一部の記事にも解説されていますが、エアコンの信号は複雑で長いため環境によっては操作できない場合があるようです。

自分の環境の場合もテレビは操作できたのですが、エアコンは操作できませんでした。

もしかすると記録の仕方が悪かっただけなのかもしれません。


参考サイト

Raspberry Pi 3 Jessieで LIRC機能を使って学習リモコン、赤外線リモコンを送受信する方法

RaspberryPiでLIRCする(2015/02仕様変更?)

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

Slack経由で家の外からエアコンをon, offできる装置を、Raspberry Piで作ってみた。(しかも御坂美琴ちゃんが応答してくれる)