数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 74|回复: 2

[AVR] IOT化改造:三个零件,给大金家用中央空调加装遥控功能

[复制链接]
发表于 昨天 23:17 | 显示全部楼层 |阅读模式
本帖最后由 maidoo 于 2025-9-16 23:17 编辑

背景
2011年的夏天,用三个零件,给大金家用中央空调面板增加了红外遥控功能。参见老版论坛
《三个零件,给大金家用中央空调加装遥控功能》
就是这样的面板,通过模拟按键的方式可以红外遥控到面板上的电源和风力两个按钮。10多年来一直工作稳定。


近些年来随着智能家居的普及和应用,配合天猫精灵万能红外遥控器,可以实现远程遥控。车到楼下可以提前打开空调,停好车进屋的时候房间就已经凉快了。


新问题
但有个小问题,就是这个电源按钮是一个乒乓开关,远程无法确认实际的开关状态,就怕多按了一下,就状态混乱了。
所以最好能把开和关用不同的指令区分开来。这个需求我称之为IoT化改造。
因为10年前的改造方案是通过外挂电路板的方式模拟按键,这个外挂的AvR单片机只会根据红外指令去按对应的按钮,它并不知道当前这个电源按钮按下去后,这个空调是变开了还是变关了。


解决办法
解决的办法也很简单:从面板上的电源LED上增加飞线到单片机的io脚上,再配合软件的修改,单片机就可以知道当前空调是开还是关,那就可以根据当前的状态去决定开空调和关空调不同的动作。


具体方法及使用
软件在完全保留以前版本功能基础上,增加了根据学习到电源按钮的指令码,派生出开和关指令码的功能。
简单说,IOT方案是根据空调面板上电源开关学习到的红外指令,派生出固定开和固定关的指令内码
        如学习到的红外按键的十六进制32位指令码(MSB)是 xxXXxxxx,根据第二字节XX的值派生
        XX+1的指令为按开,即 xxJJxxxx,其中JJ=XX+1,其余xx保持不变
        XX+2的指令为按关,即 xxKKxxxx,其中KK=XX+2,其余xx保持不变

这个版本的软件同时还修改了蜂鸣器的反馈,开空调是滴滴2个短鸣,关空调是滴滴——(1短加1长)
有了明确的开空调和关空调的不同的指令内码,在ha智能家居平台上就很容易配置了。也可以通过技术手段生成这两个内码的红外信号,让万能红外遥控器学习一下,也就可以用现成的智能音箱控制了。

软件
软件开源贴二楼,用avr-gcc编译后1020字节,把1024字节的flash空间占得满满当当的。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
发表于 昨天 23:40 | 显示全部楼层
给大金家用中央空调加装遥控功能
回复 支持 反对

使用道具 举报

发表于 4 小时前 | 显示全部楼层
不错不错,我用不上
回复 支持 反对

使用道具 举报

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-9-17 04:28 , Processed in 0.171600 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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