『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 47051|回复: 76

[新奇玩法] 基于U口的红外遥控模块控制HASS已接入的设备

  [复制链接]

3

主题

68

帖子

727

积分

高级会员

Rank: 4

积分
727
金钱
659
HASS币
0
发表于 2017-11-24 12:09:34 | 显示全部楼层 |阅读模式
本帖最后由 jgx2003 于 2017-11-24 12:12 编辑

最近受到论坛基于红外控制HASS设备的帖子的启发,正好自己手头上有一个串口的红外收发模块(本来打算买来实现黑豆功能的,可惜一直没搞成),看到很多坛友的HASS都是基于小主机的,没有GPIO口,所以我就利用手头上的CH340+串口红外模块鼓捣了一个基于U口的红外设备来控制HA。(所需模块自行某宝购买吧,一搜一大把)
基本控制原理如下:
  模块接收红外信号———>CH340——>Pyserial——->ircontrol.py程序————>调用HA的python API实现相应的控制功能
因为本人没有小主机,目前只在树莓派的U口上测试了一下可以正常使用,没有任何延时。
另外,这个py程序我也是现学现卖,放出这个帖子的目的也是为了让广大的坛友一起研究改进。
下面的安装步骤全部基于树莓派,其它系统可以参考更改适合自己系统的命令
游客,如果您要查看本帖隐藏内容请回复

3、关于config.yaml配置文件的设置:
安装到这里下一步就是要学习遥控器的编码,学习编码之前需要用到这个yaml文件的一个参数:serialPort的值,将其设置为你的ch340对应的串口号,一般为/dev/ttyUSB0,如果使用GPIO的串口,一般为/dev/ttyAMA0,其它参数可以不用管,后面我会介绍
4、学习遥控编码:
运行附件里面的learn.py程序,命令如下:
./learn.py
如果串口打开正常的话控制台会显示你上面设置的串口信息,如:/dev/ttyUSB0、/dev/ttyAMA0,如果不显示就是串口设置有问题,请自行排查
然后按下遥控器上的按键,就会输出一串数字,记下这组按键及数字的对应关系,后面会用到。
5、详细配置文件使用说明:
下面是最关键的一步,如果配置错误便会武功尽失,其实也很简单,细心就可以
host————>HA主机的IP
passwd———>HA的登录密码,没有密码就空着
serialPort———>串口的地址
后面的配置主要就是红外码与想要控制设备的一个对应关系
entityID———>要操作设备的在HA中的名称,查看states里的entity如light.mainbedroom,这里就写mainbedroom
domain—————>设备所属的域,如light、switch、fan、input_boolean等,目前只支持这四种
ircode—————>第四步记录的编码,想用哪个键控制上面的设备就写哪个键对应的编码
谨记:编码千万不要有两个一样的哦,后果我没试!
6、见证成果(退出虚拟环境):
验证成果前先要确认一下你的config.yaml的绝对路径,默认的是/home/pi/,如果不是请修改ircontrol.py里面的这一行 f = open('/home/pi/config.yaml', 'r')
控制台运行命令:./ircontrol.py,然后对着红外模块按下遥控器上的按键,对应的设备是不是可以控制了
这里可能错误的地方如果出现import找不到模块的错误,可以尝试修改ircontrol.py文件的第一行“#!/srv/homeassistant/bin/python3”为你的虚拟环境对应目录。
7、开机自启:
一切运行正常后就是要添加开机自启动了,命令如下:
sudo nano /etc/rc.local
在exit 0 上面增加一行 “/home/pi/ircontrol.py &”,保存并退出
重启验证一下就大功告成了。
最后延伸一下:
如果家里有黑豆或者pro的话,可以通过智慧星将遥控器添加进去,并设置相应的频道及按键,然后在天猫精灵添加博联的设备,这样就可以间接通过黑豆来发送红外指令控制HA里面的设备了。比如:把中央电视台综合频道的按键设置为1(1键实际控制某个灯),对着天猫精灵说“打开中央电视台综合频道”就可以打开这个灯了。因为天猫精灵的自定义技能下线了,所以只能暂时通过这种变态的方法来实现了,我测试的是没有问题的。



IMG_0511.jpg
C9107F71-5E61-4F45-930C-AFDC2A2EAA03.png
IMG_0508.PNG
IMG_0509(20171124-115017).jpg

ch34x.ko

15.32 KB, 下载次数: 21

config.yaml

465 Bytes, 下载次数: 29

ircontrol.py

2.19 KB, 下载次数: 17

learn.py

681 Bytes, 下载次数: 17

评分

参与人数 2金钱 +24 收起 理由
+ 12 膜拜大神!
lidicn + 12 严重支持!

查看全部评分

回复

使用道具 举报

13

主题

231

帖子

806

积分

高级会员

Rank: 4

积分
806
金钱
575
HASS币
0
发表于 2017-11-24 12:38:36 | 显示全部楼层
6666666666
回复

使用道具 举报

3

主题

182

帖子

1646

积分

金牌会员

Rank: 6Rank: 6

积分
1646
金钱
1464
HASS币
10
发表于 2017-11-24 16:50:20 | 显示全部楼层
这个厉害了 666
回复

使用道具 举报

2

主题

284

帖子

2280

积分

金牌会员

Rank: 6Rank: 6

积分
2280
金钱
1996
HASS币
0
发表于 2017-11-24 21:18:39 | 显示全部楼层
谢谢分享啊
回复

使用道具 举报

5

主题

182

帖子

808

积分

论坛积极会员

积分
808
金钱
625
HASS币
0
发表于 2017-11-24 23:20:12 | 显示全部楼层
这个厉害了 666
回复

使用道具 举报

2

主题

31

帖子

300

积分

论坛技术达人

积分
300
金钱
264
HASS币
0
发表于 2017-11-24 23:39:20 | 显示全部楼层
学习学习看看
回复

使用道具 举报

19

主题

457

帖子

8161

积分

元老级技术达人

云淡风轻近午天

积分
8161
金钱
7704
HASS币
0

教程狂人

发表于 2017-11-24 23:58:24 | 显示全部楼层
好多牛人,谢谢分享
回复

使用道具 举报

2

主题

84

帖子

327

积分

中级会员

Rank: 3Rank: 3

积分
327
金钱
241
HASS币
0
发表于 2017-11-25 00:59:54 | 显示全部楼层
谢谢分享
回复

使用道具 举报

1

主题

26

帖子

91

积分

注册会员

Rank: 2

积分
91
金钱
65
HASS币
0
发表于 2017-11-25 16:48:26 | 显示全部楼层
谢谢分享,辛苦大神
回复

使用道具 举报

20

主题

348

帖子

2541

积分

金牌会员

Rank: 6Rank: 6

积分
2541
金钱
2193
HASS币
0
发表于 2017-11-29 09:33:29 | 显示全部楼层
这个要学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-28 10:42 , Processed in 0.138162 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表