STM32 ESP8266 物联网智能温室大棚 (附源码 PCB 原理图 设计文档)

   资料下载: https://download.csdn.net/download/vvoennvv/88680924

一、概述

        本系统以STM32F103C8T6单片机为主控芯片,采用相关传感器构建系统硬件电路。其中使用DHT11温湿度传感器对温度和湿度的采集,MQ-7一氧化碳传感器检测CO浓度,GP2Y1014AUOF灰尘传感器检测 PM2.5浓度,光敏电阻对室内光照强度的采集。在液晶屏显示相关环境数据,根据数据处理结果主控芯片发出相应指令,使室内保持人们舒适的生活环境,同时WIFI模块将数据上传到阿里云平台,平台再将数据下发到APP端,人们可以在远程控制家里的电器设备,可以让人们方便直接的观察到当前环境的各种指标。还可以根据不同情况自行设置温湿度、PM2.5浓度、光照强度及CO浓度的上下限,一旦超过正常范围就会打开电灯、发出声光报警、打开风扇等,并通过手机端通知不在家中的人们。

二,整体设计

       系统启动后,单片机控制相关传感器进行环境参数的采集,将数据传回单片机处理后,通过OLED显示屏将相关环境数实时显示。用户可以在手机端打开APP与本系统进行通信,更加便捷地查看监测数据。结构框图如下所示。

三,硬件设计

        硬件部分包含主控芯片、传感器模块OLED模块,WIFI模块以及声光报警模块,部分原理图和PCB图如下:

四,软件设计

        主程序是一个无限循环的函数(main),是程序开始运行的地方。系统启动时,主程序首先对STM32及外部设备初始化。其中包括I/O口、ADC的初始化等等。主程序在初始化结束后,程序进入while(1)的死循环,在循环中进行按键的扫描,通过按键对参数进行设置。可以设置温湿度和PM2.5的报警阈值。然后发送指令启动DHT11、GP2Y1014AUOF、MQ-7传感器将采集到的相关参数显示到OLED上。同时启动ESP8266进行MCU与阿里云的通信,在手机上也可以直接查看到实时采集的信息。至此扫描周期结束,轮到下一周期时会从主程序开始处继续下去。在这个循环过程中,也需要将采集值与设置值相比较。倘若在正常范围内,则程序回到开始执行的地方,准备进行下一次运行。倘若偏离了正常范围,则发送指令至报警模块和风扇,警示用户进行相应调整。系统主程序的流程如图:

        温湿度采集的程序模块是一个循环程序。在给STM32通电后,单片机发送指令给DHT11传感器。DHT11完成对所处环境中的温湿度数值的采集运算。在将最终得到的数据显示在OLED和手机屏上的同时,也传输回STM32。STM32将反馈的数据与开始设定的阈值范围进行对比。倘若在正常范围内,则返回循环并继续采集信息。倘若偏离了正常范围,则会产生声光报警,接着再返回重新采集信息。温湿度监控子程序的流程如图

还有 空气质量监控子程序, 液晶显示程序子程序等子程序。

 五,设计报告 

        报告里详细描述了智能家居目前国内外的现状,以及该系统的整体设计,硬件设计,软件设计。

六,总结

一个学习STM32不可多得的项目,通过该项目可以熟悉STM32各种片内资源的使用。

资料下载: https://download.csdn.net/download/vvoennvv/88680924

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/593121.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计模式:简单工厂模式、工厂方法模式、抽象工厂模式

简单工厂模式、工厂方法模式、抽象工厂模式 1. 为什么需要工厂模式?2. 简单工厂模式2.1. 定义2.2. 代码实现2.3. 优点2.4. 缺点2.5. 适用场景 3. 工厂方法模式3.1. 有了简单工厂模式为什么还需要有工厂方法模式?3.2. 定义3.3. 代码实现3.4. 主要优点3.5.…

深入数组扩展应用

一、字符串反转 例如:‘123abc’----->‘cba321’ 字符串方法实现: var str 123abcvar reversFn function(str) {var newStr for (var i str.length - 1; i > 0; i--) {newStr str[i]}return newStr }console.log(reversFn(str));数组方法实现&#xf…

Elasticsearch:如何使用 Elasticsearch 进行排序

虽然你在唱这首歌时可能会想象圣诞老人,但欧洲民间传说,尤其是阿尔卑斯地区的民间传说,有两个传奇人物圣尼古拉斯和坎普斯。 象征着慷慨和善良的圣尼古拉斯,在 12 月 6 日 为乖巧的孩子们带来礼物和欢乐! 相比之下&…

【C语言】作用域 和 生命周期

🚩 WRITE IN FRONT 🚩 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评…

计算机网络--作业

作业一 1、比较电路交换、报文交换和分组报文交换优缺点 电路交换 电路交换是以电路连接为目的的交换方式,通信之前要在通信双方之间建立一条被双方独占的物理通道(由通信双方之间的交换设备和链路逐段连接而成)。 优点: ①由于…

实战SRC | api接口未授权 + 越权漏洞

本文由掌控安全学院 - zxl2605 投稿 一次在fofa上通过学习的fofa语句进行查询,无意中查询到了一个网址 其登录界面如下: 使用浏览器的F12打开开发者工具,查看JS寻找接口: 从JS代码中查询到一处接口如下: 发现是以p…

bilibili深入理解计算机系统笔记(3):使用C语言实现静态链接器

本文是2022年的项目笔记,2024年1月1日整理文件的时候发现之,还是决定发布出来。 Github链接:https://github.com/shizhengLi/csapp_bilibili 文章目录 可执行链接文件(ELF)ELF headerSection header符号表symtab二进制数如何和symtab结构成员…

