导航菜单

物联网TinyOS课程教学研究与探索

郭 瑛

(青岛科技大学 信息科学技术学院,山东 青岛 266061)

摘 要:以物联网专业所开设的TinyOS课程为研究对象,提出其教学内容,并对授课方式、学时分配策略、实验设置方案进行研究探讨。

教育期刊网 http://www.jyqkw.com
关键词 :物联网专业;TinyOS课程;教学内容;学时分配

作者简介:郭瑛,女,副教授,研究方向为物联网、传感器网络、计算机控制,guoying@qust.edu.cn。

0 引 言

随着电子、信息、通信等技术的发展,越来越多的高校开设了物联网专业[1]。TinyOS课程是物联网专业特有的课程,是物联网专业课程体系中的重要组成部分。通过该课程的学习,学生应了解TinyOS操作系统的相关概念、内核机制、体系特点及其发展历史;掌握安装TinyOS系统和编译调试的方法、nesC编程语言的语法规范以及系统的运行机制;熟练使用TinyOS操作系统的主要功能模块,并能进行应用开发。

TinyOS是加州大学伯克利分校(UC Berkeley)开发的开放源代码操作系统,专为嵌入式无线传感网络设计,该操作系统采用基于构件(component-based)的架构,其构件包括网络协议、分布式服务器、传感器驱动及数据识别工具[2]。这是一种新型的操作系统,仍处于发展变化中。目前只有很少的高校开设了TinyOS课程,但尚未形成成熟的课程体系,可参考借鉴的经验不多。如何合理设置物联网专业TinyOS课程,是一个值得探讨的问题。

1 教学内容设置

物联网专业TinyOS课程,主要包括传感器网络操作系统概述、开发环境、nesC编程语言、基本操作、系统内核、平台与仿真等内容[3]。这些内容可以分为传感器网络操作系统与开发环境、nesC编程语言与基本操作、系统内核、平台与仿真4部分,其具体内容如图1所示。

1.1 传感器网络操作系统与开发环境

传感器网络操作系统与开发环境部分是本课程的入门引导内容,首先介绍传感器网络和TinyOS操作系统的相关概念,然后讲述TinyOS的开发环境,其重点是TinyOS 2.1在Windows中的安装,这是本课程学习的第一步。

这部分内容包括:①无线传感器网络概述,介绍无线传感器网络的研究进展、体系特征和操作系统;②TinyOS操作系统概述,阐述TinyOS操作系统的设计理念、技术特点和体系结构,并与其他无线传感器网络操作系统进行比较;③TinyOS 2.1在Windows中的安装,讲解并演示其主要步骤,包括搭建Java环境以及安装Cygwin平台、平台交叉编译器、 TinyOS源码与工具包、Graphviz图形工具;④其他安装方法,重点讲述TinyOS在Ubuntu 9.10中的安装、使用RPM包的手动安装、TinyOS 1.x升级到TinyOS 2.x以及使用CVS更新TinyOS 2.x文件;⑤TinyOS安装后的测试,包括TinyOS文件概览、检查运行环境和仿真测试;⑥程序的编译和下载,主要介绍代码编辑工具、编译程序、USB串口驱动和下载程序。

本部分内容以教师讲述为主,其中,TinyOS 2.1在Windows中的安装、安装后的测试以及程序的编译和下载需要与实验相结合,以使学生熟悉TinyOS的开发环境,为后面内容的学习打下基础。

1.2 nesC编程语言与基本操作

为能应用TinyOS操作系统进行开发,nesC编程语言是学生必须熟练掌握的内容。nesC编程语言与基本操作部分是TinyOS课程的重点。这部分内容可以分为两大模块:一个是介绍nesC编程语言,另一个是介绍TinyOS的基本操作。

nesC编程语言模块,以理论讲述和实例讲解为主。包括:①nesC语言规范,介绍一些基本概念,比如接口、组件、模块、配件等,然后介绍基于nesC语言的应用程序—— Blink实例、BlinkSingle实例以及如何移植TinyOS 1.x代码到2.x;②nesC程序运行模型,进一步介绍程序运行的相关内容,主要有任务、内部函数、分阶段作业、同步与异步、原子性代码和无线模块的开启过程;③编程约定,分别介绍通用约定、软件包、语法约定和TinyOS约定4个方面;④可视化组件关系图。

TinyOS的基本操作模块,包含一些基本应用的操作方式,教授过程中要有演示实验辅助。主要介绍:①点对点的无线通信,简述通信接口和组件以及消息缓存抽象,重点讲述通过无线电发送和接收消息;②节点与PC的串口通信,介绍信息源和端口测试、基站和监听工具、MIG消息接口生成工具、SerialForwarder和其他信息源、发送信息包到串口、基于printf库的打印调试以及常见的串口通信故障;③传感,介绍Sense实例和Oscilloscope实例;④存储,包括配置数据的存储、日志数据的存储和大数据块的存储3部分内容。

在这两个模块中,第1个模块是基础内容,第2模块是核心内容,都是授课的重点,也是难点,对每个知识点都需要详细讲解,并辅以实例,使学生掌握相关的编程知识和应用技巧。

1.3 系统内核

通过对TinyOS系统内核的学习,学生可以进一步加深对TinyOS操作系统的理解。这部分以课堂讲述为主,内容较多,教师要引导学生深入理解,并比较与其他操作系统的区别。

