聲明:本人不是技術(shù)男,大部分教程都是參考網(wǎng)絡(luò)上的旗扑,下面把參考地址貼出來蹦骑,不妥之處輕噴,謝謝臀防。(_)**
http://www.reibang.com/p/96f16846dfa3
https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=235256
http://www.reibang.com/p/eefb1e5d9a23
我的樹莓派環(huán)境:硬件-樹莓派4B 系統(tǒng)-Raspbian Buster with desktop2019-09-26
注意:此教程僅適用于Raspbian的Buster版系統(tǒng)眠菇,內(nèi)核版本為4.19.X,安裝時(shí)請(qǐng)確保每一步都跑完
接線方法(左接收袱衷,右發(fā)射)捎废,請(qǐng)無視交叉線/(ㄒoㄒ)/~~
安裝過程:
1.安裝Raspbian Buster中安裝gpio-ir補(bǔ)丁:
如果已經(jīng)使用apt安裝了lirc請(qǐng)先使用下面命令卸載致燥,沒有安請(qǐng)無視
sudo apt remove lirc liblirc0 liblirc-client0
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
最后一項(xiàng)如果安裝失敗不要著急登疗,先繼續(xù)往下做!!
2.配置相關(guān)文件:
①配置/boot/config.txt
sudo nano /boot/config.txt
然后在文件末尾添加如下:
dtoverlay=gpio-ir,gpio_pin=24
dtoverlay=gpio-ir-tx,gpio_pin=25
24為GIPO24口 是紅外輸入口辐益,25為GPIO25口断傲,為紅外輸出口
②復(fù)制配置文件
sudo cp /etc/lirc/lirc_options.conf.dist /etc/lirc/lirc_options.conf
sudo cp /etc/lirc/lircd.conf.dist /etc/lirc/lircd.conf
注意:此時(shí)再次執(zhí)行標(biāo)題1里面的最后一步安裝命令即可安裝成功!
③配置/etc/lirc/lirc_options.conf文件
sudo nano /etc/lirc/lirc_options.conf
將driver = XXX 和 device = XXX 兩行更改如下:
driver = default
device = /dev/lirc1
至此智政,驅(qū)動(dòng)及Lirc就安裝完成认罩,請(qǐng)重啟你的樹莓派
3.錄制遙控:
①測(cè)試驅(qū)動(dòng)是否正確
sudo service lircd stop # 停止lircd服務(wù)
mode2 -d /dev/lirc1 # 接收紅外信號(hào)
此時(shí)用遙控器對(duì)著紅外接收器,應(yīng)該會(huì)打印出一些信息续捂,否則前面步驟可能出現(xiàn)了問題垦垂。
②查看可用遙控鍵名
irrecord -l
把錄制時(shí)需要的鍵名記錄下來,只能從這里面挑選牙瓢,不能自定義
③開始錄制
輸入如下代碼開始錄制
irrecord -d /dev/lirc1 ~/lircd.conf
出現(xiàn) Press RETURN to continue. 按回車?yán)^續(xù)
出現(xiàn) Please don't press any buttons, just wait a few seconds... 則不要按任何鍵劫拗,等待即可
出現(xiàn) Enter name of remote (only ascii, no spaces) : 則輸入你要錄制的文件名稱,請(qǐng)用英文字母命名
出現(xiàn) Press RETURN now to start recording. 先按回車矾克,然后隨機(jī)輪流按你的遙控器上的按鈕页慷,按鈕每發(fā)送一次信息屏幕上會(huì)出現(xiàn)一個(gè) . 每個(gè)按鈕不要連續(xù)出現(xiàn)白點(diǎn)超過8次。等待屏幕上大約出現(xiàn)一行白點(diǎn)后聂渊,又會(huì)出現(xiàn) Please keep on pressing buttons like described above. 然后點(diǎn)按其中的一個(gè)按鍵差购,直至出現(xiàn)代碼。
出現(xiàn) Please enter the name for the next button (press <ENTER> to finish recording) 后即可錄制按鍵汉嗽,按照
先輸入 代碼名稱 (就是你上一步記錄的鍵名)然后按回車 欲逃,出現(xiàn)Now hold down button "XXXX" 時(shí) 按住相應(yīng)的遙控按鈕不放直至再次出現(xiàn)前面內(nèi)容。重復(fù)此步驟直到錄制完成饼暑,按回車?yán)^續(xù)稳析。
出現(xiàn) Press RETURN to continue.后 點(diǎn)按你剛才錄制按鈕中的某一個(gè)直至完成!
然后查看你錄制好的文件弓叛,如果出現(xiàn)
KEY_M 0x40F730CF 0x07745000
類似的字段 說明錄制成功了
④復(fù)制你的配置到Lirc目錄
首先復(fù)制你的配置文件到/etc/lirc/lircd.conf.d目錄彰居,執(zhí)行如下代碼
sudo cp XXX /etc/lirc/lircd.conf.d # XXX處改為你錄制的文件名
然后要重命名devinput.lircd.conf需要改名為devinput.lircd.dist,執(zhí)行如下代碼
cd /etc/lirc/lircd.conf.d
sudo mv devinput.lircd.conf devinput.lircd.dist
⑤修改你錄制文件
cd /etc/lirc/lircd.conf.d
sudo nano XXX # XXX處改為你錄制的文件名
然后修改按鍵的類似如下
KEY_M 0x40F730CF 0x07745000
字符撰筷,一般是去掉后面相同的那一串陈惰,例如我的:
修改前:
KEY_POWER 0x40F700FF 0x176FB400
KEY_VOLUMEDOWN 0x40F7708F 0x176FB400
KEY_VOLUMEUP 0x40F708F7 0x176FB400
KEY_LAST 0x40F7B04F 0x176FB400
KEY_NEXT 0x40F78877 0x176FB400
KEY_PAUSE 0x40F7F00F 0x176FB400
KEY_M 0x40F730CF 0x176FB400
修改后:
KEY_POWER 0x40F700FF
KEY_VOLUMEDOWN 0x40F7708F
KEY_VOLUMEUP 0x40F708F7
KEY_LAST 0x40F7B04F
KEY_NEXT 0x40F78877
KEY_PAUSE 0x40F7F00F
KEY_M 0x40F730CF
⑥測(cè)試配置是否成功
重啟 lircd 服務(wù)
sudo service lircd restart
執(zhí)行irw命令進(jìn)行測(cè)試(如果沒有輸出建議reboot重啟一次):
sudo irw
然后和按遙控上你錄制的按鈕出現(xiàn)類似如下:
0000000040f700ff 00 KEY_POWER YX3
0000000040f7b04f 00 KEY_LAST YX3
0000000040f7f00f 00 KEY_PAUSE YX3
0000000040f7708f 00 KEY_VOLUMEDOWN YX3
0000000040f78877 00 KEY_NEXT YX3
0000000040f78877 00 KEY_NEXT YX3
0000000040f708f7 00 KEY_VOLUMEUP YX3
0000000040f7f00f 00 KEY_PAUSE YX3
即為成功!
至此毕籽,遙控錄制就完成了抬闯!
5.紅外發(fā)送:
①修改配置
如果使用紅外發(fā)送,則必須對(duì)/etc/lirc/lirc_options.conf文件進(jìn)行修改
sudo nano /etc/lirc/lirc_options.conf
修改device = /dev/lirc1為device = /dev/lirc0
然后重啟lirc
sudo service lircd restart
②使用發(fā)射命令
使用命令irsend SEND_ONCE [遙控名稱] [按鈕名稱]关筒,例如:
irsend SEND_ONCE MyInfrared KEY_POWER
紅外發(fā)射即可發(fā)射對(duì)應(yīng)功能
6.使用Python發(fā)送紅外:
查閱了很多資料溶握,沒有找到比較好的方法
所以使用python的發(fā)送linux指令功能,大概如下:
import os
os.system('irsend SEND_ONCE YX3 KEY_POWER')
運(yùn)行就類似在控制臺(tái)發(fā)送了irsend SEND_ONCE YX3 KEY_POWER指令蒸播。
至于接受紅外睡榆,我還沒有研究萍肆,研究后一并再更新~!