新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 高等院校开放式学生创新实验室的网络化管理系统设计

高等院校开放式学生创新实验室的网络化管理系统设计

作者:曾庆杰 莫长江 许棠 梁启文 龙世瑜时间:2018-05-30来源:电子产品世界收藏
编者按:针对本学院开放实验室的人力管理上的不足,设计了网络化电源控制的开放实验室管理系统。该系统主要通过使用Delphi、UniGUI、SQLSERVER相关技术建立中心机房服务器,同时使用Delphi 10 Seattle开发开放实验室嵌入式安卓网关,实现和读卡模块与Zigbee网络的串口通信,从而控制每一个Zigbee终端的交流接触器动作,最终达到利用学生一卡通实现RFID考勤智能化管理与学生质量跟踪等功能。

作者 曾庆杰 莫长江 许棠 梁启文 龙世瑜 岭南师范学院 信息科学与技术学院(广东 湛江 524048)

本文引用地址:http://www.eepw.com.cn/article/201805/380763.htm

摘要:针对本学院的人力管理上的不足,设计了网络化电源控制的管理系统。该系统主要通过使用Delphi、UniGUI、SQLSERVER相关技术建立中心机房服务器,同时使用Delphi 10 Seattle开发嵌入式,实现和读卡模块与的串口通信,从而控制每一个Zigbee终端的交流接触器动作,最终达到利用学生一卡通实现考勤智能化管理与学生质量跟踪等功能。

1 开放实验室的重要性

  学生作为教学工作的主体,特别是在电子学科的教学实践中,实践与工程创新能力的培养与提高对学生而言尤为重要[1]。传统的实验教学存在着许多的不足之处,如过多的验证性实验,只能在预设的时间段内进行等,虽然普及面广,但不利于提高部分学有余力的学生进行创新性的实验,抑制了这部分学生的创造力。因此,建立开放式学生创新实验室,让学生能在课余时间继续进行实验与科技制作,实现多方共赢。

2 网络化开放实验室的系统设计

  网络化主要是利用电子信息技术和网络技术的结合[2],对电子学科开放实验室学生遴选、考勤、工程实践活动做全程监控跟踪。

  2.1 推进网络化开放实验室的初衷

  传统的开放实验室较常见的局面是提供一个集中的场所,给部分学生进行课外的学习研究,配备一个兼职的老师进行简单的协调管理。这种情况下,会增大实验室的管理难度,并可能存在安全隐患。如果疏忽,容易造成仪器丢失或者用电不规范,也容易造成火灾等险情。同时,也存在对于学生的跟踪培养缺失的问题。一方面,学生的自主学习研究是主要的,另一方面,指导教师的介入不足,不能了解学生各方面的情况,针对性的工作无法得出对策[3]

  2.2 网络化开放实验室的架构与功能

  为了解决以上的几个突出问题,本文设计了一套网络开放实验室管理系统,图1为系统的框架结构图。

  由图1可知,系统分三层:服务器层、中间层和[4]执行层。WEB服务器层通过互联网与交换信息[5],安卓网关层则由协调器发送控制命令给每个座位上的终端控制盒(包含Zigbee路由器、核心控制板与交流接触器等主要部件)去执行通断电动作。

3 服务器层

  逻辑上有WEB服务器、SQLSERVER[6]数据库服务器和DataSnap[7]服务器,但物理上同在一台PC上,该服务器设置在学校的中心机房中,建立SQLSERVER数据库表,用于保存学生与教师的个人信息,而WEB服务器则利用Delphi+UniGUI技术开发,IIS发布。最后使用DataSnap[8]技术,FireDAC数据库通信组件开发服务器中间件与安卓网关通信。

  3.1 SQLSERVER数据库数据结构

  系统采用SQLSERVER数据库服务器,通过建立数据库与数据表实现系统功能。最主要有学生信息表1,座位使用登录表2等。

  系统通过建立包含上述两个核心表与其它更多的关系表,编写存储过程,提供给DELPHI编写的WEB程序调用。

  3.2 Delphi+UniGUI开发WEB服务器程序

  Delphi是一款优秀的可视化编程工具,而UniGUI框架[9]拓展了Delphi的使用范围,可简单地按照传统的桌面程序的思维去实现WEB网站的功能。Delphi结合UniGUI的特性,可开发出效率高、使用友好的开放实验室WEB管理网站。

  WEB服务器管理系统,功能包括:

  (1) 后台设置功能;

  (2) 学生刷卡登录查询功能;

  (3) 学生工程实践材料上传功能;

  (4) 学生报名遴选进入开放实验室功能。

  这些功能通过IIS提供服务,并且可由处于网络中的任何终端计算机进入访问页面,完成上述功能。其中学生登陆查询界面截图如图2所示。

