第十五届蓝桥杯模拟考试III_物联网设计与开发

编程题
一、基本要求

使用大赛组委会提供的四梯/国信长天物联网省赛套装(基于STM32L071KBU微控制器设计),完成本试题的程序设计与调试。程序编写、调试完成后,选手需提交两个LoRa终端对应的hex文件,LoRa终端A对应的文件命名A.hex,LoRa终端B对应的文件命名为B.hex,将两个hex文件压缩为zip文件提交,zip文件以准考证号命名。不符合以上文件提交要求的作品将被评为零分或者被酌情扣分。

二、通信设置

1、使用终端配置的 LoRa 单元完成通信功能。

2、选手可以自定义终端 A、B 间的通信协议,避免通信干扰,保证终端 A、B 不会因为收到错误数据导致功能异常。

三、功能要求

1、LoRa终端A

终端A配置键盘模块,系统结构框图如图4所示。

在这里插入图片描述
图4 终端A硬件结构框图

1)显示功能:

(1)数据界面如图5所示,由终端A最近一次接收且符合温度和湿度数据更新标准的温度数据和湿度数据组成,温度和湿度数据保留小数点后一位。

在这里插入图片描述

图5 数据界面

温度和湿度数据更新标准:

温度值上限≤温度数据≤温度值下限:温度数据更新

湿度值上限≤湿度数据≤湿度值下限:湿度数据更新

(2)温度标准范围设置界面如图6所示,由界面名称(TEMP)、温度上限值(UP)和温度下限值(DOWN)组成。

在这里插入图片描述

图6 温度标准范围设置界面

(3)湿度标准范围设置界面如图7所示,由界面名称(HUMI)、湿度上限值(UP)和湿度下限值(DOWN)组成。

在这里插入图片描述

图7 湿度标准范围设置界面

(4)显示要求

① 请严格按照图示要求设计各信息项的名称(区分字母大小写)和相对行列位置。

② 请确保使用的资料包中提供的字库(8X16),不可使用自定义的字库。

2)按键功能

按键USER表示“切换”按键,按键终端A的USER按键,切换“数据界面”、“温度标准范围设置界面”和“湿度标准范围设置界面”,切换顺序如下图所示。

在这里插入图片描述

图8 界面切换顺序

按键B1表示“加”按键,在“温度标准范围设置界面”或“湿度标准范围设置界面”下,按下按键B1,对应上限值增加。

温度上限值(UP)“加”顺序:

25 30 35 … 50 25 …

湿度上限值(UP)“加”顺序:

50 55 60 … 95 50 …

按键B2表示“减”按键,在“温度标准范围设置界面”或“湿度标准范围设置界面”下,按下按键B2,对应下限值减小。

温度下限值(DOWN)“减”顺序:

20 15 10 5 20 …

湿度下限值(DOWN)“减”顺序:

45 40 35 … 10 45 …

3)继电器功能

收到终端B发来的温度和湿度数据时,

若本次温度数据符合温度数据更新标准,继电器K1吸合,否则断开;

若本次湿度数据符合湿度数据更新标准,继电器K2吸合,否则断开;

4)无线通信功能

终端A通过LoRa通信单元接收温度和湿度数据。

2、LoRa终端B

终端B配置电位器模块,系统结构框图如图1所示。

在这里插入图片描述

图1 终端A硬件结构框图

1)模拟功能

终端B内置ADC采集电位器RP1和RP2输出的电压值,并将其转换为环境温度和湿度数据(数据均保留小数点后1位),显示在OLED屏上,显示格式如图2所示。

在这里插入图片描述

图2 OLED显示货物重量

显示要求

① 请严格按照图示要求设计各信息项的名称(区分字母大小写)和相对行列位置。

② 请确保使用的资料包中提供的字库(8X16),不可使用自定义的字库。

电位器RP1电压值与温度的转换关系如图3所示:

在这里插入图片描述

