我是靠谱客的博主 活力导师,最近开发中收集的这篇文章主要介绍树莓派4B + HX1838,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

        • 树莓派4B 4GB Hardware v1.4
        • 安装配置 lirc
        • 录制按键
        • 继续配置lirc
        • 在python 程序中使用lirc

树莓派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()

最后

以上就是活力导师为你收集整理的树莓派4B + HX1838的全部内容,希望文章能够帮你解决树莓派4B + HX1838所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(75)

评论列表共有 0 条评论

立即
投稿
返回
顶部