应用

技术

物联网世界 >> 解决方案 >> 物联网方案
企业注册个人注册登录

物联网工程专业课程体系与实践探讨

  引言

  物联网(Internet of Things,IOT) 是指通过射频识别(RFID)、传感器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物体与互联网连接起来,进行信息交换和通信,以实现智能化识别、定位、跟踪、监控和管理的一种网络。物联网概念的引入,把互联网的应用延伸和扩展到了任何物体与物体之间,进行信息交换和通信。物联网是继计算机互联网与移动通信网络之后的又一次信息产业革命。

  物联网概念是1999年由麻省理工学院自动标识中心(MIT AutoID Center)提出的。2005年,国际电信联盟(ITU)发布了一份题为《The Internet of Things》的年度报告,正式将“物联网”命名为“the Internet of Things”。2009年8月,温家宝总理考察中科院无锡高新微纳传感网工程技术研发中心,明确要求尽快建立中国的传感信息中心,也就是“感知中国”中心。笔者从微控制器应用到ARM&Linux嵌入式系统,又回归到微控制器的研究教学,亲历近30年国内嵌入式应用的发展历程。下面就物联网工程专业、物联网课程体系和物联网实践3方面介绍国内现阶段的情况,望和大家一起探讨。

  1 物联网工程专业

  在教育部首批战略性新兴产业相关本科新专业中,物联网相关专业就有700多所学校申报,最终28家IOT、5家WSN获批,共33所高校。其中70%设在计算机学院。在2011年3月28日又批了第二批27所高校的物联网专业,这样全国现共有62所高校开设物联网专业。

  物联网工程是交叉学科,是多个学科的融合,即计算机科学与技术、信息与通信工程、微电子学科、检测与自动化和仪器科学与技术。物联网工程是复合专业,涉及控制理论与控制工程、微电子检测、通信工程和计算机与信息专业,对应物联网的控制、感知、传输和信息处理技术。

  物联网网络架构由感知层、网络层、应用层组成。计算机学院在物联网技术的网络层和应用层领域具有很好的研究基础,而感知层更多依赖的是软硬件结合的嵌入式系统技术。物联网的传感器接口、RFID读写都涉及嵌入式技术,但实际上新技术含量很少,可看作是一个新袋子。

  物联网主要涵盖RFID(>5.5)、无线传感器网络(>8.5)、M2M智能手机(<4.5)等技术领域。其中括号里表达的是难度系数,可以看出无线传感器网络是最难的。

  2 物联网课程体系

  2.1 课程体系考虑因素

  物联网工程专业主要在计算机学院,但物联网工程专业只是本科专业,要考虑学生的毕业出口问题。现大部分本科生都选择考研,而计算机专业属于全国统考,其专业基础综合考试涵盖数据结构、计算机组成原理、操作系统和计算机网络等学科专业基础课程。这些课程中的数据结构离不开C语言程序设计,计算机组成原理又有计算机体系结构的内容,实际涉及6门课,这6门课动了就会影响学生考研。综合考虑,最好还是在原来计算机专业课的基础上进行增加和替换,而不完全是要做出一个新的课程体系。

  已出版的物联网工程书籍,有的涵盖深奥的算法或涉及多个专业的内容,硕士和博士研究生都未必能看懂。教学的目的应是授之以渔,而不是授之以鱼,广而全反而会把初学的学生吓跑,关键是培养学生兴趣。从应用角度出发,实际上很多硬件都是以模块形式出现,如RF读卡器模块和传感器模块,不用了解里面的工作原理就能做应用设计。物联网工程专业是我国现阶段的国家需要,为国家培养后备人才。嵌入式系统推广这么多年,教育部也没有批为专业。实际上物联网的难点还是在嵌入式系统方面,而嵌入式方向要以实践为主,不会动手,怎么能应付软硬件结合的嵌入式系统应用?

  大学里重要的是教会学习的方法,在各专业的主干课程基础上,在物联网方面有所加强即可。

  2.2 计算机学院物联网专业课程

  物联网专业核心课程按软件和硬件分为:硬件方面的电子电路基础、物联网硬件基础、计算机网络和无线传感网,软件方面的程序设计基础、操作系统系统编程、数据库和数据挖掘。

  下面的课程是笔者所在学院一个对嵌入式方向感兴趣的学生所学课程的基础上加了几门物联网专业必需的课,用黑体加重给出,要加其他的课就需要替换现有的课。一个学生要求的学分是固定的,学太多课没有太多的意义,关键是引导他们进行工程实践。这个学生毕设采用32位微控制器完成了传感器数据采集、无线传感网协议栈的移植,将采集数据通过串口和USB口传送给微机。由此看来,该学生所学的知识可以应对物联网应用项目开发。

  专业基础课:物联网技术导论、计算机科学导论、程序设计基础(C语言)、离散数学、数字电子技术基础、电路分析基础、模拟电子技术基础、数值分析。

  专业必修课:无线传感器网络、数据结构与算法设计、面向对象程序设计、计算理论与算法分析设计、数据库原理与设计、计算机组成原理、汇编语言程序设计、操作系统、编译原理与设计、软件工程基础、计算机体系结构、计算机网络、微机接口技术、信号与系统、自动控制原理。

  专业选修课:微控制器接口技术、计算机图形学、人工智能基础、嵌入式系统、多媒体技术、网络信息安全、软件体系结构、分布式计算原理与应用、Web软件技术、硬件描述语言与计算机硬件模块设计。

  专业实践课:数字电子技术实验、模拟电子技术实验、操作系统课程设计、程序设计方法与实践、Web开发基础、软件基础实习、数据库系统开发、汇编与接口课程设计、计算机组成原理硬件实验、软件工程综合训练、Visual C++数据通信编程实践。

  学院的老师还打算开设微电子与传感器技术、无线自组网理论及应用、无线网络技术及应用、普适计算、服务计算与云计算、异构网络互联技术、传感器网数据融合技术、物联网信息处理技术和海量信息处理。

  2.3 专业及特色课程

  按物联网层次:

  ① 感知层——射频识别技术、传感器技术基础、嵌入式系统接口技术。最好在电路分析基础、模拟电子技术基础、数字电子技术基础等课程基础上开设。

  ② 网络层——计算机网络、无线传感器网络、通信原理。

  其他基本上是应用层的课,可多可少,看学校偏重哪方面应用。专业入门课物联网技术导论是必需的,而想开设物联网技术与应用或物联网原理与应用这样广而全的课,在有限的学时内是不太现实的。

  其他学校、学院不同于计算机学院的专业课及特色课有:密码学基础、信号处理基础、图像处理技术、射频识别技术、传感器技术基础、Linux操作系统编程、Android操作系统编程、无线传感网与自组织网络、电子商务、数据挖掘、移动通信、传感器与检测技术、Web系统开发与集成、下一代互联网、模式识别、网络管理、物流管理概论、智能交通概论和环境工程概论。

  3 物联网实践

  3.1 实验设备

  物联网实践可以采用实验套件、开发板等,对于电子爱好者很实用。但是,对高校来说还是实验箱比较实用,便于管理和保存。笔者曾跟实验箱设计公司探讨实验箱的核心板插电可以独立工作,这样学生入门时可以拿回去自己学习做部分内容,而实验箱主板上的丰富外设是为了完成综合实验和系统实验的需要,实验验收时再到实验室来。

  物联网实验箱中主要的还是无线传感器网络部分。实际有微控制器就够了,现在的微控制器集成网口和USB口的很多,采集的数据很容易就传送给微机。而现在有的实验箱厂商就是把原来的嵌入式系统实验箱加上无线传感网络部分,号称带嵌入式操作系统的微处理器板子是网关,无形中增加了实验箱的价格。涉及多种体系结构的处理器,带操作系统,也增加了教学的难度。

  无线传感网络部分主要涉及网络协议栈,然而工程实际应用的技术并不一定适用于教学。有的网络协议栈完全固化在无线传感网络模块中,甚至都不知道模块用的是何种芯片。若学校侧重工程应用,可以选择固化协议栈教学方案。要做无线传感网络教学,又是研究型大学,当然希望网络协议栈开放源码。下面介绍固化和开源两类常用协议栈。

  3.2 固化协议栈

  (1) XBee系列

  美国DIGI公司的ZigBee模块XBee,是一种远距离低功耗的数据透传模块,包含2.4 GHz、900 MHz和868 MHz 3种频段,同时可兼容IEEE 802.15.4相关协议。每个模块都可以作为路由节点、协调器以及终端节点,可组建无线mesh网络。XBee模块是内置协议栈,包含AP和ATI两种配置命令,可通过XCTU以及ZigBee Operator这两款软件进行调试。模块可以通过普通串口(UART)与其他设备进行连接,通过控制命令来进行控制。

  (2) Jennic系列

  JN5121无线模块是英国Jennic公司(现被NXP公司收购)的第一款ZigBee模块(后续包括JN5139、JN5148等)。JN5121也是第一款真正意义上兼容于IEEE 802.15.4的低功耗、低成本无线模块。该模块内置一款32位的RISC处理器,配置有2.4 GHz频段的IEEE 802.15.4标准的无线收发器,64 KB的ROM,96 KB的RAM,21路GPIO.JN5121内置的ROM存储器,集成了点对点通信与网状网通信的完整协议栈。

  (3) SNAP系列

  SNAP网络是由CEL公司与Synapse Wireless公司合作开发的面向无线传感网应用的无线mesh协议。SNAP为复杂的ZigBee网络提供一个简单、可靠、智能的完整组网方案,同时,因为使用“对等网络”概念,功耗优化明显,冗余性能优异。SNAP具有很多特点,包括无组网过程、无需预先构架网络拓扑、对等网络、布网简单、内置Python虚拟机、编程以脚本方式编程、空中升级以及可在运行时调用所有功能等。

  (4) Ember系列

  Ember公司创立于2001年,其开发技术源自麻省理工学院。Ember公司在无线传感网领域推出的具有代表性的EM250是单片解决方案,它集成了2.4 GHz、兼容IEEE 802.15.4的收发器以及一个16位XAP2b微处理器,同时还集成包括闪存和SRAM存储器与基于ZigBee应用的外设。EmberNet栈在系统模式下运行时可以连通到芯片的任意区域;在应用模式下,应用代码连通到EM250设备的通路则相对受限。

  (5) STM32W系列

  意法半导体(ST)公司于2009年底推出的STM32W系列无线传感网射频集成单片机,采用32位ARM CortexM3内核,片上整合2.4 GHz IEEE 802.15.4收发器和低功耗MAC、AES128硬件加密引擎,STM32W108内置128 KB Flash和8 KB SRAM,具有高性能、低功耗的特点。STM32W108CBU61芯片固化了由Ember公司提供的、经过ZigBee Alliance认证的ZigBee2007 Pro协议栈,具有优异的性能和良好的兼容性,可以和其他经过ZigBee Alliance认证的第三方产品互联互通。

  3.3 开源协议栈

  (1) XBOW及TinyOS

  Crossbow(简称XBOW,现被新美半导体收购)技术来源于UC Berkeley相关团队,而后者是无线传感器网络领域的开拓者和引领者,共同推出的TinyOS是传感网领域研究者使用最多的平台,其硬件节点包括MICA、MICA2、MICAZ等,也是国际上最流行的硬件平台,是研究者和学习者理想的实验环境。MICAz产品能够工作在全球2.4 GHz ISM波段上,且支持IEEE 802.15.4微型无线测量系统和 ZigBee协议标准,可以直接使用XBOW提供的成熟xmesh协议栈,搭建自己的传感器网络。它可以说是做得最正统的传感器网络,基于TinyOS、nesC开发。

  (2) ZStack协议栈

  ZStack协议栈是由Chipcon公司(后被TI公司收购)开发的较全面支持ZigBee协议的开源协议栈,也是业界广泛使用的离产品化较近的协议栈。ZStack协议栈支持的芯片包括TI公司的8位MCU CC2530/CC2430、16位MCU MSP430、32位MCU LM3S9B96,Atmel公司的AVR系列MCU,Microchip公司的PIC系列MCU以及Freescale公司的MC1319x等。

  TI公司最新提供的32位微控制器LM3S9B96+CC2520做协调器节点,配8位8051核CC2530传感器采集节点的无线传感器网络套件是较理想的教学平台。LM3S9B96片内有串口、网口、USB口,与主机通信也可用USB虚拟串口实现,根本不需要什么嵌入式网关。

  我们与TI公司成立了“北京理工大学—美国德州仪器物联网技术联合实验室”,TI公司提供了原厂32位MCU和8位MCU评估套件。我们期待国内公司能够生产出这种方案的实验箱。8051内核的CC2530到ARM CortexM3内核的LM3S9B96都是MCU,这样的实验方案学生更容易接受,跨度不大。TI原厂方案已评估,用在物联网竞赛上,设计了“智能泊车引导系统”。在本刊发表论文“LM3S9B96与CC2520平台上的ZigBee无线组网技术及应用”。

  另外,我们还得到TI公司大学计划支持,为推广TI公司32位微控制器,编写了《ARM Cortex核TI微控制器教程》一书。其中“物联网数据采集与传输”这一章,专门针对物联网技术涉及的温湿度、光照度、加速度传感器和RFID,给出采集程序。还包括ZigBee点对点通信和32位网络协调器节点设计内容。

  ZStack协议栈上层网络部分源码开放,但和硬件相关的关键部分是封装好的,未开放,没有厂家的支持是没办法移植协议栈的。笔者的研究生曾开题设计32位微控制器的协调器节点,在移植协议栈时碰到了无法解决的问题,后转到完全开源的MsstatePAN.

  (3) MsstatePAN协议栈

  源代码完全开放的MsstatePAN协议栈,是由密西西比州立大学的Robert Reese教授在参考Microchip ZigBee Stack的基础上自己编写的。该协议栈支持硬件平台CC2430、PIC18C4620+CC2420和MSP430+CC2420.国内一些研究机构也在此精简协议栈上进行扩充,实现了一些其原本不具备的功能。

  我们利用TI公司收购的LM3S系列微控制器设计ZigBee硬件节点,实现了该平台节点间的点对点通信,掌握了LM3S系列微控制器对射频模块CC2420的操作。在本刊发表论文“LM3S1138与CC2420的无线传感器网络通信”。最终,我们成功将MsstatePAN协议栈移植到了LM3S系列微控制器结合CC2420无线模块的硬件平台上,与TI公司第三方合作设计了物联网教学实验平台。

  物联网教学实验平台主要由LM3S811、LM3S9B96和CC2420无线传输模块构成,支持LM3S811与LM3S9B96的硬件实验及ZigBee组网实验。该平台还可与CC2430终端节点一起组网。ZigBee组网实验部分,根据需要可配置成星状或树状网通信。同时,为直观获知当前的组网状况,针对此实验平台专门编写相应的PC机监控软件,能实时动态监控网络组网状态及数据。该ZigBee网络平台可实现温湿度、湿敏电阻、可燃气体浓度、烟雾浓度、二氧化碳浓度、光照度、热释电人体红外测温、红外线防盗信号、加速度、氧气浓度等一系列传感器的数据采集及无线传输。

  (4) GOS协议栈

  GOS是中国科学院推出的基于C语言的无线传感网低功耗协议栈(目前该平台由深联科技进行维护),其突出特点是完全使用C语言开发,简单高效,具有很好的健壮性,适合于很多工控及其他行业领域应用。目前GOS主要支持的硬件包括ATmega128、MSP430+CC1000或CC2420,或者其他支持相关指令集的处理器,以及具有一定开放接口的射频芯片。

  (5) ZigBee 精简协议栈

  美国密西西比州立大学的Robert Reese 教授出于教学、科研目的开发出一套精简版(subset) ZigBee 协议栈。该精简协议栈实现了ZigBee协议的主要功能。国内一些研究机构在此精简协议上进行扩充, 实现了一些其原本不具备的功能。

  3.4 RFID读卡器

  在嵌入式系统联谊会交流过程中,知晓一种RFID读卡器模块,可读校园一卡通和身份证的ID码,当然余额和身份证信息是不允许读的。但仅根据每个卡的唯一ID码,也可以设计很多应用。我们设计了“基于校园一卡通的考勤管理系统”,弥补学生考勤管理的缺陷。一卡通作为学生在校身份证明及日常消费卡,每个学生都有,不用再买其他卡,可用其设计很好的物联网教学案例。

  结语

  本文是笔者近一年多来学习物联网、参加各种会议的总结。由于个人的知识面有限,考虑问题可能片面,望和国内业界同仁共同探讨国内的物联网教学,为物联网应用推广尽自己的微薄之力。物联网工程专业不是以理论为主导,重点是在工程应用。教学应该由应用来驱动,时刻做好准备,不断调整教学内容。因很难有适合所有学校的通用课程体系,课程设置及内容应重在特色。