【精选】ESP8266

您所在的位置:网站首页 手机遥控空调红外装置是什么 【精选】ESP8266

【精选】ESP8266

2024-07-16 03:47:44| 来源: 网络整理| 查看: 265

错开の折腾经历:ESP8266 NodeMCU

文章目录 前言一、项目解析&准备1.项目思路2.材料清单 二、项目开始1.红外库的安装(IRremoteESP8266)2.解码空调遥控器3.Blinker_APP配置4.代码环节 三、实验测试总结

前言

经过上一项目的学习,成功将DHT11的数据接入小爱同学,实现远程读取(嗯,智能家居(◕ᴗ◕✿) )。 这不,又有个新的idea了:既然我能够读取宿舍的温湿度状况,那是不是就可以按照宿舍温情况开启宿舍空调嘞!先接入Blinker_APP,实现app按键控制,然后再看看可不可以进一步接入小爱同学…

滴滴:以下是本篇文章正文内容

一、项目解析&准备 1.项目思路

首先得对宿舍空调遥控器进行红外解码(红外接收模块),了解他编码规则、不同状态的值是多少,然后再根据以上数据,通过红外发射模块,对空调进行控制。红外模块接入ESP8266-NodeMCU板子后,可进行以上操作,并接入Blinker,通过APP控制空调。

2.材料清单

ESP8266-NodeMCU板子 红外接收模块 红外发射模块 USB线、杜邦线 板子 红外模块

左边是红外发射模块,右边是红外接收模块。 红外发射模块 >>> -:接地脚,S:数据脚,中间:电源脚 红外接收模块 >>> -:接地脚,+:电源脚,S:数据脚

二、项目开始 1.红外库的安装(IRremoteESP8266)

要用ESP8266-NodeMCU+红外模块,首先就得下载红外库,再将库导入 GitHub项目链接:IRremoteESP8266

进入arduino IDE,进行库文件安装:输入IRremoteESP8266,进行安装 安装库

2.解码空调遥控器

解码红外,在IRremoteESP8266库文件中有示例,可以直接用(✧◡✧) 请添加图片描述 示例中定义GPIO14即D5脚为数据脚 请添加图片描述

按要求将红外接收模块接入ESP8266-NodeMCU板子: 脚位图

将红外接收模块的-、+脚分别接入板子的地(G)、3v,然后将S数据脚接板子D5脚(GPIO14)

接线:红外接收 OK完事,接入电脑,把示例文件上传到板子上,并准备好空调遥控器 请添加图片描述

宿舍空调遥控器 上传完成后,打开IDE的串口监控,并调整好波特率 请添加图片描述 然后就可以,把遥控器对准红外接收模块,进行红外解码,在串口监控可见数据

PS:红外解码的时候,记得不要把手机靠近红外接收器,不然串口监控就会看见一堆数据了( Ĭ ^ Ĭ )

好的,现在我们聊聊串口显示的接收到的按键信息: 请添加图片描述

宿舍空调是美的的,老机器一个了,功能不多,但也够用了。一般25、26度就OK的, 但一定得是制冷模式,不然跟没开一样,还得收电费,学校电费真心贵╮(╯﹏╰)╭

这边解码得到了不同状态的值, 例如:25℃、制冷、大风 在这里插入图片描述 其他状态值点我查看(就设置了常用的四个状态) 嗯,记录好自己所需的状态值就可以,后面代码将用到

3.Blinker_APP配置

老规矩,创建设备,获取key 请添加图片描述 请添加图片描述 请添加图片描述

记好key,后面代码,凭此将设备接入app

然后就是,配置app界面了 上界面配置代码:

