基于开源硬件的嵌入式专业的教学改革

2017-01-28 08:48朱其慎查英华
中国教育信息化 2017年18期
关键词:开源嵌入式创客

朱其慎,查英华

(南京工业职业技术学院 计算机与软件学院,江苏 南京210023)

基于开源硬件的嵌入式专业的教学改革

朱其慎,查英华

(南京工业职业技术学院 计算机与软件学院,江苏 南京210023)

针对嵌入式专业融合计算机、电子、自动控制等多学科,高职院校的嵌入式专业课程教学内容难度大、实验复杂性高、难以培养学生动手实践能力和工程思维的问题,结合高职学生的认知水平,将开源硬件引入嵌入式专业的专业课程教学。本文分析了Arduino、RaspberryPi等开源硬件的特点和优势,从教学内容、嵌入式实验室建设和创客教育等方面进行了教学实践,探讨以开源硬件平台为载体进行嵌入式专业课程教学的可行性。

开源硬件;嵌入式专业;教学改革;Arduino;Raspberry Pi

一、引言

自从2015年7月国务院印发《国务院关于积极推进“互联网+”行动的指导意见》[1],“互联网+”概念提出以来,经过近两年的探索和发酵,“互联网+”加速了传统行业的转型升级,传统制造企业和硬件设备企业的智能化与互联网已深度融合。嵌入式专业广泛应用于工业控制、智能手机、可穿戴设备、Android嵌入式开发和无人机等领域,使得企业对嵌入式专业的人才需求重新升温,增长迅速;同时硬件的高度集成、模块化对嵌入式人才的要求也随即提升,但高职院校的嵌入式专业的人才培养却相对滞后,无法满足信息2.0时代对嵌入式人才的需求。高职的嵌入式专业属于计算机、电子、自动控制等多专业的交叉学科,课程内容包括底层硬件、软件以及应用程序的开发,专业课程的实践教学因硬件复杂性高、学习难度大,大多以验证性实验为主,很难满足企业对硬件设计人才的技术要求[2]。

为了提高高职院校的嵌入式人才的培养质量以适应当今传统行业的智能化转型,必须对嵌入式专业的课程内容更新优化,引入新型的集成芯片和模块化硬件设计等内容,增加微电子学、自动控制和计算机等多学科交叉的知识内容,提高课程的实践性,这势必使得课程的教学难度进一步加大。高职院校的嵌入式专业学生的编程能力较强,但是电子、机械等硬件知识相对较差,解决两者之间的矛盾成为高职院校嵌入式专业人才培养亟待解决的问题。

借助于开源软件的发展思路,近几年开源硬件开始受到嵌入式工程师、电子发烧友和创客等青睐和追捧[3]。Arduino作为最典型的开源硬件[4],不仅提供交互良好的集成开发环境,也无需掌握单片机的底层设计和编码,利用其提供的简单函数即可实现功能,可以大大降低硬件知识薄弱的嵌入式专业学生的学习难度,并能满足当今硬件集成化、模块化的设计要求。本文在深入了解开源硬件的优势基础上,探讨开源硬件应用于嵌入式专业的教学改革的可行性。

二、嵌入式专业教学存在的问题

1.教学内容难度大

高职院校的嵌入式专业一般在计算机院系开设,此专业是融合计算机、电子、自动控制等多专业的交叉学科,学生不仅需要学习计算机、电路电气、自动控制等专业知识,还需要将这些知识融会贯通加以应用。高职学生的基础薄弱,学习的主动性不足,计算机专业的高职学生面对相对较为深奥的电路、自控类知识,很容易知难而退,难以培养他们的专业技能和创新能力。目前,高职院校的嵌入式专业课程从《C语言程序设计》、《嵌入式系统设计》、《单片机与接口技术》、《ARM体系架构》再到《嵌入式Linux开发》,教学内容相对偏难,高职学生很难在有限的学时内消化大量的知识,往往半途而废。

2.教学方法变革小

嵌入式专业的专业课程实践性很强,目前的教学方法多半是在完成理论教学的基础上,进行少量的验证性实验,学生实际动手组装调试的实验相对较少,很难完全理解学习内容,这种传统的教学方法已完全不能适应高职教育的要求。近几年开展的嵌入式专业的省级、国家级技能大赛,大大促进了嵌入式专业教学方法的改进,通过大赛提高了学生专业学习和动手实践的兴趣,并加快了专业教学内容的更新升级,使理论实践教学有效融合。但竞赛的作用依旧不能跟上行业发展的步伐,智能硬件的飞速发展对嵌入式专业的教学内容和方法都提出了更高的要求。

