基于物联网技术人机互动演示实验系统设计*
2018-10-09段凌飞张宏桥
段凌飞,张宏桥,何 益
(湘南学院电子信息与电气工程学院,湖南郴州 423000)
0 引言
受演示实验室实验设备有限、学生覆盖面广、实验项目多、场地小的影响,教师在讲解演示实室的过程中,一个实验项目的讲解需千篇一律反复多次,教学任务负担过重且枯燥,学生数量大导致围观以致教学混乱,教学质量无法保证[1]。而随着信息化技术的广泛运用,智能化教育迎来了新的发展机遇,实验设备通过ZigBee物联网、学生通过互联网相互连接[2],在实验过程中,通过移动设备扫描每台实验设备的二维码实现教学过程的语音视频讲解及设备控制[3],使学生自行学习实验项目的知识。学生可分散自主选择需要学习的实验,减少围观。实验教师从重复讲解变成监督答疑,教学负担得以减缓,教学质量得到提高,且实验室可全天开放,提高实验室利用率和激发学生学习兴趣,为教与学提供趣味化、智能化的互动空间[4]。
1 系统总体设计
系统由基于ZigBee物联网技术的实验室控制系统、远程教学服务器、用户APP(Application)组成,结合现有的校园网络,将数据量大的教学音视频放于专用的教学服务器中。系统总体设计思路如图1所示。可知,实验室开始试验后,ZigBee路由器上电,通过TCP/IP链路经WiFi路由器与教学服务器连接。学生通过移动设备APP扫描实验台上的二维码获取相应实验设备信息,APP将此信息经由WiFi路由器、校园网网关以Web的形式访问远程教学服务器中相应的教学讲解音视频。学生在学习过程中,可根据讲解进度点击Web页面的控制按钮或者滑块,服务器接收到用户响应事件后,通过建立的TCP/IP链路将数据发送到对应实验室的ZigBee路由器,ZigBee路由器将信息处理后发送到每个实验设备对应的ZigBee设备控制器来控制实验设备。用户在听取讲解后控制实验设备运行,更加了解实验现象。
图1 系统总体建设思路
2 实验室控制系统设计
由图1可以看出,实验室控制系统由企业级WiFi路由器、ZigBee转发器、ZigBee设备控制器、学生移动设备(含应用程序APP)组成。ZigBee技术是一种基于IEEE802.15.4的近距离、自组织、短延时、低复杂度、低功耗、低速率、低成本的双向无线通信技术[5],适用于小范围多节点(可轻松达到255节点)通讯。通常由协调器(Coordinator),路由器(Router)及终端节点(End Device)[6]3种节点构成。WiFi优点是速度快,移动设备可直接连接且无需网桥直接接入互联网,缺点在于WiFi用户接入数量受路由器自身节点数量限制,一般家庭级别路由器可接入10-20个用户设备,企业级路由器可大30-40台设备,容量更大的设备成本与建设周期过大。考虑到实验室一般实验人员不会超过40人,且移动设备无需改动硬件可直接连接WiFi,而实验设备台套数一般数以百计,所以系统采用实验人员通过企业级WiFi路由器组网和实验设备通过ZigBee网络组网的多网络结构。
2.1 系统网络结构设计
根据上述,系统采用实验人员通过企业级WiFi路由器组网和实验设备通过ZigBee网络组网的多网络结构。其中设备ZigBee网络采用“主—从”方式控制,星型网数据通讯结构。为了区分相邻实验室的不同网络,使从节点正确连接主中心节点,对ZigBee网络个域网标示PANID(Personal Area Network ID)加以区分[7]。其中设备节点工作于路由器或终端模式,中心节点工作于协调器模式。ZigBee上电后,路由器和终端节点会自动搜索对应PANID协调器连接,在无协调器存在的情况下会自动重试。较远节点在信号强度弱而无法直接连接服务器的情况下,其会自动通过路由器中转连接到协调器。学生用户WiFi网络通过ZigBee转发器与设备连通。其网络结构如图2所示。
图2 系统网络结构
图2 中,ZigBee网络路由器、终端、转发器节点采用德州仪器TI的CC2530F256芯片设计,在无天线功率放大器PA(Power Amplifier)的情况下,其可视通讯距离可达100 m。
2.2 ZigBee转发器设计
ZigBee转发器是设备与用户之间的控制信息和数据通讯枢纽。由于设备的控制信息采用ZigBee通道进行数据传输,而用户采用WiFi网络连接,其间无法直接通讯。为了解决这一问题,通过一个既能连接到用户WiFi网络,同时也能连接到设备ZigBee网络的转发器实现用户与设备之间的连接。用户智能设备连接实验室的WiFi路由器,将控制信息和数据通过WiFi传输给服务器,服务器再将消息转发给转发器,进而由转发器通过ZigBee网络发送给对应的实验设备进行控制。同理,控制设备的状态也可逆过程将信息返回给用户智能设备[8]。转发器的结构图如图3所示。
图3 ZigBee转发器结构图
图3 中,处理器采用STM32F103C8T632位处理器设计,主要对WiFi模块和ZigBee模块进行配置,并且对接受的WiFi数据和ZigBee数据进行解析分类,同时负责将网络和控制信息显示于LCD。WiFi模块则采用ESP8266模块设计,支持标准的IEEE802.11 b/g/n协议,具有完整的TCP/IP协议栈。STM32处理器通过标准串行口,使用AT指令集,可方便设置WIFI模块和进行网络数据交互。处理器配置WiFi模块的工作状态如图4所示。
图4 ESP8266工作状态机
ZigBee转发器上电后由处理器通过AT指令令ESP8266连接固定的WiFi路由器,并且建立同服务器的TCP/IP连接进行身份识别和登录。针对每间不同实验室,WiFi路由器采用独立隐藏的SSID(Service Set Identifier)和密码。转发器一旦开始工作,便自动连接预先存储好的WiFi路由器,待连接成功后,首先通过固定长度公钥访问内网Web服务器并得到固定长度私钥和服务器分配的端口号[9]。ESP8266再通过分配的端口号和IP地址进行TCP/IP连接,在连接后,通过共用ID和密码登陆到服务器。成功后,处理器经由ESP8266即可与服务器进行数据交互,在获取到控制信息后,将控制信息通过串口转发于ZigBee协调器,以便协调器能将数据发送给设备控制端。其Web访问数据与控制数据格式如下:
Web访问:"10.18.131.253?puk=12345678,ID0001",其中10.18.131.253为内网服务器IP,12345786为公钥(可设定),ID0001为此转发器所处的实验室编号,不同实验室此编号不一样。
Web 返 回 : "pik= MG41ILVd,PORT=9988",MG41ILV由服务器集合本地时间和远端ID综合生成的密码。在转发器工作时间内,使用此密码登录TCP/IP服务器,在重登陆超过3次和超过2h后密码失效,需要重新使用公钥获取私密。PORT=9988为端口号,ID为0001的实验室只能从此端口登陆。
图5 TCP/IP数据包编码
登录成功后,服务器将接收到的用户智能设备的操作指令,如:设备的开关、设备的速度设定等消息通过TCP/IP链路将数据发送给转发器,其具体数据格式如图5所示。图中数据包含了帧头、实验室ID、设备编号、控制信息等,所有的数据采用ASCII(American Standard Code for Information Interchange)编码传输。
2.3 ZigBee通讯协议设计
首先对各个实验设备控制器广播控制通讯帧[10],控制器在接收到数据后,首先校验数据是否正确。在正确的情况下,则识别设备编号是否为本控制器,如果是,则根据控制信息控制实验设备,控制方式主要由控制信息的4个字节体现,不同的功能码及参数代表输出不同的硬件控制信息,如图6所示。在控制过程中,ZigBee控制器同时检测被控实验设备是否控制成功,并且把控制结果通过返回控制帧返回于ZigBee转发器,成功返回OK,失败则根据失败调节返回E1-E9代码。
图6 ZigBee转发器与控制器之间的通讯
如果设备编号不为本控制器,或者校验失败,控制器不返回任何数据。ZigBee转发器在规定的时间内未收到控制器的返回信息,则显示发送失败,并且自动重发3次。如果收到控制器返回信息,则显示控制结果。
2.4 ZigBee设备节点控制器设计
ZigBee设备节点控制器采用分块设计,以控制核心板为主控制,可根据需求搭接交直流电源开关模块、模拟量放大模块、模拟输入信息采集模块、开关逻辑输入模块等模块。其控制核心板主要用来接收转发器发来的控制信息,采用德州仪器TI公司CC2530F256芯片设计,结合德州仪器官方提供的ZigBee协议栈进行程序设计,使用自带2组8为通用IO口和外部数字、模拟、开关模块进行硬件扩展。其控制器核心板集成2交直流开关量控制接口、1路PWM/DA直流信号输出接口、1路可变电阻输出接口、1路AD采集接口。能方便的控制设备电源开与关,设备速度、音量等的调节,也可方便采集设备的速度、是否上电成功等信息。控制器内部设计如图7所示,其他辅助控制板使用。
3 移动设备APP的设计
学生移动设备APP主要针对目前较为流行的Android系统开发,采用Java作为开发语言,软件UI使用XML技术设计,通过Android平台提供的WebView组件加载和显示服务器端Web网页以及获取网页上的控制信息[11]。其主要工作流程为:扫描实验室中实验设备二维码(由专用软件生成)获取特定信息,信息包含:所在实验室编号、简单加密的实验室WiFi的SSID和密码、实验设备编号、服务器网址等。如果移动设备未建立WiFi连接或者连接的WiFi的SSID不对,则APP自动查找并连接对应实验室的WiFi。如果用户在APP运行情况下,10min内没有操作,则自动断开实验室WiFi,并且清除此条WiFi列表,保证每间实验室WiFi同时在线人数不会过多,防止网络负载过大。
WiFi连接成功后,APP会通过Web形式访问校内局域网服务器对应实验室设备的网页,用户可通过移动设备听取和观看对应实验设备的讲解,同时可以根据网页上的按键控制实验设备。其实现效果图如图8所示。
图7 ZigBee设备节点控制器原理图
图8 APP实现效果图
4 总结
该系统已经在某高校实验室设备进行转配和使用,在实验过程中,学生自己根据自己的时间、兴趣和设备占用情况对设备进行选择学习,通过APP演示视频、文本信息来探索学习以及动手操作。系统在实验过程中表现出稳定的工作性能和操作便捷性,实验室的使用效率大幅度提升。系统的硬件电路简洁科学、易于升级和维护,可不断升级和改善,为其他专业实验室的升级改建提供参考。