# STM32_WiFiFan
STM32F103ZET6基于Arduino开发的WIFI智能远程风扇
硬件:STM32F103ZET6开发板、ESP8266开发板、DHT11温湿度传感器、L9110电机、按钮、有源蜂鸣器
软件:Blinker、Arduino
用到的库(需要额外添加):Blinker.h(点灯科技官网下载)、DHT11.h(用到的库文件夹里面)
需要在Arduino附加开发板管理器网址:
https://raw.githubusercontent.com/stm32duino/BoardManagerFiles/main/package_stmicroelectronics_index.json
https://arduino.esp8266.com/stable/package_esp8266com_index.json
Blinker界面配置:
{¨config¨{¨headerColor¨¨transparent¨¨headerStyle¨¨dark¨¨background¨{¨img¨¨assets/img/bg/f2.jpg¨¨isFull¨»}}¨dashboard¨|{¨type¨¨btn¨¨ico¨¨fad fa-power-off¨¨mode¨É¨t0¨¨开关¨¨t1¨¨文本2¨¨bg¨É¨cols¨Í¨rows¨Í¨key¨¨btn-pwr¨´x´É´y´Ð¨speech¨|÷¨lstyle¨Ë¨clr¨¨#595959¨}{ßAßBßC¨fad fa-redo-alt¨ßEÉßF¨顺时针¨ßHßIßJÉßKÍßLÍßM¨btn-dir¨´x´Í´y´ÐßO|÷ßQßRßPË}{ßA¨ran¨ßF¨风速¨ßQ¨#076EEF¨¨max¨¢47¨min¨ÉßJÉßKÑßLËßM¨ran-wen¨´x´É´y´¤DßO|÷ßPË}{ßA¨deb¨ßEÉßJÉßKÑßLÍßM¨debug¨´x´É´y´ÊßO|÷ßPÊ}{ßA¨num¨ßF¨温度¨ßC¨fal fa-question¨ßQ¨#389BEE¨ßZÉßY¢1c¨uni¨´℃´ßJÉßKÍßLËßM¨num-temp¨´x´É´y´¤BßO|÷ßPË}{ßAßdßF¨湿度¨ßCßfßQßgßZÉßYº1ßh´%´ßJÉßKÍßLËßM¨num-humid¨´x´Í´y´¤BßO|÷ßPË}{ßA¨inp¨ßJÉßKÑßLËßM¨inp-hjk¨´x´É´y´ÎßO|÷}÷}
目 录
[1 引言 1](#1-引言)
[2 需求分析 1](#2-需求分析)
[2.1 需求说明 1](#21-需求说明)
[2.2 需求分析 1](#22-需求分析)
[3 系统设计 2](#3-系统设计)
[3.1 体系结构 2](#31-体系结构)
[3.2 硬件设计 3](#32-硬件设计)
[3.2.1 关键部分 3](#321-关键部分)
[3.3 软件设计 5](#33-软件设计)
[3.3.1 关键模块或任务 8](#331-关键模块或任务)
[3.4 控制算法设计 11](#34-算法设计)
[3.4.1 关键的计算模型或算法设计 11](#341-关键的计算模型或算法设计)
[4 系统实现 12](#4-系统实现)
[4.1 关键功能实现 12](#41-关键功能实现)
[5 系统测试 14](#5-系统测试)
[5.1 关键功能测试 14](#51-关键功能测试)
[6 总结 14](#6-总结)
## 1 引言
## 传统电风扇还是有许多地方应当进行改良的,最突出的缺点是它不能根据温度的变化适时调节风力大小,鉴于以上方面的考虑,我们需要设计一种智能电风扇控制系统来解决这些问题。本文通过在现有电动风扇上加装基于Wifi控制的自动系统,设计了一款智能调节与控制的电动风扇。该系统通过温度传感器检测室内温度来开关并自动调节电动风扇的速度,利用Wifi控制提高电动风扇使用的便捷性,实现节能环保。本系统设计简单,实用性强,具有一定的应用价值。
## 2 需求分析
### 2.1 需求说明
功能性:根据空气温湿度和用户设定的参数自动控制风扇工作;可远程手动控制风扇的启停、转速和转向;用蜂鸣器发出提示声。
非功能性:保证隔一段时间更新温度和湿度,并有可视化显示;远程可通过手机的按钮工作
### 2.2 需求分析
通信原理图:
![](media/4fe11c47891086e627a46ce22afdebb0.png)
UML图:
![](media/46be9b245cdd78cc020061d27e40d571.png)
## 3 系统设计
### 3.1 体系结构
在该系统中,通过手机对ESP8266发送控制风扇指令,ESP8266把指令传到STM32,STM32执行指令并反馈,同时每隔一段时间把温湿度的数据传回给ESP8266,ESP8266再传到手机更新温湿度显示信息
![](media/9c94b284dadfadc1e50588b4453692d3.png)
### 3.2 硬件设计
介绍硬件的整体设计方案,画出硬件结构块图。
![](media/c85632e153d06d39940eadaa51ba3b05.png)
### 3.2.1 关键部分
ESP8266
ESP8266EX 由乐鑫公司开发,提供了一套高度集成的 Wi-Fi SoC 解决方案,其低功耗、紧凑设计和高稳定性可以满足用户的需求。
ESP8266EX 拥有完整的且自成体系的 Wi-Fi 网络功能,既能够独立应用,也可以作为从机搭于其它主机 MCU 运行。
![](media/431ec16af9b4da0b242d6d904b85f08d.jpeg)
连接说明
模块使用 3.3 ~ 5V 供电,VCC 引脚连接 5V,GND 引脚接地。模块的 RXD 与开发板的 TXD
连接,相反,模块的 TXD 与开发板的 RXD 连接,形成交叉连接的方式。连接原理如图所示。
![](media/3462a482b885cf03f5bc3f1974f71ac3.png)
### 3.3 软件设计
软件分为三个模块
一:STM32通过开发板直接控制风扇的开关,同时手机能远程看见温湿度的数据;用蜂鸣器发出提示声。
![](media/4a689f391805578d74f6b5cee840ca9b.png)
二:风扇的模式为温度控制模式,手机只能远程通过修改温度的阈值,当前温度如果大于温度的阈值,风扇自动开启,小于时风扇自动关闭,同时手机能远程看见温湿度的数据;用蜂鸣器发出提示声。
![](media/686d2a58f49f9f161673df95fdc5f4dd.png)
三:风扇的模式为手动控制开关时,手机可以远程向ESP8266发送指令,ESP8266向STM32传送指令,STM32处理并分析指令后,执行指令,控制风扇的启停、转速和转向,同时手机能远程看见温湿度的数据;用蜂鸣器发出提示声。
![](media/17cced3389d523bcfcb5e007fc613b00.png)
### 3.3.1 关键模块或任务
关键模块介绍:
共分为5个模块,分别为开关风扇功能模块,温度阈值开关功能模块,风速风向调节模块,输入框指令控制模块,温湿度实时监测并显示模块
![](media/4dfb6097edc97c25ad630f6f52324126.png)
Blinker平台介绍
blinker是一个物联网接入方案,blinker是一套专业且快捷的、跨硬件、跨平台的物联网解决方案,提供APP端、设备端、服务器端支持,使用公有云服务进行数据传输存储,旨在让大家可以轻松畅快地DIY物联网设备。能够快速开发物联网 / 智能家居 / 无线遥控项目。
![](media/89729468a7e6cc4dbf010ebc8b7370fb.jpeg)
Blinker控制界面(Ui为自己设置)
MQTT
MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。
基本特点
MQTT是一种发布/订阅传输协议,基本原理和实现如下;
![](media/ec8ff1a9376337f07f6c3dc9db42936d.png)
MQTT 协议提供一对多的消息发布,可以解除应用程序耦合,信息冗余小。该协议需要客户端和服务端,而协议中主要有三种身份:发布者(Publisher)、代理(Broker,服务器)、订阅者(Subscriber)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,而消息发布者可以同时是订阅者,实现了生产者与消费者的脱耦。
使用 TCP/IP 提供网络连接,提供有序、无损、双向连接;
MQTT 是一种连接协议,它指定了如何组织数据字节并通过 TCP/IP 网络传输它们。设备联网,也需要连接到互联网中,在大万维的世界中,TCP 如同汽车,有轮子就能用来运输数据,MQTT 就像是交通规则。在网络模型中,TCP是传输层协议,而 MQTT是在应用层,在 TCP 的上层,因此 MQTT 也是基于这个而构建的,提高了可靠性。
对负载内容屏蔽的消息传输;
可以对消息订阅者所接受到的内容有所屏蔽。
具体有三种消息发布的服务质量:
至多一次,消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。
至少一次,确保消息到达,但消息重复可能会发生。
只有一次,确保消息到达一次。这一级别可用于如下情况,在计费�
大叔_爱编程
- 粉丝: 6449
- 资源: 3832
最新资源
- diboot-demo前后端代码自动生成+菜单左右布局
- C# winform 批量重命名文件、去掉小括号等.zip
- 通用人工智能行业发展趋势:预计2031年全球通用人工智能市场销售额将达到946.8亿美元
- C#-WinForm演示最小二乘法拟合一次函数.zip
- winform-人事管理系统-C# + SQLServer
- winfrom 虚拟键盘码表.zip
- Linux IO编程课件资料.zip
- C# Winform 窗体程序 websocket客户端测试连接工具.zip
- 超低温漂带隙基准电路设计,高电源抑制比,低功耗 ppm:2.4 psrr:90dB 电流:14.47uA 1.带设计文档PDF,有推导过程和调试过程,以及仿真设置 2.带工艺库打包,可以提供机和cad
- freeswitch asr中实现静音检测
- 利用VC#开发一个媒体播放器,VC6,很老的资源
- 永磁同步电机(pmsm,全速度切无位置传感器控制(高速可以是超螺旋滑模) 低速可以是脉振高频方波注入,量产方案,仿真模型 切有加权切和双坐标切 高速反电动势无感 量产方案
- 基于tc275 aurix 1g 2g,tc387,tc377,tc397,以及s32k144的xcp uds bootloader与ccp标定的程序以及canape使用教程,a2l文件生成文档说明程
- 最优化方法(全英文课程)xmind思维导图
- 高分辨率下的小麦、水稻、玉米早期秧苗图像分类数据集【已标注,约900张数据】
- MMC模块化多电平流器,MMC-HVDC直流输电系统,单个桥臂N=10个子模块,采用载波移相调制 simulink仿真模型 为了测试控制性能良好,在1s时,额定有功功率10e6增加到15e6 子模
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