【TB作品】基于单片机的实验室管理系统,STM32,GM65二维码扫描模块
硬件:
(1)STM32F103C8T6最小板()
(2)GM65二维码扫描模块
(3)DS1302实时时钟模块
(4)AT24C02 存储设备
(5)蜂鸣器
(6)IIC OLED显示器
(7)按键
软件用法:
(1) 管理员身份可以对AT24C02里的身份码进行增加、删除、修改、查看,需要单片机程序支持;
(2) 手机app是需要开发才行的,手机app里填写身份码,然后由手机程序生成一个与时间相关的二维码;身份码就是自己的密码id,不能告诉别人,身份码在AT24C02有存储;
(3) 单片机扫码后,单片机程序检验校验码是否正常,AT24C02里面有没有这个身份码,然后核实时间有没有过期;
(4) 校验码没通过要蜂鸣器报警1分钟;
(5) 没身份码要显示error;
(6) 时间过期的二维码要显示late;
(7) 如何二维码符合,需要记忆存储两次二维码扫码的间隔时间,与身份码绑定,即是说身份码在最近用了这个设备多长的时间。需要单片机程序支持对此信息的查看。
交付物:
立创EDA的电路原理图;
立创EDA的PCB版图;
C程序源码;
手机app程序源码和编译后的apk安装包,是android软件;
实物pcb到手即用;
使用的演示视频;
最终实物的样式如图,注意使用的单片机是STM32最小板。
STM32源码请打开下载:
http://dt3.8tupian.net/2/28880a56b6666.pg3




