请选择 进入手机版 | 继续访问电脑版

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

 找回密码
 立即注册
查看: 13508|回复: 14

[经验分享] 利用红外打通米家和HA并接入小爱语音控制

[复制链接]

46

主题

641

帖子

4394

积分

元老级技术达人

积分
4394
金钱
3723
HASS币
120
发表于 2020-9-11 11:34:50 | 显示全部楼层 |阅读模式
本帖最后由 evantalk 于 2020-9-11 11:40 编辑

问题:家里玄关处还有一个299元的屏幕小爱,主要用来看叮铃的门铃视频,一直没法接入HA,node-red的tts插件也没有反应。


已有教程:
基于红外的小爱同学接入HomeAssistant教程“ ,https://bbs.hassbian.com/thread-1753-1-1.html,用的硬件是Orange Pi Zero + 扩展板,硬件要求比较高。
ESP8266获取万能遥控红外码,并MQTT转发到node-redhttps://bbs.hassbian.com/thread-9302-1-1.html,硬件很便宜,但是步骤太简单。


觉得屏幕小爱的保有量还是挺大的,我来写一个20元硬件的手摸手保姆教程


本贴的前提条件:
1,拥有小米万能遥控器
2,会esphome(不会可以论坛找帖子补课)
3,会焊接(不会问题也不大,就是裸着放万能遥控器边上也可以)
4,需要usb-ttl模块,用于连接电脑上传固件
5,还有本贴的主角,集8285芯片,红外接收,红外发射于一体的集成模块,调整好位置可以放进万能遥控器内部,某宝搜“8285红外”,20元搞定
image-22.png


本教程一共有9个步骤,每个步骤都有截图

step1    esphome刷模块
代码就是这么简单,board选择esp8285,核心的代码就最后三行,刷的时候保留跳线帽不要拔下来,刷完务必拔下来再使用。

esphome:
  name: esp_infra_red
  platform: ESP8266
  board: esp8285

wifi:
  ssid: "家里wifi名"
  password: "家里wifi密码"
  #手动配置ip地址,后面方便ota升级
  manual_ip:
    static_ip: 192.168.2.33   #地址更具实际修改
    gateway: 192.168.2.1
    subnet: 255.255.255.0     
# Enable logging
logger:

# Enable Home Assistant API
api:
  password: "集成到ha的密码"

ota:
  password: "ota升级的密码"

#开启web服务  
web_server:
    port: 80   

remote_receiver:
  pin: GPIO14
  dump: all

固件上传完毕后,摘到跳线帽(不然无法启动),给模块上电,把ip地址放进浏览器访问一下,如果看到下面的画面,恭喜能成了
image-25.png




step2    焊接两根排线
打开万能遥控器,焊接排线(vcc和gnd),为了把模块放在万能遥控器里面并取电,如果没有这个技术,可以把模块放在万能遥控器外壳上,不嫌难看一样使用。
模块放进入,万能遥控器盖严实并上螺丝比较困难,可以不上螺丝,把盖子放上去就好了,我就是这个做的,反正放在角落也没人动它。
image-24.png



step3    红外录码
进入米家app,进入万能遥控器,选择“复制遥控器”,选择“自定义”,通过“添加按键”进行录码(找一个闲置的红外遥控器对着万能遥控器按键)。

微信图片_202009101504321.jpg


step4    红外接收
在米家app中 点击 刚才录下来的按键,观察esphome的web页面,顺利得话能看到收到红外码。
如果做到这一步,恭喜你,基本这个事情基本就成了。
image-26-1536x611.png


step5    添加binary_sensor
修改step1的esphome配置文件,在末尾添加下面的代码,实现把收到的红外码做成一个binary_sensor,方便接入HA。
code不要抄我的,把step4收到的raw复制过来
binary_sensor:
  - platform: remote_receiver
    name: "ir_button_1"
    raw:
      code: [-9223, 4482, -663, 469, -628, 506, -623, 507, -619, 514, -659, 474, -659, 470, -661, 472, -657, 473, -652, 1588, -658, 1601, -655, 1607, -635, 1602, -661, 1603, -660, 1602, -661, 1602, -663, 1602, -635, 1602, -659, 474, -595, 1667, -596, 560, -572, 559, -626, 506, -623, 1616, -595, 558, -573, 560, -659, 1579, -659, 497, -623, 1613, -661, 1602, -664, 1603, -658, 471, -659, 1603, -656]



step6 集成到HA
esphome的固件,HA都能自动发现,只要能输入api密码即可。如果没有自动发现,可以手动添加,按照向导完成,如下图
image-27.png


集成后,在“开发者工具”中可以看到这个按钮
image-28.png




step7 HA配置自动化
到目前为止,米家app和ha已经通过红外打通,只要HA配置恰当的自动化,就可以让米家自定义按钮控制HA的一切。


