"); //-->
前言
本案例为机智云平台中级应用开发实例,开发者通过使用机智云AIoT自助开发平台、机智云的GoKit开发板,实现红外遥控器远程开关,实现手机APP等功能。
方案选择
基于空调遥控器的特点,基于机智云的Gokit,通过机智云的物联网平台,能够满足我的需求,那么怎么来做呢?根据经验所得,需要对这个工作拆分为几部分:
机智云平台数据点定义(啥是数据点,点击查阅);
这里我定了两个核心功能,一个是开关,一个是温度调节;(当然,你也可以定义更多的数据点,如,模式,风向等等);
MCU开发,MCU开发需要细分为红外遥控器的协议解码和编码;解码简单来说就是需要通过工具,来分析遥控器发出来的红外波形,什么波形对应着开,什么波形对应着光和温度设置。编码就是要把我们下发的命令转换成和空调能识别的红外波形;
方案实施
1. 数据点定义
很简单,两个数据点,温度设置和空调开关,如下图;
![]()
2. 红外解码
对于红外解码,有两种方法,一种是找到空调厂商的红外协议,然后根据红外协议,直接编写就可以了,不过很不幸的是,我手头这款空调,我找了很久都没找到对应的空调协议,于是只能另辟途径。也就是第二种方法,红外波形拷贝。
那么波形拷贝我采用的是,用逻辑分析仪对遥控器进行波形分析,然后使用红外波形拷贝的方法,把对应功能的波形拷贝下来。
决定了使用红外波形拷贝,那么就需要先要搭建波形捕捉电路,翻开了压箱底多年的红外探头接收器和面板(⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄),步骤如下。
2.1 硬件环境搭建红外接收头型号 HS0038B ![]()
HS0038B 电路图搭建
原理图

面包板搭建实物图


抓波形
![]()
红外解码程序编写
对红外波形有一个大概的认识之后,就要编写MCU端的代码,把波形转成红外码。这里我的思路是,对STM32的某个IO,设置为输入下降沿捕捉,然后通过计算每一个高低电平的持续时间,进而把波形转成数组;具体的实现可以看代码,Talk is cheap, show me the code.(主要是懒(/ω\)~哈哈)
3. 红外编码
经过前面的红外拷贝之后并存储了,几个功能点的红外码,分别是开关,和温度设置(16度到27度);
红外的发送原理(主要是网上已经有很多这方面的教程了),首先上面抓到的红外波形,并不是红外发送器真正发送的波形,红外发送的波形一般是要发送的命令“加”在一个38K 的一个波形上;因为接收端有一个波形过滤器,如果不是38K红外波形范围内会被过滤掉。所以一般会以38K的PWM作为一个红外载波;
那么发送的时候,对STM32的PA5引脚做为输出PWM为38K的引脚,然后后根据机智云定义好的数据点,拿到对应的串口协议文档,进行命令提前,主要是APP控制和MCU状态上报,这两条协议,(当然还有进入WiFi配网和串口握手等,不过这些在MCU代码自动生成的时候已经帮我们实现好了)串口协议格式如下图:
![]()
![]()
那么后面的就是根据协议编程了。
插播一条idea,实现发送的时候,开始我想使用机智云的Gokit上的红外来作为发送,不过后面发现发送的距离比较短,后面就自己焊接了红外****头;当时我对Gokit的改造如下,如果小伙伴要控制的距离不远的话,我想是可以的,具体我的改造如下:
◆Gokit引脚修改
![]()
最后真实的红外发送搭建如下
![]()
end..把Gokit 都接上红外了,就可以喜滋滋的去开空调啦~~
![]()
演示视频
有Gokit的宝宝们可以动动小手做红外遥控器啦,没有的可立即种草 ,马上加入购物车,一键带走牛批Gokit。
https://shop159680395.taobao.com/index.htm?spm=a1z10.5-c.w5002-14363447036.2.67a43985eO0PGG
复制淘口令打开淘宝,(社区积分兑换优惠券正在进行中)
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
配套40A大电流机壳电源的滤波器——FC-L40Y
高性能插件式单路驱动电源——QA-(T)-R3S系列
配套AC/DC砖类电源的高性能滤波器—FC-L15HB
Vxworks的示例程序
由INA217构成的专业级微型话筒(麦克风)前置放大典型电路
[Android开发视频教学]代码编写(三)(31)
[Android开发视频教学]代码编写(一)下(29)
人形机器人的假设让我们拭目以待
断电也能记录数据!ADI ADMT4000磁转数传感器
[Android开发视频教学]代码编写(一)(上)(29)
由INA321/322构成的电阻电桥传感器放大器
聚积科技参与infoComm 2025,参观人饱览聚积新产品系列
SIMATIC S7-300通用型PLC
[Android开发视频教学]代码编写(二)(30)
Wind river的SPR补丁
Spectra 9.03
INA321/322的信号和电源的基本连接电路
日本三菱日立搬入中国两座8英寸晶圆厂
75-240W单相经济型导轨电源系列——LI(F)xxx-R2S
排挤、内讧 到底是什么让Apple AI 起大早,赶晚集?
SPCE061A在protel99下的PLCC封装库
本版所登各类信息说明
芯科科技携最新Matter演示和参考应用精彩亮相Matter开放日和开发者大会
INA321/322微功率CMOS仪表放大器
STEP7_v51编程中文手册
SunyPLC300可编程逻辑控制器
[Android开发视频教学]代码编写(四)(32)
企业解读:人形机器人视觉领航者奥比中光
由INA321/322构成的直接驱动电容性输入的A/D变换器
[转帖]CFLY文章\"uClinux+Coldfire\"