相关文章:
【TB作品】基于单片机的实验室管理系统,STM32,GM65二维码扫描模块
硬件: (1)STM32F103C8T6最小板() (2)GM65二维码扫描模块 (3)DS1302实时时钟模块 (4)AT24C02 存储设备 (5)蜂鸣器 …...
超过 1450 个 pfSense 服务器因错误链而遭受 RCE 攻击
在线暴露的大约 1450 个 pfSense 实例容易受到命令注入和跨站点脚本漏洞的攻击,这些漏洞如果链接起来,可能使攻击者能够在设备上执行远程代码。 pfSense 是一款流行的开源防火墙和路由器软件,允许广泛的定制和部署灵活性。 它是一种经济高效…...
react面试总结2
redux中sages和thunk中间件的区别,优缺点 Redux 中的 redux-saga 和 redux-thunk 都是中间件,用于处理异步操作,但它们有一些区别。 Redux Thunk: 简单易用:redux-thunk 是比较简单直观的中间件,它允许 …...
hive 常见存储格式和应用场景
1.存储格式 textfile、sequencefile、orc、parquet sequencefile很少使用(不介绍了),常见的主要就是orc 和 parquet 建表声明语句是:stored as textfile/orc/parquet行存储:同一条数据的不同字段都在相邻位置ÿ…...
PyPDF2库对PDF实现读取的应用
目录 一、PyPDF2 库的使用 1. 文档打开和页面读取 2. 文本提取功能 3. 示例代码...
C++ stack用法详解
stack 栈适配器是一种单端开口的容器(如图 1 所示),实际上该容器模拟的就是栈存储结构,即无论是向里存数据还是从中取数据,都只能从这一个开口实现操作。 图 1 stack 适配器示意图 如图 1 所示,stack 适配器…...
QT案例 使用WMI获取win_32类的属性值,包括Win32提供程序类中的属性
最近涉及到读取WINDOWS 系统电脑设备的各种信息,在一些特殊的PE或者简化系统中是没有WMI查询工具的,所以就自己写了个查询大部分WMI属性值的工具,免去了查网站的功夫。涉及到的方法内容就汇总做个总结。 PS:因为工作中软件基本都是我一个人开…...
TCP/UDP 的特点、区别及优缺点
1.TCP协议 传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP协议通过建立连接、数据确认(编段号和确认号)和数据重传等机制,保证了数据的可靠性…...
使用 Python 使用贝叶斯神经网络从理论到实践
一、说明 在本文中,我们了解了如何构建一个机器学习模型,该模型结合了神经网络的强大功能,并且仍然保持概率方法进行预测。为了做到这一点,我们可以构建所谓的贝叶斯神经网络。 这个想法不是优化神经网络的损失࿰…...
Linux 中的网站服务管理
目录 1.安装服务 2.启动服务 3.停止服务 4.重启服务 5.开机自启 6.案例 1.安装服务 网址服务程序 yum insatll httpd -y 查看所有服务 systemctl list-unit-files 2.启动服务 systemctl start httpd 查看服务进程,确认是否启动 ps -ef|grep httpd 3.停止…...
阿里云cdn设置相同的域名路径访问不同的oss目录
1.设置回源配置,添加回源URL改写 2.设置跨域,cdn的跨域优先oss 3.回源设置...
提示(Prompt)工程中提示词的开发优化基础概念学习总结
本文对学习过程进行总结,仅对基本思路进行说明,结果在不同的模型上会有差异。 提示与提示工程 提示:指的是向大语言模型输入的特定短语或文本,用于引导模型产生特定的输出,以便模型能够生成符合用户需求的回应。 提示…...
C#基础——语法学习
C#的基本语法 在介绍基本语法之前我们先来大概讲一下创建好的这些文件都是做什么的 .sln文件:将项目和解决方案项结合到一起 .vs文件夹:用来存储当前解决方案中关于用户的设置和自定义项,比如断点,主题等。(一般都将其…...
vue-实现高德地图-省级行政区地块显示+悬浮显示+标签显示
<template><div><div id"container" /><div click"showFn">显示</div><div click"removeFn">移除</div></div> </template><script> import AMapLoader from amap/amap-jsapi-load…...
flutter ‘Gradle Libs‘ was added by build file ‘app/build.gradle‘
相关问题解释文章 How to prefer settings.gradle repositories over build.gradle repositoriesMode 解释 问题描述 此问题是,直接创建的flutter项目,需要配置其他的maven仓库地址,和第三方module,结果始终都是无法成功 错误…...
Java中的链式编程风格与应用案例
引言 链式编程是一种在编程中经常使用的风格,它可以使代码更加简洁、易读和易于维护。在Java中,链式编程可以通过方法链的方式来实现。本文将介绍Java中的链式编程风格,并通过几个应用案例来说明其实际应用。 一、链式编程的概念与特点 链式…...
MTK Android P Sensor架构(一)
需求场景: 本来如果只是给传感器写个驱动并提供能读取温湿度数据的节点,是一件比较轻松的事情,但是最近上层应用的同事要求我们按照安卓标准的流程来,这样他们就能通过注册一个服务直接读取传感器事件数据了。这样做的好处就是第…...
低代码开发与传统软件开发:未来趋势与竞争格局
近年来,低代码开发平台的快速发展引起了各行各业的广泛关注。低代码开发平台简化了软件开发的复杂性,提供了更快速、更灵活的开发方式。于是,许多人开始产生一个疑问:未来低代码开发是否会取代传统软件开发?今天这篇文…...
leetcode 股票问题全序列
1 只允许一次交易,121题,买卖股票的最佳时机 class Solution {/*给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票…...
SpringBoot中日志的使用log4j2
SpringBoot中日志的使用log4j2 1、log4j2介绍 Apache Log4j2 是对 Log4j 的升级,它比其前身 Log4j 1.x 提供了重大改进,并提供了 Logback 中可用的许多改 进,同时修复了 Logback 架构中的一些问题,主要有: 异常处理…...
汽车电子新焦点:L1-L3渐进式智能驾驶的技术机遇与实现路径
1. 从“全自动驾驶”的狂热到“渐进式智能”的务实回归最近刚从几个汽车电子圈的重磅展会回来,包括底特律的AutoSens、中国的Tech.AD以及圣克拉拉的嵌入式视觉峰会。一圈跑下来,一个强烈的感受是:行业的风向,真的变了。几年前&…...
开源OpenAI用量查询工具部署指南:实现API成本透明化管理
1. 项目概述与核心价值 最近在折腾OpenAI API的时候,发现一个挺实际的需求:怎么方便地查自己API Key的余额和用量明细?官方Dashboard虽然功能全,但有时候就想快速看一眼,或者团队里几个人共用一个额度池,想…...
GD32F103实战指南:EXTI外部中断配置与按键响应优化
1. EXTI外部中断基础概念与GD32F103特性 外部中断(EXTI)是嵌入式系统中实现实时响应的关键机制。GD32F103作为Cortex-M3内核的国产MCU代表,其EXTI控制器具有20个独立的中断/事件线,支持三种触发方式:上升沿、下降沿以及…...
第20课:OpenClaw|自定义大模型接入与Provider扩展
文章目录20.1 OpenClaw的LLM Provider抽象层设计模型地址(ModelRef)与寻址规则Provider自动发现(Auto-discovery)20.2 接入OpenAI官方API的标准方式官方配置使用环境变量注入API Key检验模型配置是否生效20.3 接入Anthropic Claud…...
从Pico到Pico W:无线模块的加入如何重塑树莓派微控制器生态
1. Pico W的无线革命:从有线到无线的跨越 记得第一次拿到树莓派Pico的时候,我就被它小巧的体积和强大的性能惊艳到了。但每次调试都要拖着USB线,实在有点不方便。直到Pico W的出现,这个问题终于得到了解决。这款搭载英飞凌CYW4343…...
告别硬件:用Keil5逻辑分析仪‘看’GD32F305的GPIO与串口数据
告别硬件:用Keil5逻辑分析仪‘看’GD32F305的GPIO与串口数据 在嵌入式开发中,调试环节往往是最耗时且最具挑战性的部分。传统调试方式依赖示波器、逻辑分析仪等硬件设备,但这些工具价格昂贵且携带不便。对于资源有限的开发者或初学者而言&…...
逆向分析小实验:不写一行代码,用OD破解植物大战僵尸的阳光自动收集
逆向分析小实验:不写一行代码,用OD破解植物大战僵尸的阳光自动收集 阳光洒满草坪,向日葵轻轻摇曳——这是《植物大战僵尸》中最令人安心的画面之一。但你是否想过,那些需要手动点击的阳光背后,隐藏着怎样的游戏逻辑&am…...
Qt实战:用QAbstractTableModel和QTableView打造一个带复选框和下拉框的工业数据表格(附完整源码)
Qt工业级数据表格开发实战:基于模型/视图架构的高级交互实现 在工业自动化软件领域,数据表格作为人机交互的核心组件,承担着参数配置、状态监控和工艺管理等多重职责。传统QTableWidget虽然简单易用,但在处理SMT贴片机这类需要管理…...
Kubernetes部署MeiliSearch:从概念到生产级实践指南
1. 项目概述:当MeiliSearch遇见Kubernetes 如果你正在寻找一个轻量级、高性能的开源搜索引擎,并且你的应用恰好运行在Kubernetes上,那么 meilisearch/meilisearch-kubernetes 这个项目就是你一直在等的“官方说明书”。简单来说,…...
对话记忆与上下文管理:Spring AI 实现多轮会话与持久化存储
系列导读 你现在看到的是《Spring AI 企业级集成与场景实践:从零搭建智能应用》的第 3/10 篇,当前这篇会重点解决:教会读者如何在 Spring AI 中优雅地管理对话上下文,避免重复输入和 Token 浪费。 上一篇回顾:第 2 篇《多模型适配实战:在 Spring AI 中统一管理 OpenAI、…...