三、开源硬件的优势

1.开源硬件简介

开源硬件(OpenSourceHardware)的概念源于开源软件的许可方式,由开源运动发起人之一Bruce Perens在1997年首次发起的“开源硬件认证计划”正式确立[5]。开源硬件是指采用与开源软件相同方式设计的计算机和电子硬件,硬件设计会公布电路原理图、材料清单,设计图以及软件开发工具包等详细信息[5]。

随着FPGA、SoC设计的发展和嵌入式系统在各个行业的快速扩张,以及Google、Intel、Facebook等知名IT企业的推动,开源硬件的生产成本大大降低,各大企业都纷纷设立开源硬件平台项目,代表性的开源硬件开发平台包括:Arduino、树莓派基金会的RaspberryPi、德州仪器的BeagleBone等,其中:Arduino体积小、价格低廉、良好的易用性和扩展性、活跃的技术社区、大量的示例项目和教程,是初学者进行设计、开发实现创意的入门级平台工具,最适合硬件基础弱的高职学生。

2.Arduino的特点和优势

Arduino是目前最受初学者欢迎的一款开源硬件开发平台,秉承共享创意许可的开放源码理念,由MassimoBanzi、DavidCuartielles等人在2005年联合设计完成[6]。Arduino的硬件包括Arduino官方板、硬件驱动、传感器扩展板,软件开发使用类似Java、C语言的ArduinoIDE,更有Scratch等图形化开发软件,进一步降低了嵌入式开发的难度。

Arduino使用Atmel AVR单片机,尽管处理能力相对较弱,但它的优势更为明显,包括:

(1)价格便宜,淘宝网的售价基本都在几十元,加上常用传感器、电机、二极管和电阻等的入门级开发套件也就一百多元,对于初学者和学校的实验元器件投入都不是很大,完全能承受。

(2)入门容易,Arduino作为目前最易上手、入门级的开源硬件开发平台,提供的ArduinoIDE开发工具包对硬件底层的操作进行了封装,屏蔽了单片机的硬件编程细节,大大降低了学习难度,是高职学生作为初学者学习嵌入式最好的平台。

(3)可扩展性好,Arduino提供了丰富的I/O接口,通过扩展板和自带的I/O接口可以与键盘、鼠标、常用传感器、电机、显示屏、蓝牙、WiFi等模块连接,实现功能扩展。

(4)学习资料丰富、产业生态圈完整,Arduino的开源的第三方扩展函数库众多,不仅有丰富的教程和文档,技术社区也非常活跃,初学者既能很容易找到相关的学习资料,开发问题也能在社区得到及时反馈,这将大大激发初学者的学习兴趣。

3.RaspberryPi的特点

Raspberry Pi是由英国树莓派基金会开发的基于ARM11架构的开发平台,自带USB、HDMI、以太网、SD卡等常用接口,预装Linux操作系统,支持Java、C、Python等开发语言,相当于一台微型化的低成本电脑,广泛应用于工业控制、机器人、智能家居等领域[7]。尽管成本比Arduino高一些,但功能比Arduino强大很多,可以看作是升级版的Arduino。RaspberryPi具备以下特点:

(1)模块化硬件结构,基于RaspberryPi的所有扩展功能都只需购买成品模块,可以像搭积木一样将模块插入相应的接口即可工作,这就大大减少了学生对电子和硬件知识的要求,非常适合嵌入式系统设计。

(2)价格适中,尽管RaspberryPi在淘宝网的价格大约是两百多元,比Arduino贵一些,但在ARM11架构开发板中价格相对便宜,加上自带的丰富接口和强大的功能,使其具有很高的性价比,也能节省大笔的教学设备的采购费用。

(3)资源共享,全世界众多的开源社区都有无数的极客、技术牛人和RaspberryPi发烧友将自己的设计、资源无私地分享出来,这种开源、分享、开放的力量不仅能帮助学生获取更多的资源,也会使他们加入开源的队伍,学会分享。

四、开源硬件在嵌入式专业的教学实践

通过以上对Arduino和RaspberryPi优势的分析,嵌入式专业引入这些开源硬件平台辅助教学,建立基于开源硬件的专业课程教学模式,将有助于学生从复杂的硬件设计解脱出来,降低难度,激发学生的学习兴趣,培养工程意识,本部分将从教学内容、实验室建设和创客教育等方面探讨基于Arduino和RaspberryPi的教学实践。

