# 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 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。
至少一次,确保消息到达,但消息重复可能会发生。
只有一次,确保消息到达一次。这一级别可用于如下情况,在计费�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
注: 基于STM32项目,大部分只有源码,部分含有报告+原理图等,仅供学习参考! STM32是ST(意法半导体)公司基于ARM Cortex-M内核开发的一系列32位微控制器(MCU)。这些微控制器专为要求高性能、低成本、低功耗的嵌入式应用而设计,广泛应用于多个领域。 STM32基于ARM Cortex-M内核,包括M0、M0+、M3、M4和M7等多种版本,这些内核专为嵌入式系统设计,提供高效的计算能力和低功耗特性。 高性能:基于ARM Cortex-M内核,提供出色的计算性能。 低功耗:采用先进的节能技术和低功耗设计,能够在不牺牲性能的前提下降低功耗。 丰富的外设资源:包括定时器、ADC(模拟数字转换器)、DAC(数字模拟转换器)、GPIO(通用输入输出)等,方便与外部设备通信。 易于使用:提供丰富的固件库和开发工具,简化开发过程,提高开发效率。 广泛的应用领域:STM32因其卓越的性能和广泛的应用场景,在消费电子、工业控制、汽车电子、医疗设备、物联网(IoT)等多个领域得到了深入应用。
资源推荐
资源详情
资源评论
收起资源包目录
基于STM32和ESP8266的WIFI智能远程风扇.zip (21个子文件)
STM32_WiFiFan-main
media
3462a482b885cf03f5bc3f1974f71ac3.png 4KB
17cced3389d523bcfcb5e007fc613b00.png 29KB
4dfb6097edc97c25ad630f6f52324126.png 219KB
c85632e153d06d39940eadaa51ba3b05.png 1.23MB
9c94b284dadfadc1e50588b4453692d3.png 165KB
82e291e0fe641133c1fa33f172b9f446.png 162KB
ec8ff1a9376337f07f6c3dc9db42936d.png 32KB
686d2a58f49f9f161673df95fdc5f4dd.png 43KB
4fe11c47891086e627a46ce22afdebb0.png 22KB
4a689f391805578d74f6b5cee840ca9b.png 27KB
46be9b245cdd78cc020061d27e40d571.png 56KB
89729468a7e6cc4dbf010ebc8b7370fb.jpeg 315KB
431ec16af9b4da0b242d6d904b85f08d.jpeg 162KB
.gitattributes 66B
LICENSE 1KB
STM32
STM32.ino 5KB
用到的库
DHT11.zip 3KB
.gitignore 270B
README.md 11KB
ESP8266
ESP8266.ino 5KB
readme.txt 93B
共 21 条
- 1
资源评论
大叔_爱编程
- 粉丝: 4866
- 资源: 3511
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 非常好的电子设计小软件网络调试工具非常好用的软件.zip
- 非常好的电子设计小软件屏幕颜色获取软件非常好用的软件.zip
- 非常好的电子设计小软件汉字内码查询 反查询非常好用的软件.zip
- Clion优雅的开发STM32-点灯
- 非常好的电子设计小软件歌曲格式转换软件非常好用的软件.zip
- (9)循环与可迭代对象
- nacos/nacos-server:v2.4.3的Docker镜像资源包
- 基于ssm+jsp+mysql+maven实现的在线小说阅读管理系统分前后台【源码+数据库】
- 毕业设计-基于Matlab实现模型预测控制(MPC)源代码+文档说明(高分项目)
- 编辑cdd文件时需要的一个浮动license软件
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功