Raspbian [Stretch / Buster]內核4.19.X配置紅外空調遙控器gpio-ir筆記
[Stretch / Buster]內核4.19.X配置紅外空調遙控器gpio-ir筆記)
使用Raspbian Buster版本 gpio-ir補丁和運行環境安裝:
首先執行
.
sudo su -c "grep '^deb ' /etc/apt/sources.list | sed 's/^deb/deb-src/g' > /etc/apt/sources.list.d/deb-src.list"
sudo apt update
sudo apt install devscripts
然後執行
.
sudo apt install dh-exec doxygen expect libasound2-dev libftdi1-dev libsystemd-dev libudev-dev libusb-1.0-0-dev libusb-dev man2html-base portaudio19-dev socat xsltproc python3-yaml dh-python libx11-dev python3-dev python3-setuptools
mkdir build
cd build
apt source lirc
wget https://raw.githubusercontent.com/neuralassembly/raspi/master/lirc-gpio-ir-0.10.patch
patch -p0 -i lirc-gpio-ir-0.10.patch
cd lirc-0.10.1
debuild -uc -us -b
cd ..
sudo apt install ./liblirc0_0.10.1-5.2_armhf.deb ./liblircclient0_0.10.1-5.2_armhf.deb ./lirc_0.10.1-5.2_armhf.deb
安裝命令將失敗報錯請先暫時忽略。然後首先配置下面的文件,即/boot/config.txt和/etc/lirc/lirc_options.conf。之後,再次嘗試一下安裝命令
請將以下行添加到/boot/config.txt
dtoverlay=gpio-ir,gpio_pin=17
dtoverlay=gpio-ir-tx,gpio_pin=18
備份
sudo cp /etc/lirc/lirc_options.conf.dist /etc/lirc/lirc_options.conf
sudo cp /etc/lirc/lircd.conf.dist /etc/lirc/lircd.conf
用於接收時配置 sudo vi /etc/lirc/lirc_options.conf 修改以下內容 然後重新啓動 lirc服務 sudo service lircd restart
driver = default
device = /dev/lirc1
用於發送時配置 sudo vi /etc/lirc/lirc_options.conf 修改以下內容 然後重新啓動 lirc服務 sudo service lircd restart
driver = default
device = /dev/lirc0
配置完成再次嘗試以下安裝命令,這次將成功安裝
sudo apt install ./liblirc0_0.10.1-5.2_armhf.deb ./liblircclient0_0.10.1-5.2_armhf.deb ./lirc_0.10.1-5.2_armhf.deb
紅外信號錄入與發射
簡單的紅外遙控信號錄入直接運行 irrecord -d /dev/lirc0 --disable-namespace ,按提示做完後把生成的文件放到 /etc/lirc/lircd.conf.d/ 目錄就行了。
空調遙控信號錄入過程稍微複雜一點
信號錄入首先要生成一個樣板
開始自動錄製:
irrecord -f -d /dev/lirc0 --disable-namespace
閱讀提示信息,根據提示按Enter、輸入 遙控器名稱 、按Enter、按照要求隨機按遙控器、輸入 按鈕名稱 、按對應的遙控器按鈕。完成錄製後,當前目錄下會生成一個遙控器配置文件 "遙控器名稱.lircd.conf"
手動編輯遙控器配置文件
樣板文件 遙控器名稱.lircd.conf , begin raw_codes 和 end raw_codes 之間的內容需要手動修改
手動錄製
# -m --mode 使用行列顯示模式,不顯示pulse、space
mode2 -m -d /dev/lirc0`
除去第一行很大的那個數,把其他數據全部複製,粘貼到配置文件的 name 27 下方
begin remote
name kk
flags RAW_CODES|CONST_LENGTH
eps 30
aeps 100
gap 103882
begin raw_codes
name 27
8940 4466 607 1684 608 575
610 576 609 1709 608 1682
607 1683 609 577 606 577
608 1680 610 1709 581 602
584 1706 609 577 608 577
608 576 609 578 627 560
603 577 608 576 608 574
610 575 609 577 607 577
607 577 581 601 582 603
581 602 582 631 553 1707
609 576 609 1683 607 578
607 576 608 1681 609 576
609
end raw_codes
end remote
配置文件複製到指定目錄 /etc/lirc/lircd.conf/ 並重啓lircd服務
sudo cp KK.lircd.conf /etc/lirc/lircd.conf.d/
sudo service lircd restart
發射信號
發射命令:irsend SEND_ONCE 遙控器名稱 按鈕名稱
irsend SEND_ONCE KK 27
#空調調整到27C
內核4.19不包含lirc_dev,因此建議使用gpio-ir詳情請點擊查看
參考1:https://www.raspberrypi.org/forums/viewtopic.php?t=235256
參考2:http://blog.sina.com.cn/s/blog_8f689c6a0102v1jg.html