Chemaid化工实验教学平台研究与设计

2021-04-27 15:08李欣文欣秀丁乐为
物联网技术 2021年4期
关键词:实验报告二维码化工

李欣,文欣秀,程 凯,丁乐为

(1.华东理工大学 化工学院,上海 200237;2.华东理工大学 信息科学与工程学院,上海 200237)

0 引 言

随着信息化技术的飞速发展,高等学校的化工实验教学越来越需要依靠网络技术和计算机技术支持其进一步发展。经过对化工学院师生大量的调研分析,实验教学过程中主要存在以下需求[1-2]:

(1)为了提高对知识的理解程度和减少实验的危险系数,师生希望可以在进入实验室前进行在线虚拟仿真实验[3],而不是仅仅理论学习或者直接进入实验室对化工装置进行操作。

(2)目前,学生主要通过手工计算完成实验报告,计算过程中出现的精度问题会导致实验结果出现较大误差,需要利用计算机进行精密计算,本系统可以基于B/S架构提供接口使用。此外,在化工实验教学中对于图像法的应用要求较高,手绘图像所产生的误差经常会使实验功亏一篑。本系统可以基于数据自动进行计算机绘图,特别是在对数坐标系等特殊坐标系下的精度远超手工绘制。

(3)化工实验题目公式复杂且解题步骤繁琐,在有限的教学时间内教师很难帮助全部学生理解各类题目,学生期望题目有详细的答案和解析,可以随时随地进行复习。

(4)课堂点名、实验资料分发、实验结果收集等耗费教师过多精力,教师希望有一体化管理平台实现教学过程管理。

1 辅助实验教学平台设计

为了解决以上实际问题,研发了基于Django框架[4]、采用MySQL数据库的Chemaid化工实验教学平台。该平台包括实验仿真模拟、实验报告生成、实验过程管理、在线自主学习等功能模块。进一步,为了方便师生随时随地通过浏览器或手机进行访问,同时开通了微信公众平台。系统主要功能模块如图1所示。

图1 系统功能模块

1.1 实验仿真模拟

实验仿真模拟以雷诺实验[5-6]为例。雷诺实验为化工原理课程中的一个基础实验,本实验通过改变水在管内的流速,观察在不同雷诺数下流体流动的形态:流体做层流流动时,其质点做平行于管轴的直线运动;湍流时流体质点在沿管轴流动的同时还做着杂乱无章的随机运动。仿真效果如图2所示。

图2 雷诺实验仿真效果

雷诺实验仿真的3D实验模型主要包括物体模型构建、动画效果构建、事件初始化和WebGL渲染[7]4个步骤,主要使用策略模式进行算法的封装。首先,搭建所需要使用的物体模型,并保留可以复用设置的参数作为函数的形式参数;其次,将构建好的物体模型进行实例化,将物体三维坐标位置与旋转方向角度等设置好,将动画效果绑定到物体实例上;进一步利用TWEEN.js将动画效果进行链式绑定,完善事件逻辑,实现事件初始化;最后,由WebGL进行相关的渲染,在浏览器上显示。

1.2 实验报告生成

实验报告包括对流给热系数的测定实验、流体实验、离心泵、吸收塔等化工常用实验的报告设计及下载。以给热系数的测定实验为例:在工业生产和科学研究中经常采用间壁式换热装置来实现物料的加热或冷却,换热过程通过传热设备中传热元件的固体壁面进行热量交换,传热过程机理十分复杂。

(1)实验原理

为了便于理解,对流给热系数的测定实验以流程图形式描述其实验原理,如图3所示。

图3 对流给热系数测定实验流程

(2)数据存储

结合Word中的域与Python中的docx-mailmerge库,将实验报告中计算得出的数据填入指定的Word表格中,从而实现实验报告自动生成的功能。

(3)动态作图

本实验利用Echarts和最小二乘法[8]、牛顿切线法等算法拟合数据动态绘制出相应的曲线。曲线清晰,读数方便,且提供下载服务以便打印粘贴在实验报告中,避免用户下载、安装拟合曲线相关插件的麻烦。

(4)下载标准实验报告

使用Django的FileResponse进行文件传输。在报告的预置部分是实验内容、实验目的和实验基本原理等规范内容,在实验原始数据和实验计算部分,根据用户的数据计算后填写,最终以实验名+学号的形式提供下载。

1.3 教学过程管理

教学过程管理包括签到、测验等。签到板块主要采用了教师对教学班的学生微信扫码签到或教师端网页点击学生姓名进行签到,简单实用,方便快捷。教师可以通过本系统将学生批量导入,一键开启签到,即可令学生微信绑定网页进行扫码签到,或教师点击学生姓名完成签到。教师在网页端发布签到,学生在微信公众号扫码完成签到,二维码会定时刷新,签到前微信账号需在公众号内绑定学号,以此防止代签行为[9]。用户界面友好方便,在签到环节增加了微信公众号方便使用。

签到算法:以“课程编号(唯一标识)+#+当前时间哈希”作为数据生成二维码,并以课程编号为键存入Django.cache(服务器缓存、键值对形式),对Ajax请求以Base64编码形式将二维码传给前端,网页再使用Base64码显示出二维码。微信端扫描二维码后将数据传给网站,后端提取“#”前的课程编号,寻找以此编号作为键的缓存值,再与微信端传来数据进行比对,若成功,则签到成绩+1,并将“已签到标识”置1。二维码每隔一定时间自动刷新。

1.4 在线自主学习

系统不仅包括基于知识图谱的各类书籍推荐,还收集了化工原理上、化工原理下、考研模拟等经典习题供学生使用,如图4所示。点击化工原理上,在左侧可以进行章节的选择,例如:流体流动、流体输送机械、过滤、颗粒的沉降和流态化等。在自主学习环节,每道题目后面均存在4个按钮,即:答案、隐藏、选择文件、上传。在未完成的状态下,题目相关答案不可以查看。点击选择文件,选择需要上传的作业图片,点击上传。显示已完成,即可查看相关答案。登录教师账号,教师可以查看教学班学生作业完成情况,能够亲自批阅反馈。

图4 在线自主学习

将题目和答案放入数据库中,其中公式以截图的方式存入相应的文件夹用以调用。题目需要先提交才能查看答案,从而保证学习的效率和自主性[10]。同时,每道题目后面增加答案的一键显示与隐藏,方便查阅。

2 结 语

高校化工专业的实验教学是人才培养的重要组成部分[11],通过现代化信息手段减少实验的危险性,提高实验准确性,强化实验过程科学化管理,丰富学生的知识获取途径,有助于培养学生分析解决问题的能力及专业创新实践能力。本文从我校化工学院师生实际需求出发,介绍了基于Django框架的化工实验教学平台的研究与设计过程,平台实现了化工实验的规范化教学,增强了学生的动手能力和知识理解能力,潜移默化中提高了实验教学质量。

猜你喜欢
实验报告二维码化工
《化工管理》征稿简则
《化工管理》征稿简则
一起化工安全事故的警示
二维码
实验报告
数据挖掘算法对于提高实验报告质量的作用探讨
让严肃的二维码呆萌起来
二维码,别想一扫了之
实验报告无纸化管理平台研究初探*
应用化工第43卷(1~12期)目次