基于STM32设计的大棚育苗管理系统(4G+华为云IOT)_265

server/2024/11/14 12:37:34/

文章目录

  • 一、前言
    • 1.1 项目介绍
      • 【1】项目开发背景
      • 【2】设计实现的功能
      • 【3】项目硬件模块组成
      • 【4】设计意义
      • 【5】国内外研究现状
      • 【6】摘要
    • 1.2 设计思路
    • 1.3 系统功能总结
    • 1.4 开发工具的选择
      • 【1】设备端开发
      • 【2】上位机开发
    • 1.5 参考文献
    • 1.6 系统框架图
    • 1.7 系统原理图
    • 1.8 实物图
    • 1.9 模块的技术详情介绍
      • 【1】Air724UG-4G模块
      • 【2】SGP30传感器
      • 【3】SHT30模块
      • 【4】土壤湿度检测模块
      • 【5】MQTT协议
      • 【6】继电器模块
  • 二、硬件选型
    • 2.1 STM32开发板+LCD显示屏
    • 2.2 USB下载线
    • 2.3 Air724UG 4G模块
    • 2.4 4G模块专用杜邦线
    • 2.5 继电器
    • 2.6 SHT30温湿度模块
    • 2.7 PCB板
    • 2.8 BH1750光敏传感器
    • 2.9 土壤湿度传感器
    • 2.10 抽水马达
    • 2.11 SGP30模块
    • 2.12 电源扩展板
    • 2.13 母对母杜邦线
    • 2.14 稳压模块
    • 2.15 电源插头
    • 2.16 LED白色补光灯模块
  • 三、部署华为云物联网平台
    • 3.1 物联网平台介绍
    • 3.2 开通物联网服务
    • 3.3 创建产品
      • (1)创建产品
      • (2)填写产品信息
      • (3)产品创建成功
      • (4)添加自定义模型
          • 【1】创建服务ID
          • 【2】环境温度 SHT30_T 浮点数
          • 【3】环境湿度 SHT30_H 浮点数
          • 【4】环境光照强度 BH1750 整型
          • 【5】补光灯开关 LED_SW Bool类型
          • 【6】土壤湿度 SOIL 浮点数
          • 【7】灌溉电机开关 MOTOR_SW Bool类型
          • 【8】运行模式 mode_type Bool类型
          • 【9】土壤湿度阀值 SOIL_MIN 整数
          • 【10】二氧化碳检测 SGP30 整型
      • (5)创建完成
    • 3.4 添加设备
      • (1)注册设备
      • (2)根据自己的设备填写
      • (3)保存设备信息
      • (4)设备创建完成
      • (5)设备详情
    • 3.5 MQTT协议主题订阅与发布
      • (1)MQTT协议介绍
      • (2)华为云平台MQTT协议使用限制
      • (3)主题订阅格式
      • (4)主题发布格式
    • 3.6 MQTT三元组
      • (1)MQTT服务器地址
      • (2)生成MQTT三元组
    • 3.7 模拟设备登录测试
      • (1)填入登录信息
      • (2)打开网页查看
      • (3)MQTT登录测试参数总结
    • 3.8 项目凭证
    • 3.9 创建IAM账户
    • 3.10 获取影子数据
    • 3.11 修改设备属性
  • 四、Qt开发入门与环境搭建
    • 4.1 Qt是什么?
    • 4.2 Qt版本介绍
    • 4.3 Qt开发环境安装
    • 4.4 开发第一个QT程序
    • 4.5 调试输出
    • 4.6 QT Creator常用的快捷键
    • 4.7 QT帮助文档
    • 4.8 UI设计师使用
    • 4.9 按钮控件组
    • 4.10 布局控件组
    • 4.11 基本布局控件
    • 4.12 UI设计师的布局功能
  • 五、上位机开发
    • 5.1 Qt开发环境安装
    • 5.2 新建上位机工程
    • 5.3 切换编译器
    • 5.4 编译测试功能
    • 5.5 设计UI界面与工程配置
      • 【1】打开UI文件
      • 【2】开始设计界面
    • 5.6 设计代码
      • 【1】获取token
      • 【2】获取影子数据
      • 【3】解析数据更新界面
      • 【4】判断设备是否离线
      • 【5】获取设备最新数据上传时间
      • 【5】界面的数据更新
    • 5.5 编译Windows上位机
    • 5.6 配置Android环境
      • 【1】选择Android编译器
      • 【2】创建Android配置文件
      • 【3】配置Android图标与名称
      • 【3】编译Android上位机
    • 5.7 设备仿真调试
  • 六、 Air724UG 模块调试过程
    • 6.1 官方文档
    • 6.2 模块调试接线
    • 6.3 串口调试过程
      • 【1】AT命令
      • 【2】读取模块厂商信息
      • 【3】读取详细的固件版本
      • 【4】查询卡是否插好
      • 【5】查询信号质量
      • 【6】查询网络注册状态
      • 【5】查询模组是否注册上GPRS网络
      • 【6】查询附着GPRS网络
  • 七、STM32代码设计
    • 7.1 硬件连线说明
    • 7.2 硬件原理图
    • 7.3 硬件组装过程
    • 7.4 硬件实物图
    • 7.5 KEIL工程
    • 7.6 程序下载
    • 7.7 程序正常运行效果
    • 7.8 取模软件的使用
    • 7.9 4G模块与服务器通信
    • 7.10 硬件初始化
      • (1)`KEY_Init()`
      • (2)`LED_Init()`
      • (3)`USART1_Init(115200)`
      • (4)`AdcInit()`
      • (5)`Init_SHT30_1()`
      • (6)`HardwareInit()`
      • (7)`BH1750_Init()`
      • (8)`USART2_Init(115200)`
      • (9)`TIMER2_Init(72,20000)`
      • (10)`Lcd_Init()`
      • (11) `Lcd_Clear(0)`
      • 总结
    • 7.11 4G模块-初始化
      • (1)清屏与显示初始信息
      • (2)重试次数初始化
      • (3)检测Air724UG 4G模块
      • (4)4G模块存在时的初始化逻辑
      • (5)清屏
      • 总结
    • 7.12 LCD界面显示
    • 7.13 按键逻辑代码
      • (1)按键检测
      • (2)模式切换
      • (3)控制灌溉电机
      • (4)控制补光灯
      • 总体总结
    • 7.14 数据采集与显示
      • (1)轮询计时器检查
      • (2)采集温湿度数据
      • (3)光照强度采集
      • (4)采集土壤湿度
      • (5)读取SGP30传感器的CO2和TVOC数据
      • (6)显示湿度阈值
      • (7)显示运行模式
      • (8)显示灌溉开关状态
      • (9)自动模式下的运行逻辑
      • (10)组合数据上传至MQTT云端服务器
      • 总体代码逻辑总结
      • 运行逻辑:
      • 自动模式控制逻辑:
      • 代码的设计优势:
    • 7.16 处理上位机下发的数据
      • 代码逻辑分析:
      • 代码总结:
  • 八、使用STM32代码的流程以及注意事项
    • 8.1 第1步
    • 8.2 第2步
    • 8.3 第3步
  • 九、代码移植更改
    • 【1】STM32代码
    • 【2】Qt上位机代码
  • 十、完整STM32代码
  • 九、总结

