IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 【STM32】实现长虹空调遥控部分功能(三)加上ESP8266实现手机远程控制 -> 正文阅读

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

前言

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

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

一、电路连接

ESP8266STM32
3V33.3
GNDGND
RXPB10
TXPB11

红外发射管的电路和上次一样
在这里插入图片描述
在这里插入图片描述

二、主要代码如下

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
也可以留下邮箱。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-07-14 11:05:27  更:2021-07-14 11:09:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/27 10:37:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计