主要内容如下:①硬件抽象架构,简介架构的基本含义、不同层次抽象的结合、横向分解、微处理器抽象和HIL抽象级别;②任务和调度,先简介TinyOS 1.x的任务和调度器,再详细介绍TinyOS 2.x的任务和调度器,并讲述调度器的替换和调度器的具体实现;③系统启动顺序,先介绍TinyOS 1.x的启动顺序, 再阐述TinyOS 2.x的启动接口、启动顺序以及系统启动和软件初始化;④资源仲裁,包含资源类型、仲裁方式和共享资源的应用实例;⑤电源管理,主要包括微控制器的电源管理和外围设备的电源管理,对于微控制器的电源管理分别介绍TinyOS 1.x的电源管理、TinyOS 2.x的电源管理,对于外围设备的电源管理重点讲授电源管理模型、显式电源管理和隐式电源管理;⑥串口通信,简介串口通信协议,重点是串口协议栈的实现和抽象;⑦网络协议,包含分发协议和汇聚协议,分发协议包括相关接口、组件和EasyDissemination实例,汇聚协议包括相关接口、组件和实现以及EasyCollection实例。

1.4 平台与仿真

平台与仿真部分的内容与实践联系较为密切,在授课过程中要调动学生的学习热情,并与实验内容穿插结合进行,由此可取得较为满意的教学效果。

这部分主要包含3个方面的内容:①平台,对TinyOS平台进行简单介绍,然后讲述底层I/O口、新平台的建立和CC2430平台的移植;②编译系统,重点讲授自定义编译系统、makefile的概念、编写Makefile文件以及编译工具;③TOSSIM仿真,这是本部分的重点内容,在不具备硬件实验条件的时候,可以采用TOSSIM进行仿真,主要内容有仿真编译、基于Python的仿真、调试语句、网络配置、变量的观察、注入消息包、C++接口、gdb调试等。

这部分的内容设置比较灵活,在有硬件实验条件的学校,可以减少对TOSSIM仿真的介绍,对于有一定研发能力的学生,可以增加对平台开发的介绍,鼓励学生利用现有条件进行新平台的建立和移植。

2 学时设置

物联网专业TinyOS课程的学时设置,要综合考虑学校的硬件条件和学生的具体情况。对于有实验条件的学校,可以将课堂授课与实验穿插进行,每讲授完一部分内容,就安排相应的实验,使学生深入理解理论知识。对于尚无实验条件的学校,可适当增加实例的课堂演示,加深学生对相关概念的理解。

结合课程教学大纲,以32~48学时的设置方式为例,物联网专业TinyOS课程内容安排见表1。

nesC编程语言与基本操作为该课程的主要内容,占15~22学时,这部分包含最基本的编程规则和基本操作,是讲授中的重点与难点。传感器网络操作系统概述与开发环境占6~9学时,系统内核占6~9学时,平台与仿真占5~8学时,这些部分包含基本概念和相关操作,讲授时可与实验相结合进行。

3 实验设置

物联网专业TinyOS课程是一门面向应用的课程,可设置16~32个学时的实验。该实验对硬件的要求不高,只要有若干电脑和支持TinyOS平台的传感器节点即可完成大部分基础性实验[4],多数高校具备实验条件。暂时没有实验条件的高校也可以通过TOSSIM进行仿真实验。

物联网专业TinyOS课程可设置8~10个实验,每个实验2~3个学时,实验内容主要包含:①TinyOS的安装与测试,这是本课程实验学习的第一步,学生通过这个实验初步了解TinyOS,并搭建相应的实验环境,可根据情况选择TinyOS 2.1在Windows中的安装、在Ubuntu 9.10中的安装、使用RPM包的手动安装中的1个或多个;②nesC语言基础,主要有Blink实例和BlinkSingle实例,这是TinyOS课程学习入门的典型案例;③应用开发,这部分的内容较多,主要有点对点的无线通信、节点与PC的串口通信、Sense实例、Oscilloscope实例、数据的存储、RadioCountToLeds实例等;④网络协议,包括两个分发和汇聚协议,即EasyDissemination实例和EasyCollection实例。

如果实验条件允许,且学生对基础性实验完成较好,可以再增加1~2个设计性实验,例如:实现传感器网络的组网和数据传输、传感器网络节点定位系统[5]、小型环境监测系统等,以培养学生的创造能力。

4 结 语

物联网专业是新兴专业,而TinyOS课程也是其他专业没有开设过的新课程,其教学内容、授课方式、学时分配策略和实验设置方案还需要在实践中进一步研究和探索。教师应通过积累教学经验来不断改进和完善,逐步提升物联网专业TinyOS课程的教学水平。

教育期刊网 http://www.jyqkw.com
参考文献:

[1] 王志良, 曾宪武, 王新平.物联网工程专业必修课程的教材建设[J]. 计算机教育, 2012(21): 5-8.

[2] 王汝传, 孙力娟. 无线传感器网络技术及其应用[M]. 北京: 人民邮电出版社, 2011: 130-147.

[3] 潘浩, 董齐芬, 张贵军, 等. 无线传感器网络操作系统TinyOS[M]. 北京: 清华大学出版社, 2011: 1-291.

[4] 青岛东合信息技术有限公司. TinyOS操作系统开发技术及实践[M]. 西安: 电子科技大学出版社, 2014: 178-229.

[5] 李鸥, 张效义, 王晓梅, 等. TinyOS实用编程: 面向无线传感网节点软件开发[M]. 北京: 机械工业出版社, 2012: 185-194.

(编辑:杨 涛)

下载文本