以学生为中心的弹性开放实验室管理系统

2024-05-15 13:22吴泷彬谢宇飞段晓辉
实验室研究与探索 2024年3期
关键词:器件实验室用户

吴泷彬,谢宇飞,刘 森,李 彪,段晓辉,

(北京大学a.电子学院;b.电子信息科学基础实验中心,北京 100871)

0 引言

随着国内外高校对于电子信息类创新型人才培养,特别是需要不断加强复杂工程能力的培养,在开放式实验室中开展以学生为中心、项目驱动的系统创新、设计和实践课程已成为一种重要的培养方式。在系统设计实践中,学生自主设计、自主采购、自主开发和自主测试的学生自主开发模式日益得到广泛应用,实验室管理如何适应以学生为中心的特点也逐渐被重视。支持学生创新能力培养,提供学生自主开发所需要的高效、弹性和复杂等新型实验室特性已成为开放实验室日益重要的管理要求[1]。

对于电子系统设计类的实验室管理系统不仅需要方便录入和查找器件信息、高效获取设计参考资料以及实验器件的快速领用,同时应当记录使用信息,以便对器件进行回收利用,减少器件浪费,降低开放实验室运行成本[2-3]。传统的器件管理一般采用纸笔进行登记和记录,效率低下。计算机技术使实验室的器件管理进入信息化管理时代[4-6],但仍然存在不足[7-8]。现有支持器件管理的实验室管理信息系统基本可分为两种:①器件信息登记系统。系统可录入器件的信息与数量,使用者可在系统上查询到所需的器件,之后再找管理员领用该器件[9-11]。这种系统构成简单,但在器件实物的领用还需要管理员介入,增加人力负担。②系统不仅登记器件的信息与数量,同时登记相应位置。使用者可在系统上登记并到相应位置直接领用该器件。但一般此类系统需要与硬件系统联动,如元件盒[12]、锁具[13]、RFID[14-15]等。此类系统虽然在实物的领用实现无人化,但需要增加硬件成本。同时由于硬件的限制,器件存储位置需要集中在元件柜或设备柜。上述系统虽然均实现了小型元器件的登记管理,但如果同时实验室还有较大尺寸的器件模块,包括仪器、设备和工具也需要实现管理,则存在不适合或不方便放入存储柜中,同时一般也只在固定地点使用,且登记使用的手续烦琐[16-17]。

因此,提出一种基于手机的便捷式、轻量级弹性开放实验室管理系统。教师或助教可以通过手机,在系统登记器件的信息,包括名称、类别、数量和参考资料等,并采用拍照的方式录入其位置信息。学生则可以通过手机查询器件,并按照位置照片自行找到器件,并进行拍照领用。这样使得器件的存放位置不需要集中和固定,也无须其他硬件成本即可实现管理。系统也可支持仪器和工具的登记、查询、授权、领用和归还管理。系统还将记录学生器件和设备的详细使用信息,以便监督归还和回收。同时,对于自行购买的器件,学生可自行录入相应的器件信息系统。系统同时支持手机签到和签出的实验室出入考勤管理。

1 系统设计

1.1 设计目标

系统设计从开放实验室现状与需求出发,对分散的器件与设备仪器进行统一管理。①对仪器器件的详细信息进行记录,包括名称、类别、位置以及数量等,方便使用者查找。②对于可回收利用的器件以及重复使用的仪器,应当做到监督回收。③系统使用方式应当尽可能简便,减少额外的使用和管理工作量。系统考虑使用手机作为主要的学生客户端和教师管理客户端,后台采用MySQL 数据库和Web 网页服务器来实现,具有方便、高效的特点。同时系统考虑采用拍照的方式进行位置登记和领用登记,直观有效,轻便又无须额外硬件。系统设计还考虑采用动态令牌和动态二维码实现安全管理。

图1 表示了该系统的应用场景。教师、助教和学生通过无线网或移动网,使用手机扫描二维码便可快速访问开放实验室管理系统。在开放实验室管理系统,学生可以查询和使用实验室内的分散的元器件、设备仪器与工具。同时,学生通过扫描实验室门口大屏上的二维码来进行考勤。对于新购买的器件和设备,教师、助教和学生均可以在系统上通过填写和拍照的方式进行入库操作,而对具体的存储位置不做详细要求。

图1 系统使用场景

1.2 系统功能

开放实验室管理系统根据业务需要进行模块化设计。系统包含了4 个模块,即系统管理、考勤管理、使用管理和器件设备管理。具体如图2 所示。

图2 系统功能

系统管理模块处理用户身份相关功能,分为登录注册、普通用户和管理员。模块具有注册、登录、修改用户信息以及身份鉴权功能。管理员可以编辑普通用户的信息。

