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

 找回密码
 立即注册
查看: 384|回复: 7

[教程系列] asppro离线语音+nodered+欧瑞博ct-30w红外遥控整合

[复制链接]

2

主题

33

帖子

307

积分

中级会员

Rank: 3Rank: 3

积分
307
金钱
274
HASS币
0
发表于 2024-9-15 16:13:34 | 显示全部楼层 |阅读模式
本帖最后由 guxiaowei 于 2024-9-15 16:23 编辑

事情的起因是在B站看到一个帖子  
【仅8元!目前性价比最高的Home Assistant红外遥控器方案-哔哩哔哩】 https://b23.tv/11AppE6
于是在咸鱼以7块钱一个,购买了5个 包邮到手 做工一流  可以刷机 具体情况   请看原贴  偷几张图  我懒得拍了  这都不是重点

整体图片

整体图片

刷机接线 方法

刷机接线 方法

几个关键的pin,已经帮大家测出来了:红外发射管是GPIO 14,接收管是GPIO 5,板载LED是GPIO 15。
以上为红外硬件部分
##########################################


使用串口给红外板子刷tsamota固件

注意 坑来了!!


tsamota固件在官方版本中分为2种

tsamota固件

tsamota固件

一种是tsamota-cn.bin这种后缀是语言标志名称的, 我在这里称此为通用固件, 这个固件满足大多数的大多数需求 但是不带红外解码和发送。

一种是tsamota-ir.bin  这类带有定向增强功能的固件,我在这里称为功能固件,ir就是指的红外遥控。


我们需要用到的是一个serial brige 串口桥的功能  

  *****将串口接受到的消息转发给mqtt****

在通用固件中定义模块的时候会带一个serbr tx 和  serbr rx引脚如图所示  但是通用固件无法解码红外
163844dcjvgcc60o5tyajd.png
这位大哥是先驱者
ASR-PRO离线语音模块的使用方法 - 『HomeAssistant』综合讨论区 - 『瀚思彼岸』» 智能家居技术论坛 - Powered by Discuz! (hassbian.com)

所以我们不能安装这种固件(我写出来的目的 是为了记录我的弯路)

再看官方的功能固件  

在IR的功能固件中 是没有serbr tx和serbr rx引脚定义的
只有serial tx和serial rx

但是单纯的serial tx rx是不支持串口数据直接到mqtt的 需要设定转发(很可惜 我找遍了网络的资料和chatgpt  他们的方法我都没有成功,我也看不懂官方的文档)

至少我是这样 如果有大哥研究出来了 麻烦告诉我一下

那么怎么办?

通用固件没有红外解码功能

红外功能固件没有serbr引脚

于是自编译!!!!
tasmota官方文档里有一个
微信图片_20240915152850.png
按照步骤安装后 就可以自己编译了
编译器.png
勾选你要的功能即可。

帖子的最后我会放出来我编译的固件 避免你们走回头路

用串口将我给的固件刷进红外板子  
并进行如图设置 如图.png

很好理解 gpio1是serbr tx  gpio3是serbr rx
gpio5是红外接收   gpio14是红外发送
gpio15是红外板子上的灯

并在控制台中输入
Baudrate 9600 回车 (修改串口的波特率为9600)


然后设置mqtt参数 这一步你们就看看上面链接大哥的 我就不赘述了 能看本帖的大哥   tsamota的mqtt设置是不会有问题的。

到此红外板子刷机就算完成了

然后你拿个空调遥控器 对准板子上的黑色接收器 按键
你会在控制台中看到
kt.png
你遥控器发送的信号被ta解码显示在这里。

到此为止 你的tasmota的红外解码部分就完成了。


###########################################


2.asppro离线语音助手

asppro引脚图

asppro引脚图

使用asrpro的官方工具对他进行刷机
yy.png
程序如图 最终的程序我也会放出来 耐心看



本次的接线图

本次的接线图


GND接红外板背面的GND  VCC接红外板的背面的5V   PB5接RX  PB6接TX

