伴随着实验室规模的扩大以及开放性实验室的增多,实验室的日常管理工作日益繁重,对实验室的安全提出了更高的要求 。针对这些问题设计并实现基于物联网的实验室信息管理系统,方便管理人员通过网络远程实时查看实验室设备信息、环境信息等,并通过实验室摄像头进行远程视频监控,实现远程控制实验室灯光、空调、电源等的开关 。
可借助系统实现实验设备的自助借还,提高设备管理效率,有效防止借还记录出现错误。
系统整体设计方案
1. 系统架构
系统主要分为感知模块、执行模块、核心板服务器以及客户端,如图 1 所示。感知模块、执行模块、核心板服务器间通过 ZigBee 实现无线通信,核心板服务器通过以太网、WiFi 等接入局域网或 Internet,实现实验室的远程监控与管理。
通过在实验室布置多个无线感知模块,实现对实验室环境的实时监测、实验设备的自助借还,一旦发现异常情况还可自动报警,保证实验室的安全。
管理人员可以通过网络远程登录实验室核心板服务器查看实验室的环境参数及视频监控,也可以通过网络向实验室的执行单元发送命令,远程控制实验室的电源、门窗等相应设备的开关。
2. 模块设计
2.1 感知模块
感知模块的组成如图 2 所示。感知模块 MCU 采用低功耗微处理器 ARM Cortex-M3,感知模块集成了多种传感器,主要包括温湿度传感器、火焰传感器、烟雾传感器、可燃气体传感器、红外热释电传感器、门磁传感器等 ,能够实现对实验室温度、湿度、火焰、烟雾、可燃气体、入侵者、门窗状态、电源开关状态、空调 / 电风扇开关状态等的感知。
另外,感知模块上还集成有 RFID 模块、ZigBee 模块等,可利用 RFID 模块实现对实验设备借还记录的管理,利 用 ZigBee 模块将采集的数据传送到上层核心板服务器。
2.2执行单元
执行单元 MCU 采用低功耗微处理器 ARM Cortex-M3,执行模块集成有 ZigBee 模块、继电器、步进电机、舵机等 ,利用 ZigBee 模块可以接收来自上层核心板服务器传送的控制命令,解析命令之后,通过继电器、步进电机、舵机等控制电源、灯、空调、电风扇、窗帘、门等的开关。执行单元设备控制如图 3 所示。
2.3 核心板服务器
核心板服务器作为平台核心所在,需要进行数据的接收、分析与处理,还需要作为 Web 服务器、视频服务器,因此核心板服务器采用性能较高的 ARM Cortex-A9 微处理器,其上集成有 ZigBee 模块、SD 卡存储器、触摸屏模块、摄像头、网口、GPRS 模块、WiFi 模块、蜂鸣器、LED 灯等,如图 4 所示。
核心板带有触摸屏,管理员可通过触摸屏实时查看和修改各项参数,控制实验室相关设备 ;通过核心板上的摄像头可以实现远程视频监控 ;通过 SD 卡存储器可将采集的数据暂存在核心板服务器上 ;通过 ZigBee 模块可实现核心板服务器与感知模块、执行单元的无线通信 ;通过 GPRS 模块可实现向用户发短信报警等功能,如温度、火焰、可燃气体等数值超出正常范围时,会向管理员发送报警短信。
当感知模块处于布防状态时,若有人闯入实验室,也会向管理员发报警短信,并启动 LED 灯、蜂鸣器等实现本地声光报警 ;通过 WiFi、Ethernet 模块可接入 Internet,管理员可远程监控实验室。
2.4 客户端
用户可通过感知模块上的 RFID 自助借还实验设备。管理员可通过核心板服务器上的触摸屏查看、操控实验室设备,也可远程登录核心板服务器查看实验室参数并控制相关设备。
系统软件开发
系统软件开发包括感知模块、执行单元等终端的软件开发以及核心板服务器的软件开发。
1. 终端模块软件开发
终端软件由 C 语言开发。系统上电后初始化终端设备,如系统定时器、SPI 等,配置系统滴答定时器、中断处理函数等。感知模块软件流程如图 5 所示。系统上电初始化终端各设备后,主程序进行轮询循环,采集环境数据、检测有无刷卡,将数据打包发送给核心板服务器。当外部 RFID 刷卡且其他数据采集正常时,RFID 中断函数同时对 RFID 卡进行数据采集、校验数据有效性等操作,并发送给核心板服务器。
实验室设备自助借还流程如图 6 所示。为每台设备贴一个 RFID 标签,将实验设备信息录入系统数据库,借出时,用户利用一卡通认证成功后,扫描设备上的 RFID 标签即可记录借用信息,设备归还后将自动清除借用记录。借还全程无需人工记录,不仅省时省力,还能最大限度避免出现记录错误。
执行单元软件在系统上电初始化 M3 终端各设备之后,主程序进行轮询循环,查看是否有 ZigBee 接收数据中断产生,当有外部中断时,ZigBee 接收核心板服务器发送的指令,然后解析数据,执行相应的命令,实现设备的远程控制。
2. 核心板服务器软件开发
核心板服务器的功能较多,需要处理的任务较多,所以核心板服务器的软件开发相对复杂,主要包括以下几方面 :
(1)嵌入式 Linux 操作系统的移植。核心板服务器选择源代码开放的嵌入式 Linux 操作系统。
(2)BOA 服务器的移植。管理员可以通过浏览器登录系统,查看实验室环境信息并控制相关设备,所以需要在系统中架设 Web 服务器。BOA 是一种非常小巧的 Web 服务器,且支持 CGI,因此是本系统的不二之选 。
(3)视频服务器的移植。实现远程视频监控需要视频服务器,于是选择 mjpg-streamer 开源软件完成 JPEG 库及mjpg-streamer 的移植 。
(4)数据库的实现。系统采用 SQLite3 数据库。
(5)Qt 模块的实现。核心板服务器带有触摸屏,采用Qt 实现用户界面,移植 qt-everywhere。
(6) 网页编写及 CGI 程序的实现。网页编写采用Dreamweaver,CGI 程序使用 C 语言编写,CGI 程序提供客户端 HTML 页面接口,把网页和 Web 服务器中的执行程序连接起来。通过 CGI 程序将底层采集的环境参数显示在网页上,同时通过点击网页上的按钮来远程控制实验室相应设备 。
(7)多线程应用程序的编写。基于嵌入式 Linux 操作系统进行多线程应用程序的编写 。
由接收请求线程负责接收环境参数或其他请求,激活数据库线程对数据库进行相应处理。如果是环境参数,则对环境参数进行判断、处理,另外也可以向执行单元发出控制命令。
完成嵌入式 Linux 操作系统内核的编译与主应用程序的开发、编译,并制作成根文件系统镜像文件,将它们烧写到核心板服务器,完成核心板服务器软件的开发。
结 语
针对实验室管理的需要,设计并实现了基于物联网的实验室信息管理系统。
系统借助传感器、摄像头、ZigBee 实现对实验室的全面监测,当监测到异常时,系统自动通过实验室的灯光、蜂鸣器报警,并向管理员发送短信 ;通过核心板的 Web 服务器、视频服务器,管理者也可登录核心板服务器查看实验室情况,远程控制实验室相应设备。
系统采用RFID 技术实现了对实验设备、用户的管理以及实验设备的自助借还功能,提高了实验室管理的信息化水平与管理效率。