论文部分内容阅读
[摘 要]国内高校嵌入式系统基础教学中存在一些问题。解决这些问题需采用以项目为引导、以实际需求指导理论学习、以实践促进学习的项目化教学。通过对使用SMTP协议通信的嵌入式远程工业控制项目的具体实施,完成教学和项目组织。提高了学生的学习积极性和团队合作能力,有效地提高教育教学质量,能达到预期教学效果。
[关键词]嵌入式系统 项目引导 实践教学 SMTP
[中图分类号] G642 [文献标识码] A [文章编号] 2095-3437(2013)15-0119-02
一、前言
嵌入式系统作为实践性很强的课程,涉及到计算机、电子技术、自动化等多领域的知识。从计算机专业来看,该课程涵盖了网络、操作系统、微机原理、C语言等多门课程,涉及面广,学习难度大。然而,相当多的学校只给予该课36~54个学时。作为教师,却需要根据教学大纲的安排,全面介绍处理器、接口、操作系统、驱动、应用程序开发等基础知识。显然,采用传统教学方法,既要完成理论的讲解,又完成相关实验,就如走马观花,很难深入理解嵌入式系统的基础知识,更不可能进行嵌入式技术的开发。为了提高学生学习积极性,并使学生有具体的学习目标,作者在嵌入式系统的课程教学中以项目为引导,通过对一简化的远程工业控制项目的实施来验证项目引导在嵌入式系统基础教学中是正确可行的。[1]
二、项目引导
(一)项目引导理论及特点
“项目引导教学”是一种新的教学模式,来源于建构主义学习理论。作为“行动导向”教学法之一,通过“项目需求”为指引,在有限的课时计划内,师生一起为实施一个完整的项目进行教学活动。项目需要的专业技术作为规定的教学内容和学生的专业能力培养要求,并且在教学结束后会产生一个较完整的项目作品。其特点是:项目引导,任务(技术)驱动,学生主体,素质渗透,学工结合。
在教学过程中以项目作为主线来展开,将所需的知识点融入到教学的各个环节中,从而推进项目的实施与开发。在此过程中,激发起学生积极的学习态度和求知欲,引导学生去探索专业技术,从而达到学习知识和学习能力培养的目的。[2]项目引导法最大的特点在于,改变了传统的教学方法,即“教—学”的这种“灌—填”的模式,引导学生由被动的学习,转化为自主学习,而教师在此过程中根据项目的需求进行引导。[3]
(二)项目引入及知识点分解
通过引入一个简化的远程工业控制项目实例来描述项目引导的教学实施过程。在教学实施过程中,教师作为项目的引导者,学生是项目实施的主体。通过给学生详细分析项目需求、项目技术要点、项目设计和实施方法、项目调试技术等基础,逐步引导学生完成嵌入式系统各个知识点的学习,让学生有目的、有计划的学习,学以致用从而激发了学生的学习兴趣。
在项目的引导及教学过程中,根据嵌入式人才需求及计算机专业自身的特点,对项目中涉及的众多知识点进行删减,偏重软件开发的技术讲解和接口的开发,做到条理清晰。
该项目通过邮件的方式,由远程客户端通过邮件工具(如:Outlook)在主题字中发送控制命令,设备的嵌入式中央控制板上实现一个简化版的SMTP Server和POP3 Server,在接收远程客户端邮件后,解析出邮件主题字中的命令,然后通过RS-232通信将控制传递到各子设备,从而实现控制。控制完成后,POP3 Server将结果以邮件形式反馈给远程用户,如图2所示。
■
图2:SMTP/POP3嵌入式远程控制结构
首先,对该远程控制系统进行需求分析,可以完成以下功能:
1)远程控制:在邮件主题字中传递控制命令;
2)远程更新:可以实现设备上的本地控制程序的远程更新;
3)安全认证:传递邮件过程中,实现用户名、密码的安全认证;
4)控制反馈:无论成功与失败,将控制结果以邮件形式反馈给远程控制用户。
在完成需求分析的时候,逐层分解,指出项目开发所涵盖的各项技术,学生需要掌握的知识点,对各个知识点分别以了解、理解、掌握的层次区别对待。各知识点如下:
1)实现远程控制的中央控制板所需的核心板硬件电路,以了解为主;
2)中央控制板与子设备通信的RS-232接口电路,理解为主;
3)中央控制板功能的实现:Bootloader烧写、内核/文件系统移植,已掌握操作为主;
4)项目实施,程序的引导。主要是嵌入式Linux启动引导过程,理解并掌握基本配置;
5)远程通信,项目中通过SMTP及POP3协议完成通信,要求在设备端的中央控制板上实现SMTP Server和POP3 Server。在该技术实现上,主要涵盖两方面知识。其一,必须掌握基本的Linux socket编程技巧,由C语言实现,对于计算机专业的学生完全能达到较好的学习效果;其二,对于SMTP协议和POP3协议,需要提高学生在项目中自主学习、阅读文献资料的能力,该部分知识可通过公开的RFC文档获取。在教学过程中,教师对协议进行精简,并带领学生一起完成协议通信部分的流程模块划分,提升学生在陌生领域解决问题的能力。
6)远程更新,该技术主要包括三方面的知识。其一,网络字符流的处理,由C语言字符串处理的基础知识即可完成;其二,必须掌握Linux底层文件处理;其三,涉及到SMTP协议对于附件的Base64的编解码技术,同样可由教师对Base64编码进行讲解,提升学生程序编写的素养。
7) 串口通信,设备的中央控制板收到远程命令后,通过串口将命令传递给各子设备。在有限的课时内,可以将最常用的串口作为接口的重点案例讲解。包括:ARM针对串口的内部寄存器设置;在Linux内核中串口驱动的编写分析;重点掌握嵌入式Linux中串口设置及通信应用程序的编写。 8)进程及进程通信,在项目的实现中需要进程及进程间的通信技术完善整个程序结构,该部分也是嵌入式Linux学习中必须掌握的重点部分。
通过该嵌入式远程工业控制项目,基本涵盖了嵌入式系统学习的ARM硬件环境、嵌入式linux、内核移植、嵌入式编程环境、I/O读写、进程及进程通信、接口及编程等内容,是嵌入式系统学习和提升的一个典型项目。通过项目引导的教学实施,让学生对嵌入式系统的学习有了感性与直观认识,极大的激发了学生的学习热情。
(三)项目实施及教学
确定项目并初步分析后,按项目进度的需求逐步讲解,同时鼓励学生主动探索,并搜索相关资料学习对应知识,自主挖掘所需的理论知识。
在此过程中,根据学生的学习基础和相应的学习能力,采用分组的形式完成整个阶段的学习和项目实施。分组以4人为一组,指定能力较强的1人为组长,由组长安排组内的讨论,分配组内成员的任务。根据项目相关的工作情况,按照项目设计的需要完成设计书并完成相应阶段的实验,给出调试结果。为保证所有学生学习的同步进行,在每个项目阶段,教师都对每组的进展和实验进行抽查,了解各组进展,并做好记录。在项目的中期阶段开始,所有组都要进行项目的进展汇报,随机抽取组员进行PPT演示和答辩,并将其成绩计入考评成绩。在项目的最后阶段,进行项目和课程学习的总体答辩。
(四)实施效果
在项目引导教学的过程中,教师在教学的同时,帮助学生建立团队并形成讨论沟通机制,给出一些方向性的建议。不同的团队形式了各具特色的分工机制,有同学适合从整体把握项目,有学生更擅长代码软件的开发,有学生能给出合理的测试调试建议,使学生能合理的自我定位。对于学生个体而言,提高了学生的学习热情,由被动学习转变为主动学习,并激发了学生的求知欲和创新能力。特别在主动搜索整理资料、制订项目设计方案方面,培养了自我学习的能力。对于嵌入式系统相关知识点,能够按要求深入了解与熟练掌握,达到了预期的教学效果。
四、结束语
项目引导嵌入式系统的教学方法目前已取得初步成效,通过项目引导来给学生确立明确目标,激发学习热情,提高学生的学习积极性、主动性与创造性,并在教学中通过项目实践提高了学生的动手能力,团队协作能力,同时也加强了师生之间的情感交流与互动。如何在教学过程中建立阶段性的考核及衡量机制,是后续教学过程中需要继续探讨的重要课题。
[ 参 考 文 献 ]
[1] 郭中华,伍冯洁,李宁智. 项目驱动法在嵌入式教学中的应用[J]. 电脑知识与技术, 2012,8(13):3107-3108.
[2] 谢四莲,刘峰.“项目驱动法”在单片机原理及应用教学中的应用研究[J].湖南人文科技学院学报.2010,(2):34-36.
[3] 黎孟雄.项目驱动法在“管理信息系统”教学中的应用研究[J].计算机教育,2007,(3):64-66.
[责任编辑:戴祯杰]
[关键词]嵌入式系统 项目引导 实践教学 SMTP
[中图分类号] G642 [文献标识码] A [文章编号] 2095-3437(2013)15-0119-02
一、前言
嵌入式系统作为实践性很强的课程,涉及到计算机、电子技术、自动化等多领域的知识。从计算机专业来看,该课程涵盖了网络、操作系统、微机原理、C语言等多门课程,涉及面广,学习难度大。然而,相当多的学校只给予该课36~54个学时。作为教师,却需要根据教学大纲的安排,全面介绍处理器、接口、操作系统、驱动、应用程序开发等基础知识。显然,采用传统教学方法,既要完成理论的讲解,又完成相关实验,就如走马观花,很难深入理解嵌入式系统的基础知识,更不可能进行嵌入式技术的开发。为了提高学生学习积极性,并使学生有具体的学习目标,作者在嵌入式系统的课程教学中以项目为引导,通过对一简化的远程工业控制项目的实施来验证项目引导在嵌入式系统基础教学中是正确可行的。[1]
二、项目引导
(一)项目引导理论及特点
“项目引导教学”是一种新的教学模式,来源于建构主义学习理论。作为“行动导向”教学法之一,通过“项目需求”为指引,在有限的课时计划内,师生一起为实施一个完整的项目进行教学活动。项目需要的专业技术作为规定的教学内容和学生的专业能力培养要求,并且在教学结束后会产生一个较完整的项目作品。其特点是:项目引导,任务(技术)驱动,学生主体,素质渗透,学工结合。
在教学过程中以项目作为主线来展开,将所需的知识点融入到教学的各个环节中,从而推进项目的实施与开发。在此过程中,激发起学生积极的学习态度和求知欲,引导学生去探索专业技术,从而达到学习知识和学习能力培养的目的。[2]项目引导法最大的特点在于,改变了传统的教学方法,即“教—学”的这种“灌—填”的模式,引导学生由被动的学习,转化为自主学习,而教师在此过程中根据项目的需求进行引导。[3]
(二)项目引入及知识点分解
通过引入一个简化的远程工业控制项目实例来描述项目引导的教学实施过程。在教学实施过程中,教师作为项目的引导者,学生是项目实施的主体。通过给学生详细分析项目需求、项目技术要点、项目设计和实施方法、项目调试技术等基础,逐步引导学生完成嵌入式系统各个知识点的学习,让学生有目的、有计划的学习,学以致用从而激发了学生的学习兴趣。
在项目的引导及教学过程中,根据嵌入式人才需求及计算机专业自身的特点,对项目中涉及的众多知识点进行删减,偏重软件开发的技术讲解和接口的开发,做到条理清晰。
该项目通过邮件的方式,由远程客户端通过邮件工具(如:Outlook)在主题字中发送控制命令,设备的嵌入式中央控制板上实现一个简化版的SMTP Server和POP3 Server,在接收远程客户端邮件后,解析出邮件主题字中的命令,然后通过RS-232通信将控制传递到各子设备,从而实现控制。控制完成后,POP3 Server将结果以邮件形式反馈给远程用户,如图2所示。
■
图2:SMTP/POP3嵌入式远程控制结构
首先,对该远程控制系统进行需求分析,可以完成以下功能:
1)远程控制:在邮件主题字中传递控制命令;
2)远程更新:可以实现设备上的本地控制程序的远程更新;
3)安全认证:传递邮件过程中,实现用户名、密码的安全认证;
4)控制反馈:无论成功与失败,将控制结果以邮件形式反馈给远程控制用户。
在完成需求分析的时候,逐层分解,指出项目开发所涵盖的各项技术,学生需要掌握的知识点,对各个知识点分别以了解、理解、掌握的层次区别对待。各知识点如下:
1)实现远程控制的中央控制板所需的核心板硬件电路,以了解为主;
2)中央控制板与子设备通信的RS-232接口电路,理解为主;
3)中央控制板功能的实现:Bootloader烧写、内核/文件系统移植,已掌握操作为主;
4)项目实施,程序的引导。主要是嵌入式Linux启动引导过程,理解并掌握基本配置;
5)远程通信,项目中通过SMTP及POP3协议完成通信,要求在设备端的中央控制板上实现SMTP Server和POP3 Server。在该技术实现上,主要涵盖两方面知识。其一,必须掌握基本的Linux socket编程技巧,由C语言实现,对于计算机专业的学生完全能达到较好的学习效果;其二,对于SMTP协议和POP3协议,需要提高学生在项目中自主学习、阅读文献资料的能力,该部分知识可通过公开的RFC文档获取。在教学过程中,教师对协议进行精简,并带领学生一起完成协议通信部分的流程模块划分,提升学生在陌生领域解决问题的能力。
6)远程更新,该技术主要包括三方面的知识。其一,网络字符流的处理,由C语言字符串处理的基础知识即可完成;其二,必须掌握Linux底层文件处理;其三,涉及到SMTP协议对于附件的Base64的编解码技术,同样可由教师对Base64编码进行讲解,提升学生程序编写的素养。
7) 串口通信,设备的中央控制板收到远程命令后,通过串口将命令传递给各子设备。在有限的课时内,可以将最常用的串口作为接口的重点案例讲解。包括:ARM针对串口的内部寄存器设置;在Linux内核中串口驱动的编写分析;重点掌握嵌入式Linux中串口设置及通信应用程序的编写。 8)进程及进程通信,在项目的实现中需要进程及进程间的通信技术完善整个程序结构,该部分也是嵌入式Linux学习中必须掌握的重点部分。
通过该嵌入式远程工业控制项目,基本涵盖了嵌入式系统学习的ARM硬件环境、嵌入式linux、内核移植、嵌入式编程环境、I/O读写、进程及进程通信、接口及编程等内容,是嵌入式系统学习和提升的一个典型项目。通过项目引导的教学实施,让学生对嵌入式系统的学习有了感性与直观认识,极大的激发了学生的学习热情。
(三)项目实施及教学
确定项目并初步分析后,按项目进度的需求逐步讲解,同时鼓励学生主动探索,并搜索相关资料学习对应知识,自主挖掘所需的理论知识。
在此过程中,根据学生的学习基础和相应的学习能力,采用分组的形式完成整个阶段的学习和项目实施。分组以4人为一组,指定能力较强的1人为组长,由组长安排组内的讨论,分配组内成员的任务。根据项目相关的工作情况,按照项目设计的需要完成设计书并完成相应阶段的实验,给出调试结果。为保证所有学生学习的同步进行,在每个项目阶段,教师都对每组的进展和实验进行抽查,了解各组进展,并做好记录。在项目的中期阶段开始,所有组都要进行项目的进展汇报,随机抽取组员进行PPT演示和答辩,并将其成绩计入考评成绩。在项目的最后阶段,进行项目和课程学习的总体答辩。
(四)实施效果
在项目引导教学的过程中,教师在教学的同时,帮助学生建立团队并形成讨论沟通机制,给出一些方向性的建议。不同的团队形式了各具特色的分工机制,有同学适合从整体把握项目,有学生更擅长代码软件的开发,有学生能给出合理的测试调试建议,使学生能合理的自我定位。对于学生个体而言,提高了学生的学习热情,由被动学习转变为主动学习,并激发了学生的求知欲和创新能力。特别在主动搜索整理资料、制订项目设计方案方面,培养了自我学习的能力。对于嵌入式系统相关知识点,能够按要求深入了解与熟练掌握,达到了预期的教学效果。
四、结束语
项目引导嵌入式系统的教学方法目前已取得初步成效,通过项目引导来给学生确立明确目标,激发学习热情,提高学生的学习积极性、主动性与创造性,并在教学中通过项目实践提高了学生的动手能力,团队协作能力,同时也加强了师生之间的情感交流与互动。如何在教学过程中建立阶段性的考核及衡量机制,是后续教学过程中需要继续探讨的重要课题。
[ 参 考 文 献 ]
[1] 郭中华,伍冯洁,李宁智. 项目驱动法在嵌入式教学中的应用[J]. 电脑知识与技术, 2012,8(13):3107-3108.
[2] 谢四莲,刘峰.“项目驱动法”在单片机原理及应用教学中的应用研究[J].湖南人文科技学院学报.2010,(2):34-36.
[3] 黎孟雄.项目驱动法在“管理信息系统”教学中的应用研究[J].计算机教育,2007,(3):64-66.
[责任编辑:戴祯杰]