考勤管理模块处理出入考勤相关功能,分为签到签退与考勤记录。签到签退应当足够便捷方便;同时考勤记录应当可以导出相关记录,便于管理员存储留档。

使用管理模块处理器件设备查询借还相关功能。功能包括器件的查询、使用、归还、报损以及审批。对于需要审批的器件设备,管理员对该次使用记录有审批功能。

器件设备管理模块处理器件设备信息相关功能,包括入库、编辑和智能库存。器件设备的入库在满足对信息的完整录入的同时,操作应当方便快捷。同时应当满足开放实验室的初衷,减少实验室管理人员的介入。智能库存功能实现了对库存的智能清点,进一步减少人员负担。

2 系统实现

2.1 技术选用

为了提高系统的可靠性和易维护性,系统使用浏览器/服务器(B/S,Browser/Server)模式。因为有手机和PC两种显示终端,采用前后端分离技术。前端服务器处理用户交互和数据展示工作,后端服务器负责数据处理以及存储。前后端间使用HTTP 进行通信,各个前端可以共用一套后端接口,简化开发同时解耦功能使得系统便于维护(见图3)。

图3 系统架构

前端使用Vue框架。Vue是一套用于构建用户界面的渐进式框架。与其他大型框架不同的是,Vue 被设计为可以自底向上逐层应用。利用Vue 框架,可以更加快速和便捷得开发前端页面。

后端使用Python 语言。Python 大量的开源组件库方便我们快速开发所需功能。Web 框架采用FastAPI。FastAPI 是一个用于构建API 的现代、快速、高性能的Web框架。

数据库使用MySQL,同时使用Nginx 作为反向代理服务器。MySQL 是一个开源的关系型数据库管理系统,支持大型数据库。Nginx 是一个高性能的HTTP和反向代理Web服务器,具有高并发高可用特点。

2.2 库表结构

表1 展示了用户信息表存储用户的信息,包括用户名、密码和角色等。该表用于维护用户信息、用户登录、用户鉴权等功能。

表1 用户信息表主要字段

表2 展示了器件设备信息表存储器件设备的信息,包括器件设备名、位置和数量等。该表用于录入、查询器件设备信息、维护器件设备数量等功能。

表2 器件设备信息表主要字段

表3 展示了使用记录主表存储使用记录的状态信息,包括用户ID、器件ID和数量等。该表用于维护使用记录状态、记录使用数量等功能。

表3 使用记录主表主要字段

表4 展示了使用记录流水表存储使用记录的操作信息,包括使用记录主表ID、操作类型和数量等。该表用于维护使用记录操作信息、记录使用记录操作数量、存储归还位置等功能。

表4 使用记录流水表主要字段

以上所有表除了主要字段外,还设有如编号ID、创建时间、创建用户、更新时间、更新用户、删除标志位等技术字段,用于条件判断等技术功能。

2.3 服务设计

(1)身份验证。接口是通过HTTP 协议来进行数据交换的,而HTTP 协议的特点是无状态的。因此每次都需要重新验证身份,既耗费了性能,也给留有安全隐患。解决办法有cookie、session以及token等技术方案。我们采用更加方便的token令牌。

如图4 所示,所有用户在登录后,会根据用户名与密码的MD5 值生成唯一的token 令牌,并缓存于内存上。之后的所有请求都要求带上token,服务端会校验并刷新token有效时间。当token无效或失效时,服务端会拒绝服务并返回信息。

图4 令牌token校验

(2)器件设备入库。实验室的器件和设备,一部分由实验室统一安排购买,也有学生在开展自主设计时自行购买,还有学期末学生归还的可复用器件、模块和设备等。因此要求系统可以支持助教或教师管理员入库或普通学生用户自行入库。如图5 所示,用户在入库时,需要输入器件设备基本信息、位置信息以及补充信息。下面简要说明部分主要信息以及其输入方式:①器件设备名。由用户自行输入。②类别。耐用品/消耗品,选择项。③是否审批。选择项。④种类。所属的类别,如电阻、电容、示波器等,提供可选建议项或由用户输入。⑤使用项目。可用于的项目,提供可选建议项或由用户输入。⑥总数。入库的器件总数。⑦简介。器件设备的简单描述。⑧一级位置图片。用户对存储的粗略位置进行拍照,同时在图片上标记出位置。⑨二级位置图片。用户对更详细的位置进行拍照,同时在图片上标记出位置。○10 图片。器件设备本身的图片。○1 文件。可上传器件设备相关的文档,包括使用说明、范例等。