4 安卓网关中间层

  图1中的安卓嵌入式开发板有若干串口,用于连接读卡模块与Zigbee协调器模块。板上的安卓程序则使用Delphi 10 Seattle开发Android APP[10],利用网络连接WEB服务器与数据库服务器,获取学生的信息后,当学生刷校园一卡通时,串口上传数据到安卓开发板,可进行绑定操作,完成绑定后,通过串口发送某座位电源开电信号给Zigbee协调器,通过Zigbee网络把命令送到指定的桌号上的Zigbee路由器,完成对交流接触器的闭合操作,而断电的过程类似。

  4.1 安卓APP串口读写

  Delphi 10 Seattle开发安卓串口,需要利用串口控件“Comport for Android”,执行安装后位于System页,名为TAcomport[11],系统使用控件版本为1.7,安装后如图3所示。

  对串口的操作,以写名为rfidport(TAComport类)串口控件为例(用于读写串口模块),BaudRate、Databits、Stopbits、DeviceName属性对应串口波特率、数据位、停止位、串口号,需与RFID模块上的设置一致方能正常通讯。程序中写串口的核心代码如下:

  Var

  bufOut:array of Byte;

  Begin

  setlength(bufOut,5);

  bufout[0]:=$aa;bufout[1]:=$bb;bufout[2]:=$02;bufout[3]:=$20;bufout[4]:=$22;

  rfidport.ClearInput;

  rfidPort.write(bufout,length(bufout),true);

  End;

  数组bufOut中,$aa、$bb、$02、$20、$22为从RFID模块获取卡地址的命令帧,如果成功,将返回卡的32位物理地址,读取该返回使用“bufin:=rfidport.read”语句,可拆分bufin数组的具体内容获得卡信息。特别注意的是Read方法是阻塞型函数,如果不加定时控制,一旦串口设备没有返回,程序将停止运行,等待到有返回为止。因此,处理这种情况有两种方法:用定时器控制或者使用多线程编程[12]

  在程序部署到安卓开发板后,因为要调用开发板底层硬件串口,还面临一个root权限问题,在系统中,调用“QAndroid.Shell”文件后,加入以下程序段:

  Fshell.Initliaize;

  if FShell.AskForRoot then

  begin

  FShell.Execute('chmod 777 /dev/ttyS3',5000);

  FShell.Execute('chmod 777 /dev/ttyS4',5000);

  end;

  从而取得ttyS3、ttyS4两个串口的读写权限,完成程序初始化启动。

  4.2 安卓网关流程图

  安卓网关流程图如图4所示。

  安卓网关采用了带多串口的Android开发板,其中一个串口与RFID模块通讯,另一个串口与Zigbee协调器通讯,进行对特定实验桌进行通电与断电操作。除此之外,还具备客户端设置实验室功能,另外在网络不通的情况下,对实验桌进行全体开电、全体断电的功能。图5为安卓开发板程序初始化后的主界面。

