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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章