图5 器件设备入库流程

(3)器件设备使用。对器件设备的使用、消耗和审批操作均会留下相应记录以及流水。图6 展示了器件设备使用流程,其使用记录的生命周期如下:①首先由用户的创建动作开始,进入开始状态,开始该次使用记录生命周期。②若选择的器件设备为消耗品,进入消耗结束状态。③若选择的器件设备需要审批,则进入待审批状态。④若审批不通过则进入审批未通过结束状态。⑤若选择的器件设备不需要审批或审批通过则进入待归还状态。⑥在待归还状态时,可以进行多次报损和归还动作,并减少相应待归还数量。⑦待归还数量为0 为后进入结束状态,该次使用记录生命周期结束。

图6 器件设备使用流程

(4)考勤管理。为了实现无纸化,同时满足实际制度要求,考勤的签到签出采用二维码扫码实现。在实验室的大屏上展示签到签出二维码,同时二维码为定时刷新。使用者直接扫描二维码将会弹出签字页,署名后保存即可保存记录。管理员可在系统中选择导出确定时段的考勤记录文档。文档实现自动格式化,保存时间、考勤类别以及签字,以便打印留档。

2.4 页面设计

为了便于使用,系统将同时部署适配PC 与手机的页面。得益于前后端分离的架构,API 无须重新适配。手机页面采用Icon式的设计,符合人们的使用习惯。同时尽可能减少文字输入的操作,改为选择或点击式,方便在手机上进行操作。PC 页面采用侧边菜单。在PC以及手机的页面展示上,对不同角色权限展示相应权限的菜单以及功能,避免越权。

3 系统应用

3.1 应用环境

系统服务器为Ubuntu 20.04.6,测试手机平台为iphone8,测试PC 平台为Windows10。主要的软件组件:Nginx-1.18.0、Vue-2.6.1、Python-3.8.13、FastAPI-0.85.0、MySQL-8.0.33。

3.2 系统展示

学生、助教或教师使用手机扫描实验室签到屏幕中、实验室墙上或元器件柜上的开放实验室二维码,如图7(b)中的便可快速进入系统主页,若处于未登录状态则进入登录页。登录进入手机首页,如图7(a)所示,可以看到轮播图以及Icon 菜单。学生需要签到签退时,手机扫描图7(b)中的签到或签退二维码,便可快速进入签字页。

图7 系统首页

学生在手机首页点击添加器件可以看到需要填写器件信息。填入或选择器件设备名、类别、是否审批、种类、使用项目、总数、简介、价格、购买链接、文档链接等信息,如图8(a)所示。而位置信息是通过拍照后点击器件所在相应位置,便可以快速标注出器件的一二级位置,如图8(b)所示。同时对于上传文件这类不方便于手机页面的操作,用户也可以在手机上先直接保存其他器件信息后,在PC 页面上对该器件信息进行编辑操作时补充上传。

图8 器件设备录入

学生在手机首页点击器件查询,便可以看到器件列表,如图9(a)所示。点击需要的器件后可以看到器件详情,如图9(b)所示。点击使用,选择相应数量就可以使用该器件。同时在使用记录中可以查询到相应记录,如图9(c)所示。对于需要操作的使用记录,点击进入后便可以看到详情并进行相应操作,包括归还、报损、审批等操作,如图9(d)所示。

图9 器件设备领用

用户也可在PC页面上进行器件信息录入或修改补充。管理员在PC登录系统后,可在PC 页面上看到管理界面。管理员可在系统上进行包括修改用户信息、重置用户密码、查询导出考勤记录、修改大屏二维码等管理功能。

4 结语

为了满足以学生为中心的实验教学方式,本文构建一种新式弹性的开放实验室器件管理系统。系统可在脱离硬件系统的条件下,实现对器件设备的信息、位置以及数量等要素的登记录入。同时对存放方式以及物品类别不做要求,可以分散存放以及录入仪器、工具等,也可以由学生自主录入,使得该系统具有更加灵活弹性的使用条件。同时系统记录了使用流水,以便监督器件设备的使用以及回收。系统可以方便地扩展到实现手机对实验室自主出入管理、实验台自主实验管理等。未来系统还可引入人工智能技术,使得拍照即可获得器件信息,更加方便器件的录入,包括基于图片的查询、基于图片的智能库存盘点、ChatGPT人机交互等智能化管理功能。

猜你喜欢
器件实验室用户
电竞实验室
电竞实验室
电竞实验室
电竞实验室
关注用户
关注用户
关注用户
旋涂-蒸镀工艺制备红光量子点器件
面向高速应用的GaN基HEMT器件
如何获取一亿海外用户