按出版年份查看杂志:

电科专业物联网教学实践平台建设

尹 亮 邵晓红 侯志灵
(北京化工大学数理学院 北京 100029)
摘要:通过对物联网及大数据技术的研究,搭建电科专业物联网教学实践平台,满足电科专业学生在物联网 和大数据领域的实践学习需求。实践平台包括感知层、网络层、应用层以及数据平台。感知层是基于 X 射线荧 光原理的检测探头,数据通过 4G 通信模块进行发送,服务器上的监听程序对数据进行解码并存入数据库,数据 平台对数据进行分析处理并通过 web 展现在页面上。
关键词:Array
栏目:学科探索

  针对北京化工大学电子科学与技术专业学生在物联网 和大数据领域的实践学习需求,结合土壤重金属智慧监测 相关科研项目,研发一套电科专业物联网教学实践平台。

  1 研究内容 教学实践平台由采集设备、通信模块、数据库、检测平 台与相关运维部署平台以及应用展示层五大部分组成。它 的工作流程为:终端检测设备采集到数据信息,通过GPRS 通信模块传输给运行在服务器上的数据库,后端业务代码 对数据进行汇总分析并传递给前端展示层,用户可在浏览 器端打开网站查看相关信息,平台开发管理人员可以通过 相关运营维护工具进行项目的改造和升级。

  1.1 终端检测设备 土壤重金属检测设备装配有基于 X 射线荧光原理的 检测探头。采用基于 STM32 控制的滑台丝杠组系统,用于 控制探头能在检测机箱中按要求移动,保证探头能够检测 到分布在样品托盘各处的土壤样品,实现土壤样品的自动 化检测。 采用基于 4G 数据收发的透明传输通信接口,其相当 于做了一次数据中转,将一切从设备传来的信息不加处理 地发送给云服务器。在 4G 通讯模式下,使用支持以太网 协议的设备进行数据中转,将相关数据上传到指定IP的服 务器上。本文采用 USR-K2 超级网口作为中转器,接收来 自串口的 Chars 字符串数据,执行一系列的解码转换操作 后,根据设定好的 IP 和端口号进行寻址发送。

  1.2 数据监听 数据经通讯设备转发以后,已部署在服务器端的监听 程序此时可以从正在监听的对应端口获取连接请求,并按 照TCP/IP协议进行解码,监听程序对数据执行相应的解算 操作,并转存至 ORACLE 数据库。 监听程序部署在云服务器上运行,以保证能对服务器 端口进行实时监听。一旦监测到设备连接异常,则马上进 行重置机制——清理异常的连接线程并重连,保证设备在 重连时不会被之前发生异常的线程干扰。此外,它还要负 责与土壤重金属检测大数据平台 web 服务程序建立连接,保证其和 Web 服务程序连接出现异常之后也能够执行重 连操作。通过以上设计可以确保连接在遭遇到极端情况下 中断连接之后能够快速恢复,正常运行时各个运行组件是 在维持需求时间内进行持续连接的。

  1.3 土壤重金属检测数据平台

  (1)SSM 框架选择。SSM 即 Spring、SpringMVC、My- Batis 的单词首字母缩写,它们分别代表当下比较主流的三 个技术框架,而SSM通常代表这三个框架的整合,这正适用 于搭建各种大型企业及系统,是 JavaEE 企业级框架之一。[1] 当用户在浏览器内输入相应的网址后,请求到达服务 器后台,Spring 通过辨别请求路径,将请求分发给对用的 Controller 类,Controller 类再进行调用 Service 类来实现对 应的业务逻辑,而在这期间Service类中会调用数据持久层 Mybatis 完成对实体类的数据操作,返回处理结果给 Con- troller,返回Model And View 给视图层,渲染解析完成以后 将结果呈现给用户。

  (2)Web 前端搭建。Ajax 技术的核心是 XML Http Re- quest 对象,其执行流程是:在 XML Http Request 中使用 Ja- vaScript向服务器后台提出请求,即和服务器进行少量数据 交换,获取返回结果后将其提交给客户端的 Ajax 引擎,再 由引擎来决定将这些数据插入到页面的哪个位置。页面在 请求后台数据时不需要整个刷新页面,而是在当前页面内 与后台进行通信,减少了用户在使用 Web 程序时的等待, 这就给用户提供了良好的用户体验。[2] 本文采用 Free Marker 页面担任 MVC 设计模式中的 视图层。Free Marker 是一个适用于 Java 项目的模板引擎 程序,可以实现严格的 MVC 层次分离,同时也能避免传统 JSP页面中嵌入Java代码导致的维护困难和由于代码滥用 导致的不良后果,确保了逻辑层和表现层的相对分离。

  (3)运维部署平台。Swagger 是一个先进的在线接口 API 文档,它常被作为前后端交互的桥梁,并且其配套的 Swagger-ui 界面是一个符合 Restful 风格的可视化 Web 服 务。使用 Swagger 只需要在项目开发中按照规范加入相应 的注解,便能使得项目程序可以和接口文档更新进度相同, 所以,只要按照规范进行开发,那么API将永远和项目保持 同步,使管理一个接口文档变得简单并有效率。本文搭建 Swagger 在线 API 接口文档,学生在使用过程中只需在默 认输入的网址末尾添加/swagger-ui.html 即可进入页面,查 看接口信息,执行接口测试等操作且不会对正式数据造成 影响。

  1.4 项目管理工具

  (1)Maven 私有仓库。平台以 Maven 进行管理,但是 部分特殊功能 Jar 工具包 Maven 中央仓库并不包含,需要 在服务器上手动搭建一个 Nexus 服务器,将所需 Jar 工具 包上传,相当于搭建一个私有的 Maven 库,保证在编译过 程中 Maven 能获取所有 Jar 包。

  (2)Git 私有仓库。Git 是一款开源的分布式版本控制 系统,其特点在于:所有电脑都需要和中央仓库进行联网连 接,一旦中央仓库出现问题,会影响所有使用者。所以对于 分布式版本控制系统来说,当项目文件上传到 Git 中央仓 库以后,每个开发者可以在本地机器上克隆一份完整的Git 仓库,而开发者在自己的机器上可以根据需求创建不同代 码分支和修改代码,这样就避免了集中式系统的牵一发而 动全身的问题。开发者之间在 Git 上的代码冲突可以进行 约定代码提交规范来解决。 为了提高平台安全级别以及便于学生使用,本文未将 项目代码开源到 Github 中,而是选择 Gitblit 作为私有的 Git 服务器,由于它是搭建在私有服务器内的,确保项目不 会被随意篡改,同时它体积小,容易迁移和使用。

  (3)Jenkins 运维部署。运维部署 Jenkins 平台服务器 环境,安装相关插件,经过数次编译构建,仅第一次初始化 构建项目需要进行约半小时的等待,后续只要代码提交后, Jenkins 能在 5 分钟内完成整个项目的编译构建和打包操 作,所用时间控制在合理范围内。 2 项目测试 对实践平台各功能模块进行测试。通过对用户注册/ 登录、土壤采集项的控制和查阅、报警信息的查看和处理、 设备的信息和状态、系统权限的分配、系统运行状态以及对 数据进行图表分析化等功能模块的查看,结果表明平台所 有功能处于正常运行状态,并且有比较快的页面响应速度。 *通讯作者:尹亮 基金项目:中央高校基本科研业务费专项资金资助 “基于空气质量监测、土壤含水量检测科学普及项目开发” (JD2021)

  参考文献

  [1] 荣艳冬.关于Mybatis持久层框架的应用研究[J].信息安全与技术, 2015,6(12):86-88.

  [2] 雷建胜,苏晓,金明磊.一种分布式可持续集成自动化测试平台[J]. 计算机与现代化,2020(04):14-18.

© 2021 《科教导刊》杂志    皖ICP备2020016010号-1      网站技术支持:网易科技有限公司