一、前言

1.1 项目介绍

【1】项目开发背景

随着现代农业技术的发展,智能农业逐渐成为提升农业生产效率、保障作物品质的重要手段之一。尤其是在设施农业领域,如温室大棚种植中,智能化管理系统的应用越来越广泛。这类系统能够通过精确控制环境参数,为作物提供最适宜的生长条件,从而提高产量和质量。在这样的背景下,基于STM32微控制器设计的大棚育苗管理系统应运而生,通过集成先进的传感技术和物联网技术,实现对育苗过程中关键环境因素的有效监控与调节。

该系统的设计初衷是解决传统育苗方式中存在的几个核心问题:

人工监测和调整环境参数不仅耗时费力,而且准确性难以保证,特别是在大规模种植情况下,这往往成为制约生产效率的关键瓶颈。随着消费者对农产品品质要求的不断提高,如何确保每株幼苗都能在最优条件下成长变得尤为重要。

面对日益严峻的水资源短缺问题,合理利用水资源也成为现代农业必须考虑的问题之一。因此,构建一个既能实现精准灌溉又能节约用水的自动化管理系统显得尤为迫切。

本项目所提出的解决方案是建立一套集成了多种环境感知能力与远程操控功能于一体的智能育苗管理系统。它不仅能够持续监测大棚内的温度、湿度、光照强度以及二氧化碳浓度等重要指标,并将这些信息实时展示给用户,还允许用户根据实际情况通过本地或远程方式


http://www.ppmy.cn/server/141573.html

相关文章

三维测量与建模笔记 - 3 Python Opencv实现相机标定

import cv2 import numpy as np import glob import matplotlib.pyplot as pltcv2.__version__ #参考链接 #https://docs.opencv.org/3.4/dc/dbb/tutorial_py_calibration.html#相关参数 #设置寻找亚像素角点的参数,采用的停止准则是最大循环次数30和最大误差容限0.…

CondaError: Run ‘conda init‘ before ‘conda activate‘解决办法

已经执行了conda init,但是还是会报错CondaError: Run ‘conda init’ before ‘conda activate’ 原因:权限不够 解决办法:以管理员身份运行cmd,然后进入要操作的文件夹下,重新执行 conda init 和 conda activate 就可…

【Pytorch】model.eval()与model.train()

model.train(): 作用是启用Batch Normalization 和 Dropout 如果模型中有BN层(Batch Normalization)和Dropout,需要在训练时添加model.train()。model.train()是保证BN层能够用到每一批数据的均值和方差。对于Dropout&#x…

【Spring】Spring框架中有有哪些常见的设计模式

Spring 框架中广泛运用了多种设计模式,今天让我们来学习一下 1. 单例模式(Singleton Pattern) 用途:在Spring框架中,Bean默认是单例的,也就是说在容器中每种类型的Bean只有一个实例。这个设计可以节省资源…

uni-app小程序echarts中tooltip被遮盖

图表中的文案过长,tooltip溢出容器,会被遮盖住 解决方案: 在echarts的tooltip中有confine属性可将tooltip限制在容器内,不超过容器,就不易被遮盖

(Termux)旧手机变Ubuntu服务器

目录 简介 配置termux软件 安装open-ssh 更新SSL 添加密钥 启动 ssh 服务 查看登录用户名 查看连接 IP 地址 设置ssh登录密码 通过 XShell 连接手机模拟 Linux 系统 注意:XShell 需要与该手机在同一局域网上才可以进行连接 手机开启的ssh服务默认端口为 …

算法基础02一高精度,前缀和,差分

#include <iostream> #include <vector> using namespace std;const int N 1e6 10; //模板 CABvector<int> add(vector<int> &A,vector <int> &B) {vector<int> C;int t 0; // 用来保存每位的和&#xff08;包括进位&#xff…

基于微信小程序的药店管理系统+LW示例参考

1.项目介绍 系统角色&#xff1a;管理员、普通用户功能模块&#xff1a;管理员&#xff08;用户管理、药品分类管理、药品信息管理、系统管理、订单管理等&#xff09;&#xff0c;普通用户&#xff08;查看相关药品信息、充值、登录注册、个人中心、购物车、我的订单等&#…