700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 【STM32】实现长虹空调遥控部分功能(三)加上ESP8266实现手机远程控制

【STM32】实现长虹空调遥控部分功能(三)加上ESP8266实现手机远程控制

时间:2024-06-19 18:14:15

相关推荐

【STM32】实现长虹空调遥控部分功能(三)加上ESP8266实现手机远程控制

前言

既然能成功控制空调了,巧的是我的手机没有红外功能,那就尝试加一个ESP8266实现手机远程控制空调,这里用的ESP8266在之前的文章里有介绍过怎么使用,感兴趣的可以参考以下文章

使用串口调试助手配置ESP8266模块.

STM32+ESP8266实现远程控制LED.

手机APP也是通过之前的TCP调试助手改的,感兴趣的可以参考

Android TCP客户端调试助手.

文章目录

前言一、电路连接二、主要代码如下三、手机APP界面

一、电路连接

红外发射管的电路和上次一样

二、主要代码如下

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"及温度信息的,收到了这些信息后,我们的设备就会发送红外信号,实现对调的远程控制。

对源码感兴趣的可以从这下载/download/qq_50527635/20243042

百度网盘:

链接:/s/1x-0jHrtR33SHQNd6dzGEVQ?pwd=wtej

提取码:wtej

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。