图3 RP1电压值与温度关系

电位器RP2电压值与湿度的转换关系如图4所示:

在这里插入图片描述

图4 RP2电压值与湿度关系

2)按键功能

在终端B上按下USER按键,终端B通过LORA单元向终端A发送当前发温度和湿度数据。

3)继电器功能

终端B发送温度和湿度数据后,

若终端B发送的温度数据不符合终端A温度数据更新标准,继电器K1吸合,否则断开;

若终端B发送的湿度数据不符合终端A湿度数据更新标准,继电器K2吸合,否则断开;

4)无线通信功能

终端B通过LoRa通信单元完成温度和湿度数据的传输功能。

三、设计要求

(1)自定义终端 A 和终端 B 间的无线通信协议,避免通信干扰。

(2)终端A上电后,温度数据和湿度数据为0。

(3)温度数据上限值为40,下限值为20。

(4)湿度数据上限值为70,下限值为30。

(5)继电器均处于断开状态。

四、资源数据包
资源数据包下载链接:

链接:https://pan.baidu.com/s/1sSrrRO7761ETXkJeJcCSyQ
提取码:lq3l

代码:

链接:https://pan.baidu.com/s/1CmfpdJW3YR5iTy8Srj4YIg?pwd=q6to
提取码:q6to

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Week Y1】调用官方权重进行检测

YOLO白皮书之调用官方权重进行检测 一、下载yolo-v5s源码,并配置编译环境二、输入本地图片查看检测结果三、输入本地视频查看检测结果 🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项…

C++学习随笔(2)——引用与函数

经过上章对C有了一个初步认识后,本章我们来学习一下C的一些与C语言不同的新玩样引用,还有C的函数规则。 目录 1. 引用 1.1 引用概念 1.2 引用特性 1.3 常引用 1.4 使用场景 (1) 做参数 (2) 做返回值…

基于YOLOv8深度学习的路面坑洞检测与分割系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标分割

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…

计算机设计大赛 目标检测-行人车辆检测流量计数

文章目录 前言1\. 目标检测概况1.1 什么是目标检测?1.2 发展阶段 2\. 行人检测2.1 行人检测简介2.2 行人检测技术难点2.3 行人检测实现效果2.4 关键代码-训练过程 最后 前言 🔥 优质竞赛项目系列,今天要分享的是 行人车辆目标检测计数系统 …

服务器-->网站制作-->接口开发,一篇文章一条龙服务(2)

作者:q: 1416279170v: lyj_txd前述:本人非专业,兴趣爱好自学自研,很多没有说清楚的地方见谅,欢迎一起讨论的小伙伴~ 上期回顾,了解 服务器,网站制作,接口开发之见的关系&#xff0c…

【C#语言入门】17. 事件详解(上)

【C#语言入门】17. 事件详解(上) 一、初步了解事件 定义:单词Event,译为“事件” 通顺的解释就是**“能够发生的什么事情”**,例如,“苹果”不能发生,但是“公司上市”这件事能发生。在C#中事…

Android Gradle 开发与应用 (五) : 基于Gradle 8.2,创建Gradle插件

1. 前言 本文介绍在Android中,如何基于Gradle 8.2,创建Gradle插件。 1.1 本文环境 Android Studio 版本 : Android Studio Hedgehog | 2023.1.1Gralde版本 : gradle 8.2 使用 Android Gradle 插件升级助理 Android Gradle 插件版本说明 1.2 为什么要写…

机器学习(五) -- 监督学习(1) -- 线性回归

系列文章目录 机器学习(一) -- 概述 机器学习(二) -- 数据预处理(1-3) 机器学习(三) -- 特征工程(1-2) 机器学习(四) -- 模型评估…

批量提取PDF指定区域内容到 Excel 以及根据PDF里面第一页的标题来批量重命名-附思路和代码实现

