王建花
(南京理工大学 工程训练中心,江苏 南京 210094)
随着物联网技术的广泛应用,涌现出农业物联网、工业互联网、智慧电力、智慧城市[1-5]等形式的应用,各行业对物联网技术人才的需求与日俱增。物联网是一门综合了传感测量、电子、通信、计算机等技术的综合学科,学生需要学习多门技术的理论知识并能实践应用[6-7]。因此如何培养符合行业需求的高素质物联网技术人才成为高校电子类专业教学的重要研究课题。高校物联网工程教学需具备让学生实际操作的物联网环境,但搭建一套完备的物联网实践环境在成本和技术上都有难度。本文从“构建”和“使用”物联网的角度实现了建设低成本物联网教学平台的方案并应用于教学,学生既可在平台上完成物联网项目实践,也可研究如何建设该应用,为学生在物联网学习方面的自由创新提供了充足空间。
当前高校物联网工程教学中存在一些不足:(1)物联网工程教学方法及内容更新速度慢。工程教学内容依赖配套教学设备,设备更新周期较长,教材、课件、教学资料等难以灵活更新。新技术主要以讲解理论知识为主。(2)教学内容不全面、系统。工程实践内容多集中于物联网中几种常用传感器的实验,缺少对无线网络、组网、物联网平台等应用的实践。究其原因,在于多数物联网都需借助复杂的电信级系统才能实现,该系统搭建难度大、成本高,高校实验室无法自主搭建。(3)课程内容不能很好地激发学生兴趣[8]。多数工程实践内容为验证性实验,学生只需按照操作步骤完成实践内容即可,缺少创新开发空间;实践内容不能很好地贴合学生的生活和环境,学生无法代入其中,找不到共情点。
针对当前现状,高校实验室积极思考解决方法。如在经费有限的情况下,部分高校实验室搭建物联网仿真平台[9-11]。但仿真平台的学习缺少实践应用操作中的具象感和真实感,学生无法切实体验物联网实际应用场景,学习效果大打折扣。
物联网工程教学的目标是通过实践让学生掌握物联网知识,为后续从事物联网工作打下坚实基础。在实际社会生产中,物联网工程依赖产品需求,以项目形式实施。企业对物联网人才的需求分为物联网“构建者”和物联网“使用者”两类。为满足对人才的需求,物联网工程教学需构建一个真实,由低成本设备组成的开放式物联网平台,在该平台上能完成物联网的搭建和应用,实现两类人才均可培养的目标。
为满足不同课程和项目的需求,该物联网平台需做深度和广度的开放。实践授课时选择更贴近学生学习生活的案例,以项目的方式推进,使学生能在案例中切身感受主动创造的乐趣,又能学习到完整的项目流程。
南京理工大学工程训练中心以新工科物联网工程教学助力我国产业升级作为指导思想[12],选择STM32 和LoRa 等通用技术和组件构建了低成本物联网平台(简称本平台),并将本中心实验室的安全管理作为实践项目(简称本项目)。通过实践本项目,学生可以针对自己观察到教室或实验室中的安全隐患,提出解决方案,并在本平台实现。
本文采用STM32 单片机和LoRa 技术构建了一个具有低成本、开放式、系统全面、实用、易获得技术支撑等特点的物联网工程教学平台。
物联网由感知层、网络层和应用层组成,可实现物物、物人之间的信息交流[13]。感知层是由各种传感器构成的终端系统,完成物理状态的感知;网络层完成物联网终端和人之间、物联网终端之间的互联,按照网络技术可分为工业现场总线、LoRa、5G、NB-IoT、Cat1 等;应用层完成对物联网应用数据的处理,让人能更好地掌控物联网运行情况。
LoRa 技术是可在868 MHz、915 MHz、433 MHz 等3 个频段实现长距离、大容量、低功耗通信的新型无线通信技术。LoRa 支持可变数据速率,在保持恒定带宽时,能够在传输距离、功耗、稳定性三个参数间进行平衡。对比其他低功率广域网络技术,LoRa 的优点在于轻量低成本、远距离传输、低功耗及抗干扰等[14]。工信部2019 年底发布的《微功率短距离无线电发射设备管理要求》规定了LoRa 设备可在ISM 频段下合理使用,进行建筑楼宇、小区等范围内的组网通信,无需申请管理部门审核。
部署一套简单的LoRa 物联网只需要几个终端和一个网关,成本低至几百元。一般将终端与网关直接连接,构成星型网络,以获得低延迟、简单的网络结构。LoRa 信号对于建筑的穿透能力很强,适合在较复杂的环境下部署。LoRa信号传输距离理论上可超过10 km,在实际应用中,权衡各种因素后一般选择3 ~5 km[15-17]。
本平台是基于STM32 和LoRa 实现的开放式物联网工程教学平台,由终端、网关、阿里云物联网平台、WiFi 路由器及其配件、开发环境等组成。系统框架如图1 所示。
图1 物联网工程教学平台系统框架
本平台所选用的STM32 单片机在嵌入式及物联网领域被广泛应用,集成开发环境成熟,上层应用代码易移植,且可替换STM32 的国产MCU 品牌和型号非常丰富。
在网络接入和组网方面,采用NB-IoT 和Cat1 技术的物联网需使用复杂的电信级4G/5G 移动网络,建设难度大且成本高,大多数高校实验室都很难负担高昂的建设、维护费用。本实验室曾基于树莓派开发了一套5G 物联网教学套件,但本科生在理解网络层时难度较大。故本平台选择低成本、简单易懂的LoRa 技术完成终端和网关之间的通信。
2.3.1 终端
本平台的物联网终端由STM32G070 单片机、LoRa 模块和各类传感器件组成,可完成智能楼宇、智能城市、智慧农业等物联网场景的数据采集。终端单片机具有128 KB FLASH、36 KB RAM、59 个GPIO、4 个USART、2 个I2C、2 个SPI 通信接口等,可以方便接入各种传感器,并具有较好的扩展性。终端集成一个LoRa 模块实现与网关的通信,使用Keil 公司出品的Keil μVision5 软件集成开发环境,可提供C 语言编译环境、STM32 库开发包和调试跟踪功能。
终端软件程序实现与网关的LoRa 通信,接收网关下达的数据采集或查询命令,调用传感器驱动接口进行数据采集或动作执行,收集后传送给网关。
基于终端软硬件框架,学生可加入传感器硬件和软件驱动,将接口提供给软件框架调用完成终端侧的应用扩展。
2.3.2 网关
平台网关由STM32F103 单片机、LoRa 模块和WiFi 模块等组成。网关一方面与多个终端通过LoRa 通信,实现管理和数据交互;另一方面通过WiFi 或4G 模块接入互联网,接收物联网平台下达的操作命令或上传数据。网关选用STM32F103 单片机,提供512 KB FLASH、64 KB RAM、5 个USART、2 个I2C、3 个SPI、外接72 MHz 晶振。网关集成一个LoRa 模块实现与终端LoRa 通信。还集成一个WiFi 模块完成与路由器间的通信。WiFi 模块也可以由LTE 模块或以太网模块替代。网关软件使用Keil μVision5 软件开发。
网关从WiFi 接收并识别物联网平台的命令,再通过LoRa 转交给终端。通过LoRa 从终端接收的数据被网关按物联网平台要求的格式封装后再通过WiFi 上报给物联网平台。
学生在本平台实现物联网应用时,在网关上无需改动代码。如学生想要对网络传输或嵌入式网关进行深入学习或者做科研训练时,可进一步研究网关软件,并丰富平台网关功能、提升网关容量、提升转发速度或将WiFi 换成4G/5G 方式等。
2.3.3 WiFi 路由器及互联网
网关可根据场景使用工业或商业WiFi 路由器接入互联网,实现与物联网平台的连接。
2.3.4 阿里云物联网平台
本平台选用的阿里云物联网平台是阿里巴巴公司提供的集成了设备管理、数据安全通信和消息订阅等功能的一体化物联网应用平台。平台向下支持连接海量设备,采集设备数据上云;向上提供云端API,使用者可通过调用云端API 将命令下发至物联网终端设备,实现远程控制。
本平台使用阿里云物联网平台提供的公共实例平台服务,提供设备管理、规则引擎、监控运维等功能服务。
进入公共实例,在设备管理中创建网关和终端对应的产品和设备对象,并进行信息读取、设置等操作,从互联网侧控制网关和终端。学生使用该系统时,既可在本平台建立的物联网上增加新终端,也可在物联网终端增加新功能。增加新终端需添加新的子设备,关联到网关设备,再编辑功能并发布。增加新功能则只需在终端对应子设备中重新编辑并发布。
应用于物联网开发的物联网平台较多,比如中国移动OneNET、百度天工物联网平台、华为云、涂鸦智能等。学生可选择平台作扩展,修改网关软件适配即可。
2.3.5 本平台使用方法
本平台在设计之初便提供了“使用”和“构建”两种模式。“使用”模式是指学生使用本平台完成多种物联网应用,如监控教室或实验室环境、掌握篮球场使用情况等,使用本平台开发实际物联网项目的流程如图2 所示。而“构建”模式则可供对物联网知识了解较深的学生对本平台的终端、网关、互联传输方案和物联网云平台作进一步的改造和完善。
图2 使用物联网工程教学平台开发项目的流程
图3 执行实验室安全管理项目实物连接图
教学中采用实验室安全管理项目作为使用范例,以项目式教学的方式授课。项目阶段和活动见表1 所列。
表1 实验室安全项目过程表
实验室安全管理项目旨在让学生监控当前实验室的安全隐患和环境参数。安全隐患监控事项包括火灾隐患(通过感知烟雾、温度等环境参数获悉)、物品安全(感知门禁系统、摄像等)、人员安全(感知红外、声音等)以及通风、能耗(感知电灯光照强度、电器使用等)等[18]。教师介绍完项目背景后,再对学生进行LoRa 物联网工程教学培训,要求每组学生在本平台上完成至少一个安全隐患事项监控项目。学生分组后通过分析项目选择监控某一安全隐患事项作为子项目,在该过程中,学生充分发挥自己的主动性进行创新,发现问题后可以咨询教师或者自行查询资料解决。小组对方案初步论证后输出立项报告,明确本组要实现内容的目标和项目计划。平台软件为开放式,学生在了解平台功能后可根据自身能力,在教师的协助下对平台进行额外扩展。
执行阶段学生进一步熟悉平台使用方法、确定解决方案、在终端连接传感器并编写代码、将代码编译后连接网关调试,或在阿里云物联网平台调试。在开发过程中,阶段性对功能进行系统测试,确保实现的正确性。某组学生基于平台实现的光强度和温湿度子项目实物连接如3 所示。某小组执行项目过程中的终端调试打印以及阿里云显示如图4 和图5 所示。
图4 终端串口调试显示的实验室环境数据
图5 阿里云物联网平台显示的实验室环境数据
小组确认实现了立项时的项目目标后,完成报告撰写、成果演示、结项答辩等,并提交结项报告。教师根据成果完成情况进行成绩评定。
本文构建了一个低成本的开放式、系统全面、实用、通用的物联网工程教学平台,为学生的物联网实践创新提供了极大的自由度。提出从“使用者”和“构建者”两个角度研究物联网工程教学,且用学生身处的环境激发学生发挥主动性和创新性来实现项目,成本低且自由度高。通过教学实践探索,充分锻炼了工程训练中心的教师队伍,也让学生从中受益。随着技术的发展,通过更新硬件或软件,可将该平台进一步完善。