RPi 3B -- LIRC はデバイスをセットアップしません: /dev/lirc0 のファイル情報を取得できませんでした

RPi 3B -- LIRC はデバイスをセットアップしません: /dev/lirc0 のファイル情報を取得できませんでした

この低レベルドライバについてはまだ初心者なので、間違いを犯しやすいところがたくさんあります。基本的に、lircでIRトランスミッターを入手しようとしています。トランジスタでピン23にIR LEDを取り付けていますが、何も入っていませ/dev/lircん。/dev/lirc0

lircをインストールしましたapt-get install lirc

その後、追加さdtoverlay=lirc-rpi,gpio_out_pin=23,gpio_in_pin=22config.txt、変更されlirc_options.confました

driver          = default
device          = /dev/lirc0

しかし、 には何もないので/dev、 で送信しようとすると がirsend表示されhardware does not support sendingます。lircd のシステム ステータスに次のエラーが表示されます。

Error: could not get file information for /dev/lirc0

私はファームウェアを搭載した Raspbian Stretch を実行している RPi 3B を使用していますLinux raspberrypi 4.19.42-v7+ #1219

他にどのようなコマンドダンプが必要かはわかりませんので、コメントしていただければ質問に追加します。

注: 私が読んだところによるgpio-irと、それは受信機のみのようです。IR 送信機能を備えたライブラリへのリンクもいただければ幸いです。

答え1

新しいカーネルでは、lirc-rpiもう存在しないようです。では、(受信機)または/と(送信機)の代わりに使用する必要があることが/boot/overlays/わかりました。/boot/overlays/READMEgpio-irgpio-ir-txlirc-rpi

私にとって、それは変化をもたらしました:

dtoverlay=lirc-rpi,gpio_out_pin=23,gpio_in_pin=22

に:

dtoverlay=gpio-ir,gpio_pin=22       #(without: in)
dtoverlay=gpio-ir-tx,gpio_pin=23    #(without: out)

現時点では、どちらか一方をコメントアウトする必要があります。なぜなら、両方が同時に機能するgpio-irのではなく、どちらか一方のみが機能するからです (私の場合)。gpio-ir-tx

J

答え2

私はuname -aそれを与える Linux Hostname 4.9.35-v7+ #1014 SMP Fri Jun 30 14:47:43 BST 2017 armv7l GNU/Linux

この行を追加して/boot/config.txt再起動すると

dtoverlay=lirc-rpi,gpio_in_pin=22,gpio_out_pin=23

ついに/dev/lirc0

答え3

私はスマートホームに Lirc を「fhem」で使用して、テレビに信号を送信し、テレビのリモコンから信号を受信して​​照明を切り替えています。現時点では、信号を送信することしかできません。新しく更新された STRETCH での私のやり方:

apt-get インストール lirc ir-keytable

/boot/config.txt の次の行を更新します。

(#dtoverlay=gpio-ir、gpio_pin=27)

dtoverlay=gpio-ir-tx、gpio_pin=23

/etc/lirc/lirc_options.conf の次の行を更新します。

ドライバー = デフォルト

デバイス = /dev/lirc0

LircClientをインストールします:

perl -MCPAN -e シェル

Lirc::Clientをインストールする

以前記録した lircd.config を使用してテレビに信号を送信できます。ただし、従来の方法で「.lircrc」を使用して信号を受信することはできません。誰かやり方を知っている人はいませんか? 役に立つといいのですが! J

関連情報