【成品设计】基于STM32和LoRa的大棚监测控制系统

news2024/10/2 21:22:46

《基于STM32和LoRa的大棚监测控制系统》

整体功能:

LoRa智能远程控制系统是基于STM32F103C8T6最小系统板如图1的基础上使用STM32CubeMX工具搭建工程,基于HAL库进行编程设计,采用主 - 从模式来进行设计模拟与实现,主机、从机上都采用STM32F103为主控搭载LR30 - LoRa无线射频模块,进行点对点数据传输,主机、从机具体细分为以下模块:
1.主机 - master:
主控部分:采用东莞野火电子技术有限公司设计的STM32F103CT86最小系统板进行开发设计,板载了复位按键、KEY1、KEY2用户按键、三个LED用户灯,其中属于用户部分的外设可供开发。
显示部分:选用0.96寸OLED屏幕来实时显示由LoRa从机发送的温湿度、报警状态、继电器状态等信息。OLED屏幕采用IIC接口通讯的方式与主控进行数据传输。
通讯部分:采用有人物联网公司LR30 - LoRa无线射频模块进行远程数据传输,该模块通过SPI接口通讯的方式与主控进行数据传输。
LoRa-master整体的系统架构如下图1所示。
在这里插入图片描述

2.从机 - slave:
主控部分:采用ST公司官方的STM32F103C8T6最小系统板进行开发设计,该系统板上只搭载了一个LED灯可供用户开发,其余外设都已跟相关硬件绑定。
数据采集部分:从机采用温湿度传感器(DHT11)来作为数据采集点。按照从机默认设置好的采集周期定时来采集温湿度值,采集的周期由主机的KEY1、KEY2键长按控制周期的大小。从机将采集好的数据通过LoRa模块发给主机,实现从机到主机的数据传递。
报警部分:使用蜂鸣器和LED灯的鸣叫和亮灭来模拟报警。当主机短按下KEY1键时,主机会通过LoRa模块发送KEY1键短按指令来控制从机报警状态的切换,实现主机到从机的数据传递。
控制部分:使用继电器模块(3.3~5V驱动)来模拟终端设备,当主机短按KEY2键时,主机会通过LoRa模块发送KEY2键短按指令来控制从继电器状态的切换。
在这里插入图片描述

成品展示:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

资料详情:

在这里插入图片描述

说明:

成品设计不易,详情关注闲鱼店铺:数字梦想家,查看评论区。
在这里插入图片描述

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

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

相关文章

各平台对象存储

一、阿里云对象存储 官方文档:https://help.aliyun.com/zh/oss/getting-started/getting-started-with-oss?spma2c4g.11186623.0.0.299a646c6nWWcW 1.引入maven 官网:https://help.aliyun.com/zh/oss/developer-reference/java-installation?spma2c…

跨越文化鸿沟:海外短剧推广平台多语言支持技术的深度探讨

在海外短剧推广的过程中,多语言支持技术不仅是跨越语言障碍的桥梁,更是连接不同文化背景的纽带。本文将深入探讨多语言支持技术的重要性,以及其在实现过程中的技术细节和策略。 一、多语言支持技术的文化价值 多语言支持技术不仅能让观众跨…

材料科学领域科技查新点提炼方法!---附案例

材料科学是研究材料的组织结构、性质、生产流程、使用效能及它们之间的相互关系的科学,集物理学、化学、冶金学等于一体。随着科技的发展,纳米技术和生物技术也广泛应用到该领域中。从材质上可以分为金属材料、无机非金属材料、有机高分子材料和复合材料…

review of c++

友元关系是单向的。 指针

0基础学习区块链技术——去中心化

大纲 去验证的中心化验证者如何验证验证者为什么要去传播 去确认的中心化去存储的中心化 “去中心化”是区块链技术的核心。那么我们该如何理解这个概念呢? 我们可以假想在一次现实转账中,有哪些“中心化”的行为: 判断余额是否足够。即判断…

SpringCloud Gateway基础入门与使用实践总结

官网文档:点击查看官网文档 Cloud全家桶中有个很重要的组件就是网关,在1.x版本中都是采用的Zuul网关。但在2.x版本中,zuul的升级一直跳票,SpringCloud最后自己研发了一个网关替代Zuul,那就是SpringCloud Gateway一句话…

游戏研发(策略+sass+回调模式)

前言 由于这边需要对接游戏研发后台,基本就是开服,封禁.角色日志等,但是每个游戏提供的接口都是不一样的,所以为了统一处理提前进行sass封装,以便后续可以更好的兼容 同时还涉及了多数据源的问题,因为有些日志太大不可能直接去http调用,会使用直接查询游戏研发的数据库方式这一…

