搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
2023面试高手
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
微信小程序开发之——获取系统信息(1)_微信小程序获取运行系统信息
2
C++ 动态规划_c++动态规划
3
使用 Ollama框架 下载和使用 Llama3 AI大模型的完整指南_利用ollama进行大模型的更新
4
太厉害了!终于有人把Hadoop+Spark,典型服务器模式原理分析与实践_spark和hadoop集成案例
5
十进制计数器和BCD七段译码数码管显示的VHDL实现_七段数码管十进制显示器
6
计算机野史-图灵
7
Redis过期策略以及内存淘汰机制_redis的过期策略以及内存淘汰机制
8
kernelbasedll故障修复问题,怎么一键解决kernelbasedll
9
2024年Go最新NLP 实战 (7) 热榜算法更新(1),2024年最新整理了3家面试问题:美团+字节+腾讯
10
理解IP ACL
当前位置:
article
> 正文
机智云AIoT+STM32F407ZGT6单片机+微生态花园控制系统设计
作者:2023面试高手 | 2024-05-30 11:04:11
赞
踩
机智云AIoT+STM32F407ZGT6单片机+微生态花园控制系统设计
摘要:以STM32F407ZGT6单片机为核心控制器设计了一种微型生态花园控制系统,将传感器技术、WiFi技术、摄像头技术、自动追光技术、μC/OS-Ⅲ实时操作系统结合起来,实现对花园环境以及动植物情况的实时监控和及时控制,并具有环境温度、环境湿度、土壤湿度、光照强度监控,鱼缸自动换水、增氧以及宠物自动喂养等功能。
0 引言
随着城市生活节奏越来越快,都市白领人群也越来越多地希望绿色微生态能够进入自己的家庭阳台空间,开始更多地从生态角度改善自己的生活环境。
当前物联网技术的应用,使得生态空间的控制技术朝人工智能化方向迅速发展[1]。新技术的应用使得微生态阳台花园的管理通过智能自动化系统实现了实时控制,代替了原有落后的开关按钮控制的管理方式[2],在当前已经成为智能家居市场的主流需求[3]。
这样都市忙碌的白领人群就可以不必耗费过多的时间与精力去管理家庭花园生态系统,也不用花大量精力去学习养鱼、绿植养护的知识技能,更不用去请专人管理维护,直接使用智能绿植养护阳台系统就可以实现养护一体化。
1 系统总体框架设计
微型生态花园控制系统基于现实背景[4]设计,以STM32F407ZGT6单片机为核心控制器,通过μC/OS-Ⅲ实时操作系统和TFT-LCD主控显示屏设计出便捷友好的用户界面,实时显示环境参数信息。系统采用成熟的物联网技术进行通信连接,用户可以通过
机智云
和手机App连接,实现云端传输数据功能。
硬件是控制系统的基础和核心,因为其不仅直接影响到系统的稳定性、准确性、快速性及能耗等,还在一定程度上决定了系统的上限。总之,系统硬件的设计是非常关键的部分。微生态花园控制系统的硬件主要以STM32F407ZGT6单片机为控制核心板,搭载TFT-LCD触摸显示屏、OV5640-720P高清摄像头、WiFi模组等。其中DHT11温湿度传感器、土壤湿度传感器组成检测功能模块,用来检测微生态花园的温湿度和土壤湿度等环境参数。
2 自动灌溉系统
自动化灌溉系统首先为自动化灌溉区域规划做准备。由于自动灌溉系统的工作原理,一组路径在同一时间只能以一个频率自动灌溉,因此采取以下措施区分灌区的草种习性。例如,多年生铁线莲、月季之类,不耐涝、不耐高温的可以划分成一组,灌水的持续时间可以设置得短一些,频率可以低一些;而蓝雪花、绣球花等水生植物再分一组,灌水的持续时间设置得更长更频繁;对于耐旱、耐高温的沙漠玫瑰、仙人掌等植物来说,它们对水分的需求并不是很大,分为另一组,灌水的持续时间可以设置得更短一些。
系统工作中,当土壤含水量低于一定阈值时(该阈值可通过可变电阻进行调节)指示灯就会亮起,从而检测到该区域内土壤湿度低于当前植物所适宜的湿度,单片机即可控制继电器操作小水泵进行灌溉。
3 太阳能自动追光系统
太阳能是一种清洁的绿色能源,也是最丰富的可再生能源,是未来理想的绿色新能源,因此采用光伏发电技术将太阳能转化为电能,用于实现系统运行的续航并节约能源。太阳能自动追光系统主要由2个步进电机以及驱动器、4个光敏电阻、1个主控芯片、1块太阳能板构成,具体系统框架如图2所示。
图1 系统总体设计框架
图2 系统框架
太阳能板的方向控制能够实现360°追光,它的4个方向分别放置4个光敏电阻,然后通过判断对向的两个电阻的大小控制步进电机应该往哪个方向进行转动。为了实现通过读取光敏电阻的阻值控制太阳能板方向,这里采用串联分压的方式,如图3所示。
图3 串联分压电路
ADC接单片机引脚,原理就是串联分压,当外界光发生变化的时候,光敏电阻的阻值发生变化,ADC读取的就是光敏电阻分压的数值。因为两个光敏电阻的阻值是一样的,那么R1和R2在光照一样的环境下,ADC引脚所读取到的电压值应该是3.3/2=1.65 V,也就是说,当ADC所读取到的电压值在1.55~1.75 V (误差±0.1 V)时,两个光敏电阻所接收的光强是一样的。
因为用的是5516光敏电阻,光照越强,阻值越小,电压也就越小,所以,当ADC读取到的电压值,也就是R1的电压值大于1.75 V时,说明R2的光照强度大于R1,步进电机就会往R2方向移动,当最终读取到的电压值平稳在1.55~1.75 V时,步进电机才会停止移动;相反,当ADC值小于1.55 V时,步进电机就会往R1方向移动,当电压值平稳在1.55~1.75 V时,步进电机才会停止移动。可以以同样的办法在另外两个方向上设计同样的一个串联分压电路,从而达到同样的效果。
最后,太阳能板就可停留在光照强度最强的地方,然后通过光伏发电对蓄电池进行充电。
4 鱼缸
鱼缸主要由自动定时换水系统、自动定时供氧系统、自动定时喂食系统三部分构成,该设计可以帮助出差在外的用户照顾鱼缸里的鱼类,减少用户的担忧。
4.1 自动定时换水系统
在换水过程中依靠水位传感器来判断鱼缸中的水是否抽完以及抽进鱼缸里的水是否到达设定水位,防止水漫出来。该换水系统利用Water Sensor水位传感器监测水位,该模块主要是利用三极管的电流放大原理:当液位高度使三极管的基极与电源正极导通时,在三极管的基极和发射极之间就会产生一定大小的电流,此时在三极管的集电极和发射极之间就会产生一个一定放大倍数的电流,该电流经过发射极的电阻产生特定电压,被AD转换器采集。
只要设定好鱼缸最大水位时ADC的值以及鱼缸在被抽完水后ADC的值,然后通过继电器控制小水泵,设定好时间,就可以进行鱼缸的自动换水操作。换下来的废水可以用于灌溉,能够节约水资源,实现废水的循环利用。
4.2 自动定时供氧系统
采用供氧泵在空气中抽取氧气,然后将导管放入鱼缸中,设定好时间,就可以进行定期供氧。
4.3 自动定时喂食系统
自动定时喂食系统由步进电机、装料器皿构成,使用起来非常方便,将鱼料放进装料器皿中,然后通过步进电机旋转,鱼料就可以经出料口送出。系统可以根据鱼类数量的多少进行供料,为控制出料量,防止出料过多,出料口采用小孔设计。发送脉冲给步进电机,可使其慢速旋转360°,当出料口位于下方时(此时旋转180°),物料将受到重力作用,通过出料口落入鱼缸中。那么只要设定好时间来驱动步进电机,就能达到自动喂食的效果。
5 宠物屋
宠物屋能够给予宠物舒适的环境,减少病菌的侵害,保证宠物的身体健康,保护家庭的环境,更重要的是可以减轻用户的负担,也为微生态花园增添了一份生机。该设计主要包括监视宠物屋环境温湿度的传感器、空气净化器,还有紫外线杀菌消毒,OV5640摄像头能够实时监控宠物情况,以便实现远程喂食、喂水等功能。
通过主控芯片STM32F407ZGT6控制DHT11温湿度传感器,将采集到的信号运算后实时显示在TFT-LCD显示屏上;同时,通过
esp8266
Wi-Fi芯片将数据传输到手机App上,用户可以通过手机发送指令来进行相应的操作。
(1) 空气净化器能够有效去除空气中的异味,还能分解空气中的细菌,其中的负离子能够有效捕捉空气中的有害物质,净化空气。HEPA是一种高效的过滤材料,可以有效过滤空气中的悬浮颗粒物。这是一个模块,只要接入电源就可以正常使用。
(2) 为防止细菌的滋生,宠物屋内壁上放了4个UV紫外线发光二极管,其具备杀菌和消毒的作用,利用UV紫外灯进行定时杀菌操作,可以抑制细菌的繁殖。
(3) 监控系统主要由步进电机和OV5640摄像头组成,步进电机可以使摄像头进行360°旋转,进而实时观察宠物的动态和宠物屋的工作状态;摄像头将采集到的信息通过ESP8266芯片上传到机智云平台,然后在手机的人机控制界面上显示出来;用户可以通过手机来查看宠物当前的情况。
(4) 喂食系统主要由STM32F407ZGT6主控芯片、步进电机、ESP8266 Wi-Fi模块、OV5640摄像头组成。用户通过App摄像头功能查看到宠物碗中没有了食物,就可以通过手机App发送指令到机智云
物联网平台
,然后通过Wi-Fi模块接收到信号,进而通过单片机控制步进电机打开阀门,食物和水就会自动加到宠物的碗里。
6 μC/OS-Ⅲ实时操作系统
μC/OS-Ⅲ系统能将需要操作的硬件实时显示在TFT-LCD上,为使人机界面更加直观、方便,加入图形界面效果。由于保存的是bmp图像,需要先连接bmp图像的数据格式。在STM32上采集的数据格式是RGB565,方便在TFT-LCD上显示。bmp保存在SD卡上,通过FATFS文件系统进行操作,图片保存步骤如下:
(1) 配置bmp的图片头信息;
(2) 设置数据格式掩码;
(3) 写入图像数据,并使用FATFS文件系统来管理SD卡。
7 机智云物联网平台
首先,传感器采集到的环境数据传送给STM32F-407ZGT6串口与EPS8266 Wi-Fi模组连接,利用无线传感器网络将数据上传至机智云云端,实现数据存储,便于分析。并在终端显示数据,达到远程观测、远程控制的目的。
随后进行应用开发,在机智云目录处找到“MCU开发”,点击“进入”,选择“独立MCU模式”,然后选择正在用的单片机或开发板的芯片型号所对应的硬件平台。
接着,在机智云官网上成功创建设备产品,机智云为该产品分配Product Key和Product Secret参数。Product Key参数是由开发者写入设备MCU (设备主控板),并告知Wi-Fi模块,Wi-Fi模块登录机智云后,机智云将会识别该Product Key的产品。Product Secret参数是App开发或服务器对接时所使用的参数。
再次,
上位机App与单片机的连接。全部设计好后,到机智云的
下载中心
下载刚刚创建的App,之后就可以通过手机与单片机通信的ESP8266 Wi-Fi连接到同一个网络下,然后就可以进行数据的传输了。
最后,用户可以在App上发送相应指令,通过机智云平台接收数据,与单片机相连的ESP8266 Wi-Fi接收到指令后通过控制系统实现相应操作,从而达到远程监视和控制的目的。
8 结语
本文所述控制系统通过智能控制及物联网嵌入式技术,实现了对阳台微生态花园的智能化控制。在设计过程中,除了常规的温湿度调节、追光系统、宠物屋和鱼缸控制等智能操作外,还能通过改变终端传感器应用节点,分层分级管理获取空间参数,实现更多的智能控制功能。
因此,本设计应用范围可拓展性强,不仅可以实现阳台微生态系统的智能调节和远程操作,还可以采用新方法、新设计,广泛运用于其他更多的生态环境如农业大棚、生态养殖等场景的监测和远程控制。
本文内容由网友自发贡献,转载请注明出处:
https://www.wpsshop.cn/w/2023面试高手/article/detail/646678
推荐阅读
article
python
:实现
QLearning
算法
(附完整源码)
_
基于
python
的
qlearning
最优路径...
python
:实现
QLearning
算法
(附完整源码)
_
基于
python
的
qlearning
最优路径基于
python
的q...
赞
踩
article
计算机毕业设计项目
基于
大
数据
和ALS
算法
实现
的
房源智能
推荐
系统
_
基于
als
的
房屋
推荐
系统
...
Python是由Guidovan Rusum于1991年创建
的
一种广泛使用
的
解释性高级通用编程语言。Python
的
设计理...
赞
踩
article
H5
微信
授权
登录
功能实现_
前端
微信
授权
登录
怎么做...
背景最近几周面试复习以前知识库,刚好博客从国外迁移到国内CSND,同步坐下笔记,梳理之前开发
H5
微信
授权
登录
功能获取用...
赞
踩
article
Anaconda
版本
与
python
版本
的对应_
anaconda
对应的
python
版本
...
下载
anaconda
的时候需要指定
版本
,这个时候如果
anaconda
版本
太高,这样安装
python
的时候无法安装低
版本
的...
赞
踩
article
Flink
和
Spark
Streaming
流式
计算模型比较分析_
flink
sparkstreami...
流式
计算模型比较分析一、
Spark
Streaming
1.1
Spark
概述1.2
Spark
Streaming
概述...
赞
踩
article
BERT
模型
的
优化
算法:提升性能和
训练
速度的关键技巧_
bert
模型
调优...
1.背景介绍
BERT
(Bidirectional Encoder Representations from Transf...
赞
踩
article
大
数据
框架:
Spark
生态实时
流
计算
_
spark
的
两
大
流
计算
组件...
在
Spark
框架当中,提起
流
计算
,那么主要就是
Spark
Streaming组件来负责。在
大
数据
的
发展历程当中,
流
计算
正...
赞
踩
article
UG
NX
二次开发
(C#)-
采用
NX
Open完成对象
的
合并
操作
...
在
UG
NX
中开发过程中,创建特征对象
的
时候往往会用到布尔
操作
,比如布尔和、布尔差、布尔交等。这个博客是以布尔和为例,采...
赞
踩
article
音视频
编程
ffmepg
中的关键术语与概念:深度解析与实践_
codec
libraries
...
音视频
编程
ffmepg
中的关键术语与概念:深度解析与实践_
codec
libraries
codec
libraries
...
赞
踩
article
【
Ctfer
训练
计划
】——(九)
_
ctf
攻防
小组
培训
计划
...
ctf
每日
训练
_
ctf
攻防
小组
培训
计划
ctf
攻防
小组
培训
计划
作者名:Demo不是emo ...
赞
踩
article
XILINX
4种7
系列
FPGA
的特点与应用场景详解_
xilinx
的
fpga
芯片
系列
...
7
系列
FPGA
包括Spartan-7,Artix-7,Kintex-7和Virtex-73类,分别简称为S7,A7,K7...
赞
踩
article
[
Py
Qt
入门教程
]
Qt
Designer
工具的使用...
Widget Box控件工具箱是按照控件作用类别进行划分的。这里作为实现入门级界面实现,主要介绍最常使用的控件及控件对象...
赞
踩
article
FPGA
通过
CPU
远程
升级
方案_axi
quad
spi读写
flash
做
远程
升级
...
FPGA
通过
CPU
远程
升级
方案方案介绍
升级
流程图功能框图例程实现AXI Quad SPI IP核的生成和配置Dual/Q...
赞
踩
article
图解
支付
-金融级
密钥
管理
系统
:构建
支付
系统
的
安全
基石(2)...
下面是一个部署简图:一时没有找到防火墙常用图标,先将就着看。图解
支付
-金融级
密钥
管理
系统
:构建
支付
系统
的
安全
基石(2) ...
赞
踩
article
文件
一直处于修改状态
git
checkout
无法
还原
的问题解决方法_
git
hack
出现
扫描以后出...
文件
一直处于修改状态
git
checkout
无法
还原
的问题解决方法_
git
hack
出现
扫描以后
出现
修复
git
hack...
赞
踩
article
Proverif
工具的
安装
_
环境
中
输入
dot
version
是什么...
作者邮箱:caolei2000@snnu.edu.cn。_
环境
中
输入
dot
version
是什么
环境
中
输入
dot
ver...
赞
踩
article
CTF
渗透
训练(笔记)_
ctf
登录
mysql
...
将该请求发送至repeater页面并且修改文件名为要执行的PHP代码,点击go将请求发出,点击Render查看图形化的响...
赞
踩
article
【
Proverif
语法
学习
(
一
)
】...
1.声明
(
declaration
)
1.1 声明变量格式:type t.free n:t. 表示n的类型是t,free是关...
赞
踩
article
顺序
循环
队列
的
基本操作
c语言,顺序
循环
队列
的
基本操作
C语言...
#include "stdio.h"#include "stdlib.h"#define N 10#define MAX...
赞
踩
article
qmt
量化交易策略小白
学习
笔记
第
2
期【如何
获取
板块
成分股
列表】
_
qmt
获取
关联品种...
【代码】
qmt
量化交易策略小白
学习
笔记
第
2
期【如何
获取
板块
成分股
列表】
_
qmt
获取
关联品种
qmt
获取
关联品种 ...
赞
踩
相关标签
python
算法
课程设计
大数据
js
api
前端
后端
开发语言
flink
spark streaming
人工智能
语言模型
AI
LLM
Java
Python
架构设计
Agent
RPA
java
spark
apache spark
c#
UG NX二次开发