{¨version¨¨2.0.0¨¨config¨{¨headerColor¨¨transparent¨¨headerStyle¨¨dark¨¨background¨{¨img¨¨assets/img/headerbg.jpg¨¨isFull¨«}}¨dashboard¨|{¨type¨¨tex¨¨t0¨¨空调控制器¨¨t1¨¨以指定状态运行¨¨size¨¨22¨¨bg¨Ê¨ico¨¨fad fa-air-conditioner¨¨cols¨Ñ¨rows¨Ë¨key¨¨tex-cnl¨´x´É´y´Î¨speech¨|÷¨lstyle¨Ï¨clr¨¨#076EEF¨}{ßC¨btn¨ßL¨fad fa-snowflakes¨¨mode¨ÉßE¨25℃、制冷、高凤¨ßG¨文本2¨ßKËßNÍßOÍßP¨btn-on¨´x´É´y´ÐßR|÷ßSËßTßU}{ßCßVßLßWßXÉßE¨25℃、制冷、自动风¨ßGßZßKËßNÍßOÍßP¨btn-on-auto¨´x´Í´y´ÐßR|÷ßSËßTßU}{ßCßVßLßWßXÉßE¨26℃、制冷、最大风¨ßGßZßKËßNÍßOÍßP¨btn-26¨´x´É´y´¤BßR|÷ßTßUßSË}{ßCßVßL¨fad fa-power-off¨ßXÉßE¨关机¨ßGßZßKËßNÍßOÍßP¨btn-off¨´x´Í´y´¤BßR|÷ßSËßTßU}{ßC¨deb¨ßXÉßKÉßNÑßOÌßP¨debug¨´x´É´y´Ë}÷¨actions¨|÷¨triggers¨|÷}

图例: 请添加图片描述 在这里插入图片描述

app这边界面配置重要的是键名,代码那边要进行组件绑定的。 根据个人情况,自行进行配置

4.代码环节

终于到了,代码环节了,不说了,上代码٩(๑>◡6036, 7330, 476, 1716, 514, 1650, 474, 1716, 516, 1650, 474, 1716, 514, 1652, 520, 1670, 514, 1652, 524, 550, 542, 560, 456, 650, 514, 558, 476, 628, 514, 560, 478, 628, 514, 560, 476, 1718, 514, 1652, 474, 1716, 516, 1650, 476, 1716, 514, 1652, 474, 1716, 514, 1652, 474, 600, 540, 562, 456, 648, 514, 560, 476, 628, 512, 562, 478, 598, 540, 562, 456, 624, 538, 1654, 452, 622, 540, 1654, 452, 1738, 512, 1654, 452, 1738, 512, 1652, 454, 1738, 514, 562, 476, 1718, 514, 560, 456, 650, 514, 560, 476, 630, 512, 562, 476, 1718, 514, 560, 478, 1716, 514, 560, 478, 1718, 512, 1654, 454, 1738, 514, 1652, 454, 650, 510, 1654, 474, 630, 512, 1652, 504, 600, 514, 560, 508, 598, 514, 560, 506, 600, 512, 1652, 504, 1688, 514, 560, 508, 1686, 516, 560, 506, 1686, 516, 1652, 504, 1686, 518, 558, 506, 596, 542, 1624, 506, 596, 546, 1622, 528, 574, 552, 524, 558, 544, 580, 1586, 556, 548, 578, 1586, 562, 540, 578, 1586, 560, 546, 576, 500, 526, 1640, 602, 502, 552, 1614, 602, 500, 524, 1640, 602, 502, 498, 1668, 574, 1616, 502, 7332, 456}; // GOODWEATHER D5290A050000 //空调开:26、制冷、大风 uint16_t power_on_26[199] = {6062, 7302, 476, 1718, 538, 1628, 474, 1716, 540, 1626, 454, 1740, 514, 1650, 472, 1718, 516, 1650, 452, 620, 542, 560, 528, 546, 544, 560, 456, 620, 544, 560, 458, 618, 544, 558, 478, 1716, 516, 1650, 452, 1740, 514, 1650, 454, 1738, 516, 1650, 474, 1718, 514, 1652, 454, 618, 544, 558, 458, 620, 542, 560, 456, 620, 544, 560, 456, 620, 544, 560, 528, 1668, 516, 558, 476, 1718, 540, 1626, 476, 1716, 516, 1650, 454, 1738, 516, 1650, 474, 600, 544, 1650, 476, 598, 544, 560, 476, 602, 542, 560, 476, 604, 540, 560, 456, 1740, 514, 560, 476, 1718, 538, 536, 456, 1740, 538, 536, 456, 1738, 516, 1650, 476, 628, 514, 1652, 454, 648, 514, 1652, 454, 648, 514, 1652, 476, 626, 516, 562, 506, 1684, 546, 532, 532, 1660, 552, 524, 556, 1634, 582, 496, 560, 1634, 580, 1584, 562, 542, 580, 1584, 560, 544, 578, 1586, 530, 574, 576, 1588, 530, 576, 548, 526, 504, 602, 546, 1618, 504, 576, 568, 1620, 502, 578, 564, 1624, 504, 576, 562, 536, 502, 1666, 538, 562, 504, 1666, 536, 564, 504, 1666, 534, 566, 502, 1690, 510, 1658, 504, 7332, 502}; // GOODWEATHER D52A2A020000 //空调关: uint16_t power_off[199] = {6022, 7290, 476, 1714, 510, 1650, 472, 1714, 512, 1650, 518, 1668, 510, 1652, 472, 1714, 512, 1650, 474, 626, 510, 560, 454, 648, 512, 562, 474, 598, 542, 562, 476, 598, 540, 560, 476, 1714, 512, 1650, 472, 1714, 512, 1648, 474, 1712, 512, 1650, 474, 1712, 512, 1650, 474, 598, 538, 560, 508, 568, 538, 560, 476, 596, 542, 560, 476, 628, 510, 562, 476, 1714, 512, 1650, 474, 1714, 510, 1650, 474, 1714, 512, 1650, 474, 1714, 512, 1650, 474, 626, 510, 562, 506, 596, 512, 560, 476, 628, 512, 560, 500, 602, 512, 562, 476, 1714, 514, 1648, 502, 1686, 512, 560, 502, 1688, 514, 560, 508, 1682, 514, 1648, 506, 594, 514, 560, 504, 598, 514, 1650, 502, 596, 516, 1648, 502, 598, 516, 556, 508, 596, 514, 1650, 504, 1682, 518, 558, 506, 1682, 520, 556, 504, 1684, 522, 1644, 504, 1682, 550, 528, 504, 596, 550, 1614, 530, 570, 578, 1586, 558, 544, 578, 498, 560, 542, 576, 1586, 562, 542, 576, 1586, 560, 544, 576, 1586, 558, 546, 576, 502, 552, 1612, 600, 502, 520, 1644, 598, 532, 470, 1664, 572, 530, 500, 1664, 570, 1620, 500, 7328, 456}; // GOODWEATHER D52928000000 // 新建Blinker组件对象 BlinkerButton Button1("btn-on"); BlinkerButton Button2("btn-on-auto"); BlinkerButton Button3("btn-26"); BlinkerButton Button4("btn-off"); void setup() { //初始化串口 Serial.begin(115200); //注册回调函数/ Button1.attach(Button1_callback); Button2.attach(Button2_callback); Button3.attach(Button3_callback); Button4.attach(Button4_callback); //配网步骤:WIFI接入 Blinker.begin(auth,ssid,pswd); //红外初始化 irsend.begin(); } void loop() { Blinker.run(); } //回调函数1 void Button1_callback(const String &state) { BLINKER_LOG("get button state: ", state); //检测到普通按钮按下(btn-on) if (state == BLINKER_CMD_BUTTON_TAP) { //发送红外指令 irsend.sendRaw(power_on, 199, 38); // 以38Khz发送红外数据 Button1.print("宿舍空调开:25,制冷,大风"); } } //回调函数2 void Button2_callback(const String &state) { BLINKER_LOG("get button state: ", state); //检测到btn-on-auto按钮按下 if (state == BLINKER_CMD_BUTTON_TAP) { irsend.sendRaw(power_on_auto, 199, 38); // 以38Khz发送红外数据 Button2.print("宿舍空调开:25,制冷,自动风"); } } //回调函数3 void Button3_callback(const String &state) { BLINKER_LOG("get button state: ", state); //检测到按钮btn-26按下 if (state == BLINKER_CMD_BUTTON_TAP) { //发送红外指令 irsend.sendRaw(power_on_26, 199, 38); // 以38Khz发送红外数据 Button1.print("宿舍空调开:26,制冷,大风"); } } //回调函数4 void Button4_callback(const String &state) { BLINKER_LOG("get button state: ", state); //检测到btn-off按钮按下 if (state == BLINKER_CMD_BUTTON_TAP) { irsend.sendRaw(power_off, 199, 38); // 以38Khz发送红外数据 Button2.print("宿舍空调关"); } }

上面代码定义GPIO14(D5)做数据脚,由此将红外发射模块接入板子:

S脚接D5,-:接地,中间为电源脚接3V

请添加图片描述OK,代码编译上传,完事,开始测试!

三、实验测试

通过app按键,可以指定状态控制空调,并从调试窗返回空调状态 请添加图片描述 视频: 点我观看测试视频(◍´꒳`◍)

总结

emmm,目前已经实现了远程红外控制空调,但是只能指定状态控制,不过对应宿舍空调,已经够用了。接下来,就是除理低功耗电源方案了,并想想看,可不可以把空调跟温湿度传感器一起接入小爱同学,打造智能家居呢? 害,加油干,共勉!

项目目录: 错开のESP8266-NodeMCU项目一 错开のESP8266-NodeMCU项目二 错开のESP8266-NodeMCU项目三 错开のESP8266-NodeMCU项目四 错开のESP8266-NodeMCU项目五



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