5 Zigbee网络

  协调器在通电之后,会进行信道扫描,以便查找附近是否还有别的Zigbee网络。如果协调器发现在同一信道中有别的Zigbee网络存在(以PAN ID为判断依据),则改变自身PAN ID后重新进行扫描,组建新的Zigbee网络。协调器的这一特性也注定了在一个网络之中有且只有一个协调器,协调器在组建完成网络之后便和普通的路由器功能一致了。

  而路由器在网络中起着非常关键的作用。Zigbee自组织、自修复、拓扑网络结构等无一不是通过路由来实现的。

  终端节点是Zigbee实现低功耗,它的组网功能和路由是一样的。不同的是终端并不是时刻都处在接收状态的,大部分情况下,它都将处于IDLE或者低功耗休眠模式。它会定时同自己的父节点进行通信,询问是否有发给自己的消息,这个过程被形象地成为“心跳”。

  基于可靠联网的考虑,不采用微功耗,因此没有采用终端节点模块,而是采用了有路由功能Zigbee路由模块,更有利于增强Zigbee自组网网络的鲁棒性。

  设置Zigbee协调器与路由器的PAN ID为同一个数,使得它们在同一个Zigbee网络内,并针对Zigbee路由器安装在不同的实验桌上,对其地址进行相应的编码,以区分不同的客户端。

  每个座位(桌号)都对应一个Zigbee网络执行层,即控制盒终端,由不同地址的Zigbee路由、交流接触器、稳压电源等电路构成,用于接收Zigbee协调器发来的命令,控制交流接触器的通断,达到刷卡开关对应座位电源的目的。Zigbee网络采用如下数据帧进行远程 I/O 控制协议[13]如表3所示。

  其中,目标地址为FFFF,表示所有节点广播,其余特指某一点。

  例如:AA FF FF CC FC 00 00 EA 01 01 FE FE FB 表示将网络内所有设备的P0.1 口设置为高电平,电路图的连接设计如图6所示。

  图6中,线路从KT2接线柱引入到核心控制板(Core Control Board),核心控制板通过控制接触器(KM)的通断,选型为NCH8-20/20,并最终输出到KT1接线柱,完成对座位电源的控制。特别注意,核心控制板的控制线圈输出必须接一个电阻电容并联,用于灭弧,否则,实验过程中会产生核心控制板中Zigbee单片机的死机现象。

  图7为核心控制板的原理图设计。220 V市电从P1接口接入,经过220 V转3.3 V的AC/DC模块后,供电给Zigbee路由器,并制定P1.0为输出引脚,接三极管控制中间继电器,接通或断开外部交流接触器的控制线圈,使系统正常工作。

6 结论

  高等院校开放实验室可通过该系统可进行学生登入和登出时间记录,并衍生出了多项附加实用功能,如可进行学生网上报名[14],遴选进入开放实验室的功能,做到无纸化办公,资料保存完备。还可对学生的培养质量过程进行监控,获得学生的阶段性工程实践成果。

  RFID,Android等网络技术应用日新月异,在各个方面都获得了大量的应用,而结合电子开放实验室,实现网络化电源控制管理,可大大提高学生的学习热情与教师的工作效率,作用比较明显[15]。实践证明,既可把实验技术人员从繁杂的事务中解放出来,又可用有效的现代的方法掌控与管理并规范学生的行为等。可对进行系统的优化升级,惠及更多的实验室、更多的学生,最终达到培养有竞争力的学生的目的。

  参考文献:

  [1]梁烨炜,刘彪杜玉丰.开放实验室资源促进创新能力培养[J].实验技术与管理,2013,30(11) :50-52.

  [2]杨庆凤,顾恒,辛玉红.实验室刷卡式常用仪器智能管理系统研究与设计[J].高校实验室工作研究,2015(01):80-81.

  [3]罗频捷,温荷.开放实验室管理信息系统的开发与实现[J].实验技术与管理, 2015,32(05):157-160.

  [4]彭龑,何展,钟文,等.基于ZigBee的实验室安全监控系统[J].实验室科学,2015,18(01):68-71.

  [5]土屋贵纪.无线射频识别技术RFID在物联网的应用[J].集成电路应用,2015(01):35-37.

  [6]张福峰,刘振名.利用ADODB实现SQLSERVER数据库访问[J].农业网络信息.,2015(09):102-103.

  [7]江帆.使用Datasnap技术开发安卓系统应用程序[J].科技资讯,2013(8)22-22.

  [8]Pawel Glowacki. Unleash the power of Delphi with Delphi Labs – DataSnap [EB/OL]. 2014. http://www.embarcadero.com/cn/rad-in-action/Delphi-labs

  [9]Fmsoft. UniGUI Framework Online documentation [EB/OL]. 2015. http://www.unigui.com/resources/online-documentation

  [10]Embarcadero. Mobile Code Snippets [EB/OL]. 2015. http://docwiki.embarcadero.com/RADStudio/XE5/en/Mobile_Code_Snippets

  [11]Ing.Erik Salaj. Comport for Android Documentation [EB/OL]. 2015. http://www.winsoft.sk/acomport.htm.

  [12]李若重. DELPHI中多线程研究[J].中国新通信.2013,15(04):35-35.

  [13]卓万科技.低功耗Zigbee 无线网络串口透传解决方案 [EB/OL].2015-05-29.

  [14]王军,周亚东.基于RFID技术的针对学生行为分析的研究[J].物联网技术,2015,5(02): 69-70,73.

  [15]徐晓燕,毛由冰,黄磊,等.开放实验室建设的思考[J].齐齐哈尔医学院学报.,2015(03):412-413.

  本文来源于《电子产品世界》2018年第6期第58页,欢迎您写论文时引用,并注明出处。



评论


相关推荐

技术专区

关闭