首先说明下,PDF需要是电子版本的,不能是图片或者无法选中的那种。 需求1:假如我有一批数量比较多的同样格式的PDF电子文档,需要把特定多个区域的数字或者文字提取出来 需求2:我有一批PDF文档,但是文件的名…

使用VBA快速梳理多层级族谱(组织架构)

实例需求:族谱(或者公司组织架构等)都是典型的带有层级关系数据,例如下图中左侧表格所示。 A列为层级(准确的讲是B列成员的层级),从一开始递增B列和C列为成员直接的父(/母&#xff…

美术馆预约小程序|基于微信小程序的美术馆预约平台设计与实现(源码+数据库+文档)

美术馆预约小程序目录 目录 基于微信小程序的美术馆预约平台设计与实现 一、前言 二、系统设计 三、系统功能设计 1、用户信息管理 2、展品信息管理 3、美术馆信息管理 4、论坛信息管理 四、数据库设计 五、核心代码 七、最新计算机毕设选题推荐 八、源码获取&am…

谷歌BigQuery推出新玩意儿,向量搜索登场啦!

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

AIGC: 2 语音转换新纪元-Whisper技术在全球客服领域的创新运用

背景 现实世界,人跟人的沟通相当一部分是语音沟通,比如打电话,聊天中发送语音消息。 而在程序的世界,大部分以处理字符串为主。 所以,把语音转换成文字就成为了编程世界非常普遍的需求。 Whisper 是由 OpenAI 开发…

【神经网络与深度学习】深度神经网络(DNN)

概述 深度神经网络(Deep Neural Networks,DNN)是一种由多个隐藏层组成的神经网络模型。每个隐藏层由多个神经元组成,这些神经元通过权重和激活函数进行信息传递和计算。 深度神经网络通过多层的非线性变换,可以学习到…

vue中实现3d词云效果(已封装组件)

<!--* Description: 词云组件 页面* Date: 2024/3/10 23:39 --> <template><div:style"{display: flex,justifyContent: center,border: 1px solid red,}"><svg:width"width":height"height"mousemove"listener($even…

Linux动态追踪——ftrace

目录 摘要 1 初识 1.1 tracefs 1.2 文件描述 2 函数跟踪 2.1 函数的调用栈 2.2 函数调用栈 2.3 函数的子调用 3 事件跟踪 4 简化命令行工具 5 总结 摘要 Linux下有多种动态追踪的机制&#xff0c;常用的有 ftrace、perf、eBPF 等&#xff0c;每种机制适应于不同的场…

ES分页查询的最佳实践:三种方案

Elasticsearch&#xff08;ES&#xff09;中进行分页查询时&#xff0c;最佳实践取决于具体的使用场景和需求。 以下是对每种分页方法的简要分析以及它们适用的情况&#xff1a; 1. From Size 最常见且直观的方法&#xff0c;通过from参数指定跳过多少条记录&#xff0c;si…

Autosar Crypto Driver学习笔记(一)

文章目录 Crypto DriverPre-ConfigurationCryptographic capabilities加密能力Available Keys可用密钥 General BehaviorNormal OperationFunctional RequirementsSynchronous Job ProcessingAsynchronous Job Processing Design NotesPriority-dependent Job Queue基于优先级的…

docker安装jenkins并实现CICD流程

docker安装jenkins并实现CICD流程 本文目录 docker安装jenkins并实现CICD流程安装命令初始化设置更新jenkins及插件更新jenkins版本更新插件 创建第一个任务修改配置插件更新中心时区设置 安装命令 官方安装参考&#xff1a;https://www.jenkins.io/zh/doc/book/installing/ …

Docker安装tomcat

目录 一、安装Docker 二、Docker安装tomcat 三、安装tomcat 一、安装Docker 安装docker阅读 Docker整理之安装(1)-CSDN博客https://blog.csdn.net/ywanju/article/details/135442406 二、Docker安装tomcat 本案例安装的tomcat最新版本 搜(dockerhub搜索镜像版本) 拉(拉…