ELK+kafka+filebeat企业内部日志分析系统搭建

看上面的拓扑图,我们至少准备七台机器进行下面的实验项目。 机器主要作用分布如下: 三台安装elasticsearch来搭建ES集群实现高可用,其他机器就依次安装filebeat,kafka,logstash和kibana软件 一、部署elasticsearch来搭建ES集群 1.安装jdk 由于ES运行…

C语言数组习题

1.数组遍历 #include <stdio.h>int main(){int i,a[10];for(i0;i<9;i) //对数组元素a[0]~a[9]赋值 a[i]i;for(i9;i>0;i--) //输出a[9]~a[0]共10个数组元素 printf("%d ",a[i]);printf("\n");return 0;} 运行结果&#xff1a; 2.数组应用&a…

atoi函数的模拟实现

这里强力推荐一篇文章 http://t.csdnimg.cn/kWuAm 详细解析了atoi函数以及其模拟实现&#xff0c;我这里就不说了。 这里作者先把自己模拟的代码给大家看一下。 int add(char* arr) {char* arr2 arr;while (*arr!-48){arr;}arr--;int sum 0;int n 0;while (arr ! (arr2-…

如何构建高效测试体系?掌握5大自动化测试模式就够了

软件开发过程中&#xff0c;高效的自动化测试体系是提升测试效率、保证产品质量关键&#xff0c;一个全面的测试体系涵盖多个维度&#xff0c;从功能性到用户界面&#xff0c;再到性能和安全性。 每个维度均采用不同的测试模式来满足特定的需求和解决特别的挑战&#xff0c;本…

快速打通 Vue 3(三):Vue3 中的 watch 监听器与新特性

很激动进入了 Vue 3 的学习&#xff0c;作为一个已经上线了三年多的框架&#xff0c;很多项目都开始使用 Vue 3 来编写了 这一组文章主要聚焦于 Vue 3 的新技术和新特性 如果想要学习基础的 Vue 语法可以看我专栏中的其他博客 Vue&#xff08;一&#xff09;&#xff1a;Vue 入…

为什么国产操作系统是基于linux研发的呢?

为什么国产操作系统是基于linux研发的呢&#xff1f; 在开始前我有一些资料&#xff0c;是我根据自己从业十年经验&#xff0c;熬夜搞了几个通宵&#xff0c;精心整理了一份「Linux的资料从专业入门到高级教程工具包」&#xff0c;点个关注&#xff0c;全部无偿共享给大家&…

2023年AIGC发展回顾与展望

2023年是人工智能内容生成&#xff08;AIGC&#xff09;技术飞速发展的一年。从年初ChatGPT一炮打响&#xff0c;大家纷纷加入到大模型研究之中。期间Midjourney和Stable Diffusion AI绘画技术持续火热&#xff0c;基于AIGC类的应用也如雨后春笋般遍地开花。万众瞩目的OpenAI G…

1.1 理解大数据(2)

小肥柴的Hadoop之旅 1.1 理解大数据&#xff08;2&#xff09; 目录1.1 理解大数据1.1.3 大数据概述1.1.4 更多思考 参考文献和资料 目录 1.1 理解大数据 1.1.3 大数据概述 step_0 大数据定义 【《大数据算法设计分析》】&#xff1a; 通常来讲大数据&#xff08;Big Data&am…

生态系统服务构建生态安全格局中的实践技术应用

生态安全是指生态系统的健康和完整情况。生态安全的内涵可以归纳为&#xff1a;一&#xff0c;保持生态系统活力和内外部组分、结构的稳定与持续性&#xff1b;二&#xff0c;维持生态系统生态功能的完整性&#xff1b;三&#xff0c;面临外来不利因素时&#xff0c;生态系统具…

解决jenkins的Exec command命令不生效,或者执行停不下来的问题

Jenkins构建完后将war包通过 Publish Over SSH 的插件发布到服务器上&#xff0c;在服务器上执行脚本时&#xff0c;脚本中的 nohup 命令无法执行&#xff0c;并不生效&#xff0c;我配置的Exec command命令是后台启动一个war包&#xff0c;并输出日志文件。 nohup java -jar /…

批量美化图片:让您的图片库焕然一新!

您是否曾经遇到过这样的问题&#xff1a;在处理大量图片时&#xff0c;一张一张地调整时间和精力成本太高&#xff1f;现在&#xff0c;我们为您带来了一款全新的批量图片美化工具&#xff0c;让您轻松解决这个问题&#xff01; 首先&#xff0c; 我们要进入首助编辑高手主页面…

/etc/profile文件一不小心改坏了,所有命令无法执行了怎么办?

转载说明&#xff1a;如果您喜欢这篇文章并打算转载它&#xff0c;请私信作者取得授权。感谢您喜爱本文&#xff0c;请文明转载&#xff0c;谢谢。 问题描述&#xff1a; 在部署jdk的时候&#xff0c;修改/etc/profile文件&#xff0c;文件改得有问题&#xff0c;但是当时没有…

【elfboard linux开发板】5.vmware tools安装及uart属性的获取和设置

1. 安装VMware tools 系统&#xff1a;ubuntu22.04 虚拟机版本&#xff1a;VMware workstation 16 pro&#xff08;16.1.2&#xff09; VMware tools文件&#xff08;iso)一般在虚拟机目录下&#xff0c;如果没有&#xff0c;这是下载网址&#xff0c;找到对应的虚拟机版本下载…