1.更新教学内容

嵌入式专业的专业基础课包括《C语言程序设计》、《单片机与接口技术》等,传统教学方法都是按照知识点讲解C语言的基本语法和运算、流程控制、数组和字符串、MCS-51单片机的组成结构、接口技术、串行通信、AD转换等内容,学生只能学到基本的编程知识,无法与嵌入式的实际工程应用相关联,容易丧失学习兴趣。

在教学中引入Arduino,简化工程应用的复杂性,将知识点融入Arduino的实验,设计趣味实验案例向学生讲解C语言的基本运算、流程控制、单片机接口技术等的编程实现[8],不仅能帮助学生理解知识点,还能促进学生了解这些知识点在工程中的应用,让学生尽早快速获得成就感,提高学习兴趣,增强开发体验,可设置如表1所示的一些实验增加教学的趣味性。

由此可见,Arduino开源硬件平台作为嵌入式专业基础课的入门级教学和实验平台,能有效地将教学内容融入工程应用中,增加高职学生的学习兴趣和动力。Arduino有处理各种传感器数据的能力,在硬件开发上优势明显,但是在《嵌入式系统设计》、《ARM体系结构》和《嵌入式Linux开发》等偏重软件开发的专业课教学比较困难。

传统的嵌入式Linux开发教学一般都采用基于ARM9的S3C2410开发板,基于ARM开发板讲解Linux移植裁剪、交叉编译、驱动编程和应用编程,这些教学内容可以帮助学生深入理解Linux系统,但是开发的复杂性与教学难度都较大,高职学生很难学好。RaspberryPi可以在Linux系统应用Java、Python等开发模式,如:使用Java语言和pi4j类库,不需要编写GPIO的Linux驱动,便可快速实现GPIO的操作,比传统的S3C2410开发板的“驱动编写->C语言编程->交叉编译”的开发过程更容易掌握和实施,开发效率也大大提高;RaspberryPi推荐的Python语言只需几行代码就可实现TCP/IP通信,无需模拟器和交叉编译即可运行[9],开发过程比S3C2410开发板简单高效,适合高职学生的教育,而且Python有相应的类库支持机器人、机械臂等的编程,很容易拓展到智能家居、智能机器人和智能可穿戴设备等项目。

2.建立基于开源硬件的嵌入式开发实验室

高职院校目前普遍推行“项目引导、任务驱动、学做合一”的教学模式,嵌入式专业是典型的工学结合的专业,在更新教学内容的同时,也要注重实践教学,实验室的建设就显得至关重要。

传统的嵌入式专业的实验室建设都会购置价值五六千元的成套实验箱,不仅成本高、学校投入大,而且学生只能按照实验箱的要求进行验证性实验,无法动手组装相关模块,动手实践能力不能得到训练,创新意识得不到充分挖掘。

建立基于开源硬件的嵌入式开发实验室,不仅成本大大降低,节省大笔的实验室设备的投入,还能有效提高学生的动手能力。一个实验室一般配置八到十组实验台,每个实验台配置价格低廉的Arduino开发板、RaspberryPi的开发板、常用传感器、通讯模块、OLED显示模块、面包板、杜邦线、电源和必要的电子元器件即可,成本不超过一千元,整个实验过程无须焊接,学生可以利用面包板直接连线完成组装、调试到应用的全过程,各种模块可以循环使用,也减轻了实验室设备的维护成本和工作量[10]。

3.构建以开源硬件为支撑的创客教育模式

近两年随着互联网浪潮、3D打印技术、Arduino等开源硬件日渐成熟,创客运动席卷全球。创客源自英语“Maker”,当今赋予它的含义是指利用网络、开源硬件、3D打印等新兴技术,把具备技术挑战的创意转变为现实、勇于创新的一群人[10]。创客的创新、融合、实践、开放和分享的精神与当今高职院校的人才培养理念相契合,创客教育正在掀起教育变革的新浪潮,传统的教学理念、教学模式正在被悄悄地改变[11]。

在“大众创业、万众创新”的政策引领下,高职教育如何培养学生的创新创业能力,成为高职教育面临的重大课题,将创客教育模式融入高职院校的创新创业教育不失为一个全新的探索[12]。以Arduino、RaspberryPi为代表的开源硬件、3D打印等为技术支撑、以“师生创新工作室”为载体,构建高职学生的科技创新体系,吸引不同专业背景、不同年级的学生加入,实现跨专业的协作和创新。围绕Arduino等开源硬件开发“创新应用原型展示中心”提升项目的原型交付能力、综合实训的互动性和可操作性,帮助学生尽早获得成就感,增强开发体验和学习动力,通过“创意体验和分享平台”让学生学会分享和协作。

