基于MicroPython的微机原理与接口技术实验教学改革研究
作者: 史蓓蕾 余恒
摘要:在新一代信息技术的驱动下,计算机类实践课程的教学改革变得尤其迫切,微机原理与接口技术课程作为计算机类相关专业培养知识体系中一门重要的专业基础课程,重要性不言而喻。因此,为了能满足当前信息化社会对高级人才培养的需求,针对当前该课程实验内容和方法存在的不足,把人工智能、机器视觉、物联网等新一代信息技术融合到实验内容中,并将 MicroPython 与微机原理与接口技术实验教学相结合,以实现对学生的融合应用能力和创新能力培养的教学目标。
关键词:微机原理与接口技术;MicroPython;融合应用能力;多层次递进;多技术融合
中图分类号:G642 文献标识码:A文章编号:1009-3044(2023)18-0147-03
0 引言
随着新一代信息技术的快速发展及其与各类专业不断交叉与融合,为满足信息化社会的建设对高级人才的需要,高校各专业也以培养跨学科、综合型、创新型人才为育人目标。微机原理与接口技术课程作为高校计算机、电子技术和自动化等相关专业的一门重要专业基础课程,让学生理解和掌握微型计算机内部结构和工作原理,奠定其硬件系统设计和应用能力具有重要的作用[1]。目前该课程传统的实验手段和内容已经不适合当前的发展需要。一方面,现行的微机原理与接口技术课程的实践内容多以认知和验证性为主,实验内容的深度和广度不足,设计型和创新型实验很少;另一方面,随着新一代信息技术的快速发展、人脸识别、语音导航、智能家居、智能机器人等已经深入人们生活的方方面面,但支撑微机原理与接口技术课程的实验环境和实验手段还比较落后和单一,难以支撑学生利用物联网、机器视觉、人工智能等信息化手段解决实际问题[2]。
为了让微机原理与接口技术课程实验体系更契合当前专业培养的需求、课程组尝试把人工智能、机器视觉、物联网等新一代信息技术融合到实验内容中,将 MicroPython与微机原理与接口技术实验教学相结合,以实现对学生的融合应用能力和创新能力培养的教学目标。
1 基于MicroPython 的微机原理与接口技术实验教学改革
1.1 简单而强大的实验工具
面向硬件的传统编程语言多是以C、C++和汇编语言为主导。但随着新一代信息技术的快速发展,硬件系统开发的复杂性日渐增加,基于这些语言的传统开发模式缺点显得越来越突出。例如:设计系统过于复杂会导致编译时间变长;开发包多为闭源软件库而导致调试困难;需要专门的工具设备进行开发调试;要求有较高的知识储备导致入门门槛过高等问题。
一些学生由于编程基础差,理解模块代码较慢,加上编译调试耗时长,而课堂时间又有限,难以感受到硬件实验所带来的乐趣,因而失去学习课程的兴趣[3]。
近年来, 由于Python 编程语言开始被纳入高考项目中,越来越多的学生开始学习Python,而且在本校大学计算机基础和程序设计语言两门公共基础课程中,均开设有Python编程的相关内容的课时,在此基础之上,我们选择引入MicroPython语言到计算机硬件技术基础实验课程中。我们可以把MicroPython 理解为一个可以运行在微处理器上的Python解释器,它使得我们可以通过编写Python脚本就能实现对硬件的控制,因此,有 Python 编程语言经验的学生,在使用 MicroPython 语言进行硬件开发编程时,会更加得心应手[4]。
由于Python语言易于理解、操作灵活等特点,使得它在许多领域都得到了应用,特别是在近几年流行的数据挖掘、机器视觉、人工智能以及区块链技术等前沿领域,也都占据一定地位。Python语言有多种实现方式,如CPython、Jython、PyPy等,而MicroPython也是Python大家族中的一员,但它与其他Python成员不同的地方在于,它更适用于嵌入式系统的开发(如ESP8266、ESP32等物联网开发板)。MicroPython封装了 C 语言中的大部分函数,并为一些常用的传感器和组件都编写了专门的驱动程序,用户只需通过调用相关的函数,就可以直接控制各类传感器和使用各种功能。因此无论是控制电机、获取传感器信息还是使用tHhTonTP都协提议供或了M丰Q富TT的协开议源实库现供物我联们网使操用作。,我M们icr不oP用y⁃再去研究底层硬件的控制方法,这样一来,学生对于底层设备的操作更容易上手,降低了开发难度。另外,MicroPython是一种动态语言,我们无须编译就可以直接让开发板运行程序内容,并在程序执行过程中动态的调整程序参数,这大大地简化了编程和调试的过程,学生可以把更多精力放在功能的设计开发上,为进一步的创新实践打下坚实的基础。
课程组选用了pyAI-OpenMV4 Plus 开发套件作为实验开发工具(如图1所示),该套件是基于Micro⁃ python 开发平台量身定制而成,其主控芯片使用的STM32H743IIK6,在此基础上集成了OV7725摄像头芯片,并将核心的机器视觉算法封装在主控芯片上(如:包括寻找色块、人脸检测、眼球跟踪、边缘检测、标志跟踪等常用算法),给用户提供灵活简单的Py⁃ thon编程接口。在此套件提供的基础上,用户仅需要通过编写一些简单的代码,即可轻松地完成各种机器视觉相关的任务。在外围接口方面,该套件提供了UART、I2C、SPI、PWM、ADC、DAC以及GPIO等丰富的资源,为用户提供了方便的外围扩展的功能,同时,它还可以支持与其他的单片机模块(如Arduino、Rasp⁃ berryPi等)进行配合使用。套件提供配套的集成开发环境OpenMVIDE,主控板只需通过USB接口直接连接到电脑上,就能通过该集成开发环境实时进行编程、调试和更新固件等工作。除此以外,该套件还提供开源线上神经网络模型训练工具,能够方便高效地进行在线算法模型训练。由于拥有以上丰富强大的功能,使得该套件为学员利用融合人工智能、机器视觉和物联网等信息化手段来解决问题提供了支撑手段[5]。
1.2 多层次递进的实验教学内容
在构建微机原理与接口技术课程的实验内容时,为符合学生在学习过程中由浅入深、由易到难、由硬件到软件、由基础到综合、由验证到创新的规律,将微机原理与接口技术课程内容分为3个层次,即基础型实验、综合性型实验和创新型实验[6]。
首先,学生需要掌握最基础的原理知识和熟悉硬件各个基础的功能模块的实现方法,围绕这个目标,课程组设计了基础型实验;其次,在完成该目标的基础上,进一步为学生设计了综合型实验,以实现学生能通过选择用已有的技术方案进行编程实践来解决实际问题的目标;最后,创新型实验在此基础上再次递进,实现学生能够对已有的解决问题的思路和方法,进行进一步的探索和创新的最终教学目标。
1) 基础型实验基础性实验主要为验证性实验,教学目标主要为:①能熟悉各类接口的工作原理,数据的输入输出格式和方式等基本知识;②能熟练掌握用 MicroPy⁃ thon 快速编写、调试程序的方法。该类实验可包括控制 LED 灯亮灭实验、PWM 呼吸灯实验、流水灯实验、ADC 实验、OLED 液晶屏显示实验等。
2) 综合型实验综合型实验主要通过学习和应用多种新一代的信息技术来解决已知问题的实验,解决的方法多是已有的成熟的方案。教学目标主要为:①能知晓机器视觉、物联网、人工智能相关概念和技术,并理解它们的典型应用;②能熟练的引用机器视觉各个算法库中的模块,并融合传感器、Wi⁃Fi等模块功能,通过完成基于物联网思想的实验以解决实际问题。该类实验可包括特征检测、颜色追踪、人脸检测、眼球追追踪、Wi⁃Fi通信等实验等。
3) 创新型实验创新型实验主要通过多种新技术的融合应用,来尝试解决一个不确定的问题。教学目标主要为:①通过结合其他单片机模块,集成各类系统(如机器人、手机、云服务等)来解决问题。②能够熟练运用信息网络搜集专业资料和参与开源社区的交流,并能合理的利用开源代码,自主的解决遇到的技术难题。该类实验可由学生自定义,为开放性实验。
改革后的实验内容涉及的新技术知识较多,学生在进行设计开发时候,容易出现只会依葫芦画瓢,不知其所以然的现象。但是微机原理与接口技术的理论课时有限,故在保持课程学时尽量不变的前提下,考虑在下一步围绕微机原理与接口技术课程,层级递进的构建相关的选修课程群,该课程群可以包含人工智能导论、机器视觉、边缘计算和智能传感技术等相关课程,这些课程是目标是让学生了解最新的人工智能,数据采集和数据处理技术,从而更好地设计和开发各类先进和智能的应用系统。
1.3 多技术融合的实验案例库
微机原理与接口技术课程与时俱进,将新一代信息技术融入实验教学内容中,在培养学生硬件开发实践能力的同时,促进物联网、机器视觉、人工智能等新一代信息技术的普及,为培养学生的融合应用能力和创新能力提供支撑。根据课程目标具体设计了18个实验案例(表1) 。这些案例分为基础和综合2 个层次。
基本实验一共设置有10个案例,其目的是让学生熟悉输入/输出接口基本结构和GPIO,掌握中断系统、串行接口、定时器DA/AD转换等基本原理及其应用。
在此基础上,进一步设置了8个综合实验,其目的是让学生掌握各类已有的机器视觉算法的基本实现方法,了解神经网络模型训练方法,并能在 Wi⁃Fi模块的支持下,完成基于物联网思想的实验。在每个案例中,均给出了对实验的基本要求,学生可以在此要求上进一步拓展实验内容,因此,该案例库为学生进一步完成创新型实验提供了坚实的基础。
创新型实验属于开放型实验,由学生自定义内容,因此不在以上案例库中。学生以3~4 人组成团队,在基于套件的核心板上可搭配其他控制板,实现一个较为复杂的应用系统,例如:智能门禁系统,智能实验室、智能农业大棚、智能小车等。该实验环节的设置目的,是让学生能将从案例库中所学习和积累的知识和技术进行融会贯通,从实际生活角度出发,从创新性、实用性、趣味性等方向进行创意产品设计与开发,旨在探索用一种新的技术方式解决实际问题。
实验创新实验环节的设置,以学生为主体,倡导自主学习、合作学习、探究学习,以培养学生的协作意识、团队精神和创新精神。
1.4 以评为主的实验考核方式
目前课程的考核方式为:形成性考核50%+终结性考核50%。其中形成性考核组成为:基础实验占比10%,综合实验占比20%,创新实验设计占比20%。终结性考核形式以笔试闭卷形式进行理论考核。由此可见,实验成绩所占比重较大,特别是对创新型实验的考评,要从产品实用性、完整度、创新性和技术难度多方进行考量。为了能对创新实验进行客观而有效的考核,我们提出了以评为主的考核方式。
以评为主的考核方式是指,让学生对创新实验的成果进行汇报展示,然后对其进行评分。汇报以小组为单位,对产品功能进行现场演示,并以PPT形式对产品设计的各个环节进行讲解,并提交包含硬件、源代码,演示视频和技术文档一整套完整的产品资料。
考核分数由专家评分(40%) +小组互评(40%) +线上评分(20%) 三部分组成。其中专家评分和小组互评为现场评分,专家由课程组教师担任,线上评分为校园网上各作品视频的投票结果。
2 结论
在新一代信息技术的驱动下,计算机类实践课程的教学改革变得尤其迫切。鉴于微机原理与接口技术课程在计算机类相关专业中的重要作用,针对该实验课程内容和方法存在的不足,将 MicroPython 与微机原理与接口技术实验教学相结合,使学生能够以一种新的模式学习硬件开发编程,以实现融合应用能力和创新能力培养的教学目标。
参考文献:
[1] 毕翔,石雷,卫星,等.面向系统能力培养的微机原理课程教学改革研究[J].计算机教育,2020(5):127-132.
[2] 桂小林.新一代信息技术驱动的大学计算机实践体系与方法[J].计算机教育,2023(1):11-15.
[3] 徐志江,饶晨,徐红,等.MicroPython用于单片机实验教学新模式的设计与研究[J].计算机教育,2019(3):164-168.
[4] 曹乐,袁艳.融合CDIO理念的“嵌入式系统设计”课程改革探索[J].南方农机,2021,52(17):173-175.
[5] 李嘉明,温梓南,冯建,等.基于OpenMV的远程抛射系统设计与实现[J].电脑知识与技术,2022,18(1):131-133.
[6] 马长安,何广军,王明,等.嵌入式系统实践教学问题及对策[J].合肥工业大学学报(社会科学版),2010,24(5):78-80.
【通联编辑:王力】