到此 你的语音板,红外板都已经完成了程序部署 按照上面把线焊接起来  你的接线部分就完成了

######################################################################

nodered流的总体的操作逻辑,参考下他的(ASR-PRO离线语音模块的使用方法 - 『HomeAssistant』综合讨论区 - 『瀚思彼岸』» 智能家居技术论坛 - Powered by Discuz! (hassbian.com)

人说话:“打开空调”给到 asppro    asppro接收指令在串口中打印输出dkkt的字符   给到tsamota的 串口接收  tsamota使用串口桥将dkkt给到tsamota的mqtt   发布tele/你的tsamota名字/RESULT  内容 dkkt

使用nodered的switch节点 对传入的字符串进行判断  发现dkkt匹配上了  使用tirgger发送打开空调的红外指令给到 cmnd/你的tasmota名字/IR/IRsend主题 给到tsamota    通过irsend 发送出去。

n.png


所有的文件 我放在这里
不够完美的地方: 这个红外的信号发送   高码率都是包含了很多数据的  我这nodered写的流中命令是一改就改所有  比如制冷打开了     我如果是在制热模式下采集的减一度或加一度的红外码   我语音减一度的时候 他会调到制热模式并减一度。  我不是很懂这个ir编码发送数据到底应该怎么写  如有大哥知道 请给我回复一下。


游客,如果您要查看本帖隐藏内容请回复





                               
登录/注册后可看大图









回复

使用道具 举报

14

主题

389

帖子

2619

积分

金牌会员

Rank: 6Rank: 6

积分
2619
金钱
2230
HASS币
0
发表于 2024-9-15 17:29:46 | 显示全部楼层
所以紅外線跟離線語音是分開的  
我還以為是整合在一起了  
要是能直接把ASR-PRO核心版也塞在裡面就好了
回复

使用道具 举报

2

主题

33

帖子

307

积分

中级会员

Rank: 3Rank: 3

积分
307
金钱
274
HASS币
0
 楼主| 发表于 2024-9-15 17:32:46 | 显示全部楼层
george65 发表于 2024-9-15 17:29
所以紅外線跟離線語音是分開的  
我還以為是整合在一起了  
要是能直接把ASR-PRO核心版也塞在裡面就好了  ...

合在一起了,需要把他们焊在一起。我也把他们放在了红外的壳子里了
回复

使用道具 举报

14

主题

389

帖子

2619

积分

金牌会员

Rank: 6Rank: 6

积分
2619
金钱
2230
HASS币
0
发表于 2024-9-15 17:35:57 | 显示全部楼层
guxiaowei 发表于 2024-9-15 17:32
合在一起了,需要把他们焊在一起。我也把他们放在了红外的壳子里了

那真的是完美的離線語音+萬能遙控器了
回复

使用道具 举报

1

主题

27

帖子

193

积分

注册会员

Rank: 2

积分
193
金钱
166
HASS币
0
发表于 2024-9-16 10:35:27 | 显示全部楼层
本帖最后由 Zerolone 于 2024-9-16 11:00 编辑

刚刚去看了, 还有
回复

使用道具 举报

0

主题

1

帖子

42

积分

新手上路

Rank: 1

积分
42
金钱
41
HASS币
0
发表于 2024-9-30 17:43:48 | 显示全部楼层
楼主大神,谢谢,学习了
回复

使用道具 举报

6

主题

111

帖子

898

积分

高级会员

Rank: 4

积分
898
金钱
787
HASS币
0
发表于 7 天前 | 显示全部楼层
刚刚试了一下,把TX引脚旁边的GPIO 0和GND短接后上电,但是进不了刷机模式,使用Arduino IDE和NodeMCU-PyFlasher都不行
回复

使用道具 举报

0

主题

1

帖子

18

积分

新手上路

Rank: 1

积分
18
金钱
17
HASS币
0
发表于 9 小时前 | 显示全部楼层
厉害 先试一下
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-10-18 11:22 , Processed in 0.308347 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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