Unity DOTS技术(五)Archetype,Chunk,NativeArray

文章目录 一.Chunk和Archetype什么是Chunk?什么是ArchType 二.Archetype创建1.创建实体2.创建并添加组件3.批量创建 三.多线程数组NativeArray 本次介绍的内容如下: 一.Chunk和Archetype 什么是Chunk? Chunk是一个空间,ECS系统会将相同类型的实体放在Chunk中.当一个Chunk…

AI论文:一键生成论文的高效工具

说到这个问题,那真的得看你对“靠谱”的定义是怎样的啦? 众所周知,写论文是一项极其耗时间的事情,从开始的选题到文献资料搜索查阅,大纲整理等等一大堆的繁杂工作是极艰辛的。用AI写论文就不一样了,自动化…

十二、【源码】配置注解执行SQL

源码地址:https://github.com/mybatis/mybatis-3/ 仓库地址:https://gitcode.net/qq_42665745/mybatis/-/tree/12-annotation 配置注解执行SQL 简化一下流程,主要可以分为下面几步: 1.解析配置,写入配置项 2.执行…

芯片设计公司外协ERP技术工作内容

在芯片设计公司的日常运营中,ERP(企业资源规划)系统扮演着至关重要的角色,尤其在与外部供应商进行协作时,ERP技术的有效应用能够显著提升工作效率和管理质量。以下是芯片设计公司外协ERP技术工作内容的详细介绍: 一、添加外协供应…

vs2015Professional英文版和中文版的安装教程(附安装包)

英文版 下载安装包 1、Visual Studio 2015 With Update 3 Community 32位64位英文社区版下载地址: http://download.microsoft.com/download/b/e/d/bedddfc4-55f4-4748-90a8-ffe38a40e89f/vs2015.3.com_enu.iso 镜像名称:en_visual_studio_community_…

【数据密集型系统设计】软件系统的可靠性、可伸缩性、可维护性

文章目录 一. 数据密集型程序的特点以及遇到的问题二. 可靠性 : 即使出现问题,也能继续正确工作1 硬件故障2. 软件错误3. 人为错误 二. 可伸缩性1. 描述负载与推特的例子2. 描述性能-延迟和响应时间3. 应对负载的方法 四. 可维护性1. 可操作性:人生苦短&…

Go语言-切片底层探索 —— 补充篇:切片和底层数组到底是什么关系?

之前的切片探索中,上篇通过一道算法题目,了解到切片的两大特性:一是:切片是引用类型,指向底层数组,修改其底层数组的时候,会影响切片中的值。二是:向切片中添加元素的时候&#xff0…

ES6真题合集(一)

ES6真题合集(一) 1. var、let、const之间的区别2. ES6中数组新增了哪些扩展2.1 扩展运算符2.2 Array.from() 方法2.3 Array.of() 方法2.4 find() 和 findIndex() 方法2.5 箭头函数2.6 模板字符串 3. ES6中对象新增了哪些扩展3.1 属性的简写3.2 属性名表达…

[SQL-SERVER:数据库安全及维护]:MSSM工具对用户进行用户授权和角色授权操作

文章目录 直接为用户授权(20分)1. 创建登录TLogin,自行指定登录密码服务器层面选择 安全性 > 点击 登录名 > 点击右键 > 点击 新建登录名 > 选择sqlserver验证 > 关闭强制登录更改密码异常解决:sqlserver 配置管理…

Docker+JMeter+InfluxDB+Grafana 搭建性 能监控平台

JMeter原生报告的缺点: 无法实时共享 报告信息的展示不美观 需求方案 为了解决上述问题,可以通过 InfluxDB Grafana解决 : InfluxDB :是一个开源分布式指标数据库,使用 Go 语言编写,无需外部依赖 应用&am…

【C++】类和对象——构造和析构函数

目录 前言类的六个默认构造函数构造函数1.构造函数的概念2.构造函数的特性 初始化列表1.构造函数整体赋值2.初始化列表 析构函数1.析构函数的概念2.析构函数的特性 前言 类和对象相关博客:【C】类和对象   我们前面一个内容已经讲了关于类好对象的初步的一些知识&…

Linux——nginx部署

部署Nginx 构建Nginx服务器 (实验需要DNS支持,或添加hosts条目,例如: ) 安装Nginx(yum安装即可) 安装依赖软件包: 重启、启用服务并查看服务状态: 默认页面&#xff0…