树莓派4B + HX1838

树莓派4B 4GB Hardware v1.4

screenfetch
pinout
树莓派引脚对照 Board、BCM

HX1838
HX1838

安装配置 lirc
sudo apt update
sudo apt install lirc
sudo apt-get install liblircclient-dev 
pip install python-lirc

修改配置文件 sudo nano /boot/config.txt:

#取消注释下面两条,第一句是红外接收引脚,第二句是红外发送引脚,BCM编号模式
dtoverlay=gpio-ir,gpio_pin=17 
dtoverlay=gpio-ir-tx,gpio_pin=18

修改配置文件 /etc/lirc/lirc_options.conf:

diver = default
device = /dev/lirc1 #或者lirc0

完成配置后重启树莓派
测试:

sudo service lircd stop
mode2 -d /dev/lirc1 # 加-m 参数可以格式化输出
irrecord -l #查看可用按键名称
录制按键
sudo irrecord -d /dev/lirc1 ~/lircd.conf #一定要加SUDO

出现Press RETURN to continue. 按一下回车等待。
出现Enter name of remote (only ascii, no spaces) :
输入文件名称.
开始录制
输入按键配置文件名称
再次按下回车后,树莓派便开始记录按键。这时需要轮流随机按遥控器上的按键,每按下一个按键(不是长按) 屏幕就会出现一个点。一直重复随机按下遥控器的上按键,直到屏幕出现:
Please enter the name for the next button (press to finish recording)
录制第一步
这里输入按键配置的名字,名字只能从之前查看可用按键名词里面取输入 KEY_1 然后 按下回车 屏幕出现:

Now hold down button "KEY_1".

按下用遥控器的数字 1 键,然后屏幕又出现:

Please enter the name for the next button (press <ENTER> to finish recording)

重复录制每一个按键直到结束后按下回车,之后还需要重复的按遥控器上的同一个按键。注意不是长按!直到屏幕出现

Successfully written config file car.lircd.conf

表示录制已经全部完成。

继续配置lirc

修改配置文件

sudo nano car.lircd.conf

将红圈处的多余数字删除
复制文件到Lirc目录下,并覆盖lircd.conf:

sudo cp car.lircd.conf /etc/lirc/lircd.conf

进入lircd.conf.d 目录,重命名devinput.lircd.conf为devinput.lircd.dist

cd /etc/lirc/lircd.conf.d
sudo mv devinput.lircd.conf devinput.lircd.dist

测试录制后的按键输出:

sudo service lircd restart
sudo lircd --nodaemon --device /dev/lirc1 --driver default
sudo irw

测试按键输出

在python 程序中使用lirc

修改文件名 irexec.lircrc 为 lircrc

cd /etc/lirc
sudo mv irexec.lircrc lircrc
sudo nano lircrc

修改关联文件
prog = test.py # test.py 为关联的程序名称
button = KEY_1 # 刚刚记录的按键名
Config = echo “KEY_1” # 传递给程序的消息
测试 test. py

import lirc
sockid = lirc.init("test.py",blocking=True)
while True:
    btn=lirc.nextcode()
    if btn == [u'echo "KEY_3"']:
        print(btn)
        print("you Press 3")
        break
    elif btn == [u'echo "KEY_1"']:
        print(btn)
        print("you Press 1")
    elif btn == [u'echo "KEY_2"']:
        print(btn)
        print("you Press 2")
    else:
    	print(btn)
lirc.deinit()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值