五、基于开源硬件的教学实践的效果

嵌入式专业的《C语言程序设计》、《单片机与接口技术》和《嵌入式Linux开发》等课程,利用Arduino、RaspberryPi这两个开源硬件平台,对教学内容进行了重新设计和整合,编写了相应的实验指导讲义,经过两年的教学实践,这些课程的教学内容和实验指导已基本完善,同时通过实验室的持续建设和创客教育的引导,取得了良好的教学实践效果,学生在职业技能、团队协作、工程思维和创新意识等方面都得到了提高,毕业生也受到企业的欢迎,毕业生的就业率一直稳居计算机学院的前列,并有多名学生创立了自己的公司。学生毕业论文、各类竞赛等成绩都非常突出,多次荣获省级一、二等奖。创客教育模式也培养了学生的想象力和创新意识,部分学生课后继续完善实训项目,将自己的创意变成现实,多个项目申报了省级、校级的大学生实践创新训练计划项目,有的还申请了专利,取得了积极的成效。

六、结束语

在分析了嵌入式专业课程教学存在的问题的基础上,提出了基于开源硬件进行教学实践改革的思路,将Arduino和RaspberryPi分别引入嵌入式专业的相关专业课的教学中。Arduino、RaspberryPi等开源硬件的易用性、可扩展性和价格优势,使得嵌入式专业的课程教学变得生动有趣,大大激发了学生的学习动力,提高了学生的动手实践能力,也激发了学生主动参与项目设计和参加各类竞赛的积极性。

后续工作中,我们将继续积累Arduino、RaspberryPi等开源硬件平台的教学经验,逐步更新《ARM体系结构》和《嵌入式系统设计》的教学内容,进一步细化嵌入式专业的人才培养体系,建设有特色的嵌入式实验室,不断完善创客教育和专业教学的衔接,期望取得更好的教学效果。

[1]国务院.国务院关于积极推进“互联网+”行动的指导意见[J].http://www.gov.cn/zhengce/content/2015r07/04/ content_10002.htm,2015.

[2]刘泽平,羊四清.计算机专业嵌入式方向课程体系建设[J].计算机教育,2013(6):027.

[3]Gibb A,Abadie S.Building open source hardware: DIY manufacturing for hackers and makers[M].Pearson Education,Addison-Wesley:New York,2015:253-277.

[4]Sobota J,Piŝl R,Balda P,et al.Raspberry Pi and Arduino boards in control education[J].IFAC Proceedings Volumes,2013,46(17):7-12.

[5]Perens B.The open source definition[J].Open sources: voicesfromtheopensourcerevolution,1999(1):171-188.

[6]Banzi M,Shiloh M.Getting Started with Arduino: The Open Source Electronics Prototyping Platform[M]. Maker Media,Inc.,2014.

[7]Richardson M,Wallace S.Getting started with raspberry PI[M].O'Reilly Media,Inc.,2012.

[8]赵广元,王文庆,蔡秀梅.开源硬件在自动化专业教学中的应用模式初探[J].实验室研究与探索,2013(11):355-357.

[9]李一浩,裴旭明,李宏伟.Arduino开源硬件引入机电专业课程实践教学[J].中国现代教育装备,2015(1):61-63.

[10]Dougherty D.The maker movement[J].innovations,2012,7(3):11-14.

[11]雒亮,祝智庭.开源硬件:撬动创客教育实践的杠杆[J].中国电化教育,2015(4):7-14.

[12]祝智庭,孙妍妍.创客教育:信息技术使能的创新教育实践场[J].中国电化教育,2015(1):14-21.

(编辑:郭桂真)

G434

A

1673-8454(2017)18-0027-04

2015年江苏省高等教育教改研究立项课题“基于移动互联环境的自适应学习模式研究”(项目编号:2015JSJG364)。

猜你喜欢
开源嵌入式创客
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
五毛钱能买多少头牛
2019开源杰出贡献奖
TS系列红外传感器在嵌入式控制系统中的应用
“小创客”有法宝
搭建基于Qt的嵌入式开发平台
大家说:开源、人工智能及创新
开源中国开源世界高峰论坛圆桌会议纵论开源与互联网+创新2.0
创客
创客