徐季旻
(上海交通大学学生创新中心, 上海 200240)
物联网是新一代信息技术的重要组成部分,其英文名称是“Internet of Things(IoT)”。物联网通过广泛部署在具有嵌入式识别、传感或驱动功能的空间分布式设备,从互联网网络基础上延伸、扩展到物理领域相关的各个方面。物联网设想了一个未来,通过适当的信息和通信技术,将数字和物理实体联系起来,使一类全新的应用程序和服务得以实现[1]。物联网的前景非常美好,2009年被正式列为国家新兴战略性产业之一。与物联网相关的芯片、感知、控制、网络、5G、虚拟化等行业也一直在快速地发展,人才需求量大。
物联网技术在机械工程、动力工程、车辆工程等传统工科专业方向有着广泛的应用。可以融入测试、测量和控制各个环节。伴随着新工科的建设,物联网教学特别是面向应用实践的物联网教学,已经逐步成为传统工科专业的共性需求。根据教育部2019年6月发布的数据,全国高等学校共计2956所,而其中开设有物联网工程专业的大学不到400所。即便开设有物联网工程专业的高校,学生与其它专业的学生的交流协作也并不是非常充分。如何做好物联网教学,满足学生的学习需求,并为他们在专业方向的创新助力,是一个值得去尝试的课题。在这里分享上海交通大学面向创新实践的物联网通识课程的建设探索经验,希望能够对兄弟高校物联网相关教学育人的工作有所启发。
自2011年教育部批准的第一批设立“物联网”本科专业的35所高校开始招生,近年来新设立的物联网专业,多是以原通信、计算机、软件学院为基础,学科交叉合并设立的,所以有比较扎实的教学基础[2]。考察西安交通大学、武汉大学、北京科技大学等高校的物联网工程专业培养计划,可以发现基本上都包括计算机组成原理、模拟电子技术、数字电路、信号与系统、通信原理、计算机网络、程序设计、RFID原理与应用、传感器网络、嵌入式系统、程序设计、软件工程等核心课程。课程涵盖基础理论与软硬件,技术涉及众多。适合专业学生打下良好的学科基础;也是一种宽口径、重能力的培养方式。
上海交通大学学生创新中心在双创示范基地建设的过程中,作为一个全校的公共创新实践平台,开设的物联网通识课程没有专业的硬性划分,面向全校所有感兴趣的学生开放。但是仅靠一门课程是不可能覆盖专业教学计划的课程范围,所以课程的设置必须要从物联网专业课程中抽取出核心的要素,要让非专业学生能够短时间内建立起完整的物联网工程的概念。更为重要的是要利用课程有限的课时,让学生能够真正玩转物联网,掌握各个环节的关键性技术,建立起属于自己的小型完整系统。在课程结束以后,同学们根据课堂所学,可以远程实现测试测量,也可以通过网络实现自动化控制;能够根据各自的专业,利用物联网技术给交通、家居、安防、能源、医疗、建筑、制造、农业方向大大小小的场景赋予智能。在这个快速发展与迭代的行业中,与引领行业方向的龙头企业的紧密合作是非常有必要的。物联网通识课程就是与华为公司开展的校企联合课程。学生创新中心持续推动产学合作、协同育人,努力打造产业界与大学的握手区。采用校企联合课程的形式,邀请企业优秀的一线工程师来学校给学生授课,带来业界前沿的技术平台与开发经验。丰富的应用案例可供学生借鉴参考,也能让学生体验到新技术落地的方式。校内老师与企业导师共同协商确定教学内容和范围,发挥各自所长,合理分工。校内老师帮助学生理清基本概念,做好课堂组织与学生的教学管理。企业导师负责搭建实验环境,传授开发方法,指导学生操作。整个课程偏重于实践,理论部分课时占比不超过三分之一。以项目式学习法引导学习过程,鼓励学生积极地获取知识、收集信息、探讨方案,让学生将学到的知识学以致用解决具有现实意义的问题,达到实现面向创新实践的课程目标。
图1 物联网通识课程的教学规划Fig.1 Teaching program for general teaching of Internet of Things
通常的物联网体系架构分为感知层、网络层和应用层[3]。感知层主要完成信息的采集、转换和收集,网络层主要完成信息传递和处理,应用层主要完成数据的管理和数据的处理,并将这些数据与行业应用相结合。即便是专业学院,设计跨越物联网三层体系架构的综合性实验,也面临着众多挑战。感知层有着类型众多的传感器和终端;网络层面临着不同距离、不同功耗的通信方式以及种类繁多的通信协议;应用层缺乏开放的云平台,数据往往汇总到一台上位机,数据收集很难变成数据服务。实践是本类课程的重中之重,实验内容、实验设备和实验平台的遴选尤为重要。华为公司基于“平台+生态”战略推出的华为物联网开发认证体系的实验内容和围绕“云-管-端”协同的新ICT技术架构,针对高校的教学做一些优化,与本门课程的教学目标是相当契合的。
图2 物联网的体系架构与实验平台Fig.2 Architecture and experiment platform of Internet of Things
物联网感知层数据一般通过射频识别或传感器获取,控制功能往往通过数字量或者数模转换,经耦合电路实现。这样的终端一般都是一个嵌入式系统。对于没有数字电路、模拟电路、嵌入式开发基础的学生来说,是一道比较高的门槛。我们选择华为BearPi开发板和LiteOS开源操作系统结合的课程实践方案,最大的优点就是软硬件都是模块化设计,即适合学生快速上手,也能够深度开发。BearPi开发板上的主芯片是STM32L4系列的低功耗高性能ARM内核MCU,是同学们很容易接触到的主流单片机。开发板上实现了最小系统,具备在线下载、调试、仿真的能力,配备了基本的按键和LED,有TFT显示屏,这对初学者很友好;扩展了Flash和SD卡,有足够的容量应对各种现场数据存储。通信模块和传感器通过通信接口和E53传感器接口接入,具有很大的灵活性;还配备了光照、烟雾、温湿度传感器、GPS接收器等,针对一些典型应用场景可以让学生直接去尝试。Huawei LiteOS是华为针对物联网领域推出的轻量级实时操作系统。如果没有操作系统,单片机开发中的时钟配置、寄存器、定时器、中断、串行总线接口等等,都会耗费学生大量的时间,无法专注于功能性开发学习。有了操作系统,底层硬件被屏蔽,只需要少量C语言基础知识,就可以实现硬件初始化,通过创建并行的任务来获取数据,完成所需功能。有大量的示例文件,可以直接把外设模块都驱动起来。大大降低了入门难度,提高了开发效率。有能力的同学可以深入地去实现系统资源的申请、多任务的配合、优先级的调度、任务间的通信等,甚至可以编写自己的API。
对于未来物联网的使用,网络层应该是一个泛在网络。国际电信联盟电信标准局( ITU-T) 认为泛在网络具有以最小的技术限制,能够在任何地点、任何时间,以任何方式为个人和/或设备提供所订购的服务和通信能力[4]。鉴于目前运营商的网络部署以及从教学的角度出发,课程实践方案中网络层的通信方式主要选择NB-IoT与WiFi两种形式。学生们日常遇到的物联网应用(抄表、监测数据、开关量控制、经纬度等)对功耗、覆盖、连接数量这几个指标,非常敏感;而对于速率反而并不敏感。使用LPWAN(Low Power Wide Area Network)低功耗广域网技术是最方便的。如果选择无线局域网通信技术,蓝牙的传输距离短、连接的设备数量有限;ZigBee的自组网形式比较复杂,学生不易掌握。而且无线局域网与公网的数据传输,离不开边缘网关的支撑。NB-IoT作为价格低廉、低功耗、大连接、广覆盖的广域网技术,很适合学生在教室、实验室、宿舍等任何地点开展实验。基于NB-IoT的共享单车智能锁,就是一个很好的案例,有助于学生对技术的理解。如果是对速率有要求的大量数据的传输需求,本课程的实践是通过WiFi模块传输。WiFi路由器已经非常普及,设置简单,针对应用层的数据传输也近乎是一种透传的形式。当然,开发板上通信模块也比较容易替换,也可以尝试2G、4G模块、华为HiLink模块等,未来比较理想的是切换成5G模块。
缺乏专业的应用层平台一直是物联网教学的痛点。汇集的各种端侧数据无处可去,也难以便捷地被访问到;要实现远程的逆向响应更是困难。网上有一些开源的物联网平台,比如Kaa和SiteWhere,但是这些平台的部署已远远超出本类课程的范围。而华为OceanConnect就是一个终端接入解耦、平台与应用分离、安全可靠的物联网链接管理平台,支持有线和无线的接入方式,支持HTTP/S、MQTTS、LWM2M/CoAP原生接入,符合一般物联网终端的接入协议。更为重要的是,一般学生在进行数据传输时,只考虑数据的功能性,对数据的安全性几乎不考虑。通过自定义的数据格式传输,一开始也不太容易让别人搞得清楚字段的含义。但是如果变成一种正式的应用,数据一旦被截获后又毫无安全可言,很快就会被破解。OceanConnect平台在传输信息前先建立TLS/DTLS安全连接,防止数据被窃取和篡改。通过设备接入鉴权、创建传感器鉴权和上报数据鉴权,防止非法设备的越权访问。这些细节代码虽然不用学生去实现,但是传输数据时必须符合相应的规范,能很好地帮助学生建立起网络安全和可靠性意识。设定规则引擎,比如温度高于于26度就打开空调的响应动作,早上8点后作为触发条件关闭走廊的灯。规则可以和设备、应用、告警绑定,当绑定的信息满足条件时,自动化执行响应动作。藉此学生就可以面向终端用户实现完整的控制逻辑。OceanConnect提供一个门户网站服务器,第三方应用APP凭借申请的ID和密码,可以访问开放的API。除了在网站上直接查询设备数据和进行控制,有能力的学生还可以做出自己的移动端APP,增加用户的交互性。
综上所述,华为“端、管、云”的平台、协议、终端技术,是跨越物联网体系结构,适合开展物联网通识教学的实践环境。
自2017年起,上海交通大学学生创新中心已经和华为联合开设了2次物联网校企联合公开课,受到学生的广泛欢迎。每次课程有来自机械与动力、船舶、电子、材料、环境、空天等不同学院多个专业的70多名学生参加,取得了良好的教学效果。说明课程教学内容的设计是符合不同专业学生的物联网学习需求的。物联网公开课程逐步优化后,又转化成基础实践课程的教学模块。基础实践课程是上海交大理工科专业学生都必修的一门课程。传统的基础实践课程以机械制造的内容为主。物联网的教学内容引入后,一方面可以覆盖到更多的学生,真正起到了通识教育的目的;另一方面也为学生拓展了知识面,提升了他们的实践动手能力。今后在他们的专业方向上进行创新的时候,自然会用到课程中学习到的平台和技术,有效提高了他们的开发效率。
其实,学生们的创新动力还是非常强烈的。物联网通识课程并没有选择理论考试作为课程考核内容,而是要求学生3-5人组成一个小组,独立完成一个物联网应用项目的设计并做出作品原型。在课程最后的项目答辩中,学生们的创意和作品完成度,经常超出任课教师和企业工程师的预期。为了鼓励学生持续利用学到的知识和开发技能,让课程作为创新的起点,而不是教学的终点。课程结束后鼓励学生进行“大学生创新实践项目”(简称大创项目)立项,通过大创项目的经费支持,持续让学生进行作品迭代。通过校企联合的形式将项目从校内推向校外,并实行课赛结合。近年来,从课程中走出的学生团队在教育部产学合作协同育人项目中成功立项4项;2018年、2019年有多支学生团队获得“全国大学生物联网设计竞赛”一、二等奖。今后,还要继续培育师资,让校内教师与业界的工程师充分互动、相互促进、共同提高,不断将行业的新技术引入课程,持续提高课程的教学质量。