【STM32】实现长虹空调遥控部分功能(三)加上ESP8266实现手机远程控制
前言
既然能成功控制空调了,巧的是我的手机没有红外功能,那就尝试加一个ESP8266实现手机远程控制空调,这里用的ESP8266在之前的文章里有介绍过怎么使用,感兴趣的可以参考以下文章
使用串口调试助手配置ESP8266模块.
STM32+ESP8266实现远程控制LED.
手机APP也是通过之前的TCP调试助手改的,感兴趣的可以参考
Android TCP客户端调试助手.
文章目录
- 前言
- 一、电路连接
- 二、主要代码如下
- 三、手机APP界面
一、电路连接
ESP8266 | STM32 |
---|---|
3V3 | 3.3 |
GND | GND |
RX | PB10 |
TX | PB11 |
红外发射管的电路和上次一样
二、主要代码如下
int main(void)
{ u8 status=0;u8 tmp=28;u8 mode = COLD;int tmperture;u8 update=0;char a[15];char *b;USART_Config();TIM3_PB5_PWM_Init(377,4);delay_init();LED_Init(); //KEY_Init();usart3_init(115200); esp8266_start_trans(); //TIM2_Init(19999,71);//每20ms进行扫描按键一次printf("初始化完成\n");USART3_RX_STA=0;while(1){ if(USART3_RX_STA&0x8000){ strcpy(a,(const char*)USART3_RX_BUF); b = strtok((char *)a,":");b = strtok(NULL,":");tmperture = atoi((const char*)b); if(tmperture>=24 && tmperture<=32){update = 1;} if(strstr((const char*)USART3_RX_BUF,"mode")) {LED_TOGGLE;if(mode == HOT){mode = COLD; }else{mode = HOT; }}if(mode == COLD){if(strstr((const char*)USART3_RX_BUF,"on")) {LED_TOGGLE;if(status == 0){Power_cold_1();status = 1;}else if(status == 1){Power_cold_2();status = 0;}if(tmp!=28)tmp = 28;} if(status == 0){if(update == 1){LED_TOGGLE;set_cold_tmp1((u8)tmperture);update = 0;} } else if(status == 1){if(update == 1){LED_TOGGLE;set_cold_tmp2((u8)tmperture);update = 0;}}} else{if(strstr((const char*)USART3_RX_BUF,"on")) {LED_TOGGLE;if(status == 0){set_hot_tmp1(18);status = 1;}else if(status == 1){set_hot_tmp2(18);status = 0;}if(tmp!=18)tmp = 18;} // 制热的温度调节这块我还没有去完善,很简单,照着上面的制冷写就可以了 } memset(USART3_RX_BUF,0,599);USART3_RX_STA=0;}}
}
三、手机APP界面
APP的这几个按钮就是向ESP8266发送"on"、"mode"及温度信息的,收到了这些信息后,我们的设备就会发送红外信号,实现对调的远程控制。
对源码感兴趣的可以从这下载https://download.csdn.net/download/qq_50527635/20243042
百度网盘:
链接:https://pan.baidu.com/s/1x-0jHrtR33SHQNd6dzGEVQ?pwd=wtej
提取码:wtej
【STM32】实现长虹空调遥控部分功能(三)加上ESP8266实现手机远程控制相关推荐
- 基于STM32 HAL库的遥控小车
目录 前言 一.材料清单 二.系统概述 三.硬件设计 1.HC-SR04超声波模块 2.HC-05/06蓝牙模块 3.L298n电机驱动模块 四.代码 1.引脚设置 2.遥控部分 3.超声波报警部分 ...
- 基于STM32与3264点阵屏的多功能万年历
基于STM32与3264点阵屏的多功能万年历 一.前因 一次偶然的机会,笔者得到了一块二手的3264双色点阵屏,一番把玩过后发现这个屏幕的显示效果还是很棒的,就萌生了一个用这块屏diy的想法,思来想去 ...
- 惠而浦空调遥控协议分析及使用Arduino遥控空调
一.工具 1.红外接收头(HS1838): 2.940nm红外发光二极管及限流电阻100Ω左右: 3.Arduino及Prototype Shield: 4.Saleae Logic兼容逻辑分析仪(价 ...
- ESP8266从点灯到遥控小车(三)——组装小车,0代码开发APP控制小车
ESP8266从点灯到APP遥控小车(三)--组装小车,0代码开发APP控制小车 文章目录 ESP8266从点灯到APP遥控小车(三)--组装小车,0代码开发APP控制小车 所需组件 一.小车所需组件 ...
- STM32 HAL库PID控制电机 第三章 PID控制双电机
STM32 HAL库PID控制电机 第三章 PID控制双电机 注:本文含全部PID控制代码,保证可以运行,如不能运行可以留言回复 1 基础配置 1.1 编码器电路图及配置 引脚 定时器通道 PA0 T ...
- 海尔空调遥控YR-M10解码测试
家里好几个海尔空调,遥控器如下.它们协议并不相同,所以空调之间有的功能部分相通,有的完全不通.其中有一个YR-M13看起来跟淘来的YR-M10相似,但是很不幸.协议也是不一样的. 看了前辈写的贴 1. ...
- STM32单片机实现DMA+ADC+UART功能
突然想测试一下STM32单片机ADC采样速率问题,按照常规方法,可以通过ADC采样,然后将采样值打印出来.但是这种方法在处理和打印数据的时候会占用很多时间,导致处理数据的时间超过了ADC的采样时间.于 ...
- stm32的IO口的复用功能(即AFIO)
关于stm32的IO口的复用功能,可以参考这篇博客,写的不错. https://blog.csdn.net/u013082827/article/details/77543394
- Arduino开发遥控小车(三)基于nRF24L01无线模块实现舵机转向和直流电机调速
Arduino开发遥控小车(三)基于nRF24L01无线模块实现舵机转向和直流电机调速 前面和大家分享了通过nRF24L01无线模块实现数据发送和接收的基本方法,本次继续和大家分享最终实现遥控小车转向 ...
最新文章
- 容器 root权限运行_【漏洞通告】Containerd容器逃逸漏洞通告 (CVE202015257)
- 聊一聊:你都用什么方式回忆青春呢?
- AssertionError: Path does not exist: py-faster-rcnn/data/VOCdevkit2007/VOC2007/ImageSets/Main
- 「神策智能推荐」如何助力企业?惠头条、纵横文学、东方明珠、妈妈帮等这样说...
- docker命令的组合使用
- Mac OS使用技巧之十:Finder的详细使用方法
- oracle ldap 配置,Ubuntu安装OpenLDAP之配置LDAP
- 黄聪:bootstrap中模态框modal在苹果手机上会失效
- 关于爬虫数据的解析器设计
- SmartBear继SoapUI Pro 5 2之后推出新版本改名SoapUI NG Pro
- 51单片机驱动继电器模块点灯
- ai面试的优缺点_如果你的面试官是机器人?那么你该如何表现?
- usaco Name That Number
- python实现位置定位_python定位位置
- 《A fast parallel algorithm for thinning digital patterns》论文算法python代码实现
- css3-属性选择器 伪类:root :not() :first-of-type :first-child 伪元素 ::first-letter ::first-line ::selection等等
- 学习编程从坚定路线开始
- 利用公式计算π=4(1-1/3+1/5-1/7+1/9-...)的近似值,直到括号中最后一项的绝对值小于0.000001为止
- android 混淆debug版本,在Android Studio中的混淆debug與release
- 计算机应用700字自我鉴定,有关计算机应用自我鉴定