下面的自动化实例是,通过操作米家那个自定义按键,实现ha里面开灯
- id: '1599654107635'
  alias: 自动化测试
  description: '米家自定义按钮控制HA中的灯'
  trigger:
  - entity_id: binary_sensor.ir_button_1
    from: 'off'
    platform: state
    to: 'on'
  condition: []
  action:
  - data: {}
    entity_id: switch.esp_relay_chufang
    service: switch.turn_on
  mode: single


step8 米家APP创建智能
为了能训练小爱,需要在米家app中新建一个手动执行的智能,动作就是执行刚才那个自定义按键
微信图片_20200910221359.jpg


建完之后手动点一下测试是否有效,可以间隔1秒再发送一次命令,防止传输有遗漏(经验之谈),如下图。
image-29.png




step9 小爱训练
上面8步全是准备工作,这里才是打通小爱的点睛之笔
登录“小爱音箱”app,技能中心 – 小爱训练 – 创建训练
每当对小爱说,填写“打开厨房灯带”
小爱会执行,点“设备控制”,选择打开 step8创建的那条智能
image-30.png
全部搞定,对着屏幕小爱说《打开厨房灯带》,试试看!


回复

使用道具 举报

0

主题

63

帖子

1079

积分

金牌会员

Rank: 6Rank: 6

积分
1079
金钱
1016
HASS币
0
发表于 2020-9-11 12:58:33 | 显示全部楼层
很详细的教程,又多了一个选择。我是借鉴了https://bbs.hassbian.com/thread-9628-1-1.html这位大咖的方法,用ESP01S打通了HA和小爱,因为我还要用小爱控制一个继电器。这个01M引脚比01S多,应该也可以外挂继电器吧。
回复

使用道具 举报

46

主题

641

帖子

4394

积分

元老级技术达人

积分
4394
金钱
3723
HASS币
120
 楼主| 发表于 2020-9-11 14:09:55 | 显示全部楼层
wwjw 发表于 2020-9-11 12:58
很详细的教程,又多了一个选择。我是借鉴了https://bbs.hassbian.com/thread-9628-1-1.html这位大咖的方法 ...

嗯,这个帖子我之前没看到过,esphome直接支持ha,不用mqtt中转
两个这个积木对8285就用了两个GPIO脚,再接个继电器应该没问题。
回复

使用道具 举报

5

主题

123

帖子

750

积分

高级会员

Rank: 4

积分
750
金钱
627
HASS币
0
发表于 2020-10-16 21:49:34 | 显示全部楼层
楼主,我按照你的方法,esp8285通电后,日志显示一直收到信号像下图那样,而且按键收到的信息两次不一样,即是第一次按和第二次按,红外码显示是不一样的。
回复

使用道具 举报

5

主题

123

帖子

750

积分

高级会员

Rank: 4

积分
750
金钱
627
HASS币
0
发表于 2020-10-17 15:59:40 | 显示全部楼层
请问楼主,不用万能遥控器行不行,我有红外控制版的小爱音箱
回复

使用道具 举报

46

主题

641

帖子

4394

积分

元老级技术达人

积分
4394
金钱
3723
HASS币
120
 楼主| 发表于 2020-10-17 16:41:35 | 显示全部楼层
251114061 发表于 2020-10-17 15:59
请问楼主,不用万能遥控器行不行,我有红外控制版的小爱音箱

应该可以,原理都是接收小爱的红外码
回复

使用道具 举报

46

主题

641

帖子

4394

积分

元老级技术达人

积分
4394
金钱
3723
HASS币
120
 楼主| 发表于 2020-10-17 16:42:40 | 显示全部楼层
251114061 发表于 2020-10-16 21:49
楼主,我按照你的方法,esp8285通电后,日志显示一直收到信号像下图那样,而且按键收到的信息两次不一样, ...

是不是边上有什么东西在干扰
回复

使用道具 举报

5

主题

123

帖子

750

积分

高级会员

Rank: 4

积分
750
金钱
627
HASS币
0
发表于 2020-10-21 11:05:46 | 显示全部楼层
我成功收到红外码了,但收到的raw码每次都有一点区别,直接填入code可以接收到吗?
回复

使用道具 举报

10

主题

315

帖子

1603

积分

金牌会员

Rank: 6Rank: 6

积分
1603
金钱
1288
HASS币
0
发表于 2020-11-2 21:42:21 | 显示全部楼层
只是开,如果要关怎么写
回复

使用道具 举报

46

主题

641

帖子

4394

积分

元老级技术达人

积分
4394
金钱
3723
HASS币
120
 楼主| 发表于 2020-11-2 21:49:07 | 显示全部楼层
yzxwxl 发表于 2020-11-2 21:42
只是开,如果要关怎么写

step7 HA配置自动化

这一步里面相配啥就配啥,把全屋的灯都关了也没问题
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-3-29 17:31 , Processed in 0.062310 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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