1、信息化与计算机教育本栏目责任编辑:王 力Computer Knowledge and Technology电脑知识与技术第19卷第18期(2023年6月)第19卷第18期(2023年6月)基于MicroPython的微机原理与接口技术实验教学改革研究史蓓蕾,余恒(海军工程大学 电子工程学院,湖北 武汉 430023)摘要:在新一代信息技术的驱动下,计算机类实践课程的教学改革变得尤其迫切,微机原理与接口技术课程作为计算机类相关专业培养知识体系中一门重要的专业基础课程,重要性不言而喻。因此,为了能满足当前信息化社会对高级人才培养的需求,针对当前该课程实验内容和方法存在的不足,把人工智能、机器视觉、
2、物联网等新一代信息技术融合到实验内容中,并将 MicroPython 与微机原理与接口技术实验教学相结合,以实现对学生的融合应用能力和创新能力培养的教学目标。关键词:微机原理与接口技术;MicroPython;融合应用能力;多层次递进;多技术融合中图分类号:G642 文献标识码:A文章编号:1009-3044(2023)18-0147-03开放科学(资源服务)标识码(OSID):0 引言随着新一代信息技术的快速发展及其与各类专业不断交叉与融合,为满足信息化社会的建设对高级人才的需要,高校各专业也以培养跨学科、综合型、创新型人才为育人目标。微机原理与接口技术课程作为高校计算机、电子技术和自动化等
3、相关专业的一门重要专业基础课程,让学生理解和掌握微型计算机内部结构和工作原理,奠定其硬件系统设计和应用能力具有重要的作用1。目前该课程传统的实验手段和内容已经不适合当前的发展需要。一方面,现行的微机原理与接口技术课程的实践内容多以认知和验证性为主,实验内容的深度和广度不足,设计型和创新型实验很少;另一方面,随着新一代信息技术的快速发展、人脸识别、语音导航、智能家居、智能机器人等已经深入人们生活的方方面面,但支撑微机原理与接口技术课程的实验环境和实验手段还比较落后和单一,难以支撑学生利用物联网、机器视觉、人工智能等信息化手段解决实际问题2。为了让微机原理与接口技术课程实验体系更契合当前专业培养的
4、需求、课程组尝试把人工智能、机器视觉、物联网等新一代信息技术融合到实验内容中,将 MicroPython与微机原理与接口技术实验教学相结合,以实现对学生的融合应用能力和创新能力培养的教学目标。1 基于MicroPython的微机原理与接口技术实验教学改革1.1 简单而强大的实验工具面向硬件的传统编程语言多是以C、C+和汇编语言为主导。但随着新一代信息技术的快速发展,硬件系统开发的复杂性日渐增加,基于这些语言的传统开发模式缺点显得越来越突出。例如:设计系统过于复杂会导致编译时间变长;开发包多为闭源软件库而导致调试困难;需要专门的工具设备进行开发调试;要求有较高的知识储备导致入门门槛过高等问题。一
5、些学生由于编程基础差,理解模块代码较慢,加上编译调试耗时长,而课堂时间又有限,难以感受到硬件实验所带来的乐趣,因而失去学习课程的兴趣3。近年来,由于Python 编程语言开始被纳入高考项目中,越来越多的学生开始学习Python,而且在本校大学计算机基础和程序设计语言两门公共基础课程中,均开设有Python编程的相关内容的课时,在此基础之上,我们选择引入MicroPython语言到计算机硬件技术基础实验课程中。我们可以把MicroPython 理解为一个可以运行在微处理器上的Python解释器,它使得我们可以通过编写Python脚本就能实现对硬件的控制,因此,有 Python 编程语言经验的学生
6、,在使用 MicroPython 语言进行硬件开发编程时,会更加得心应手4。由于Python语言易于理解、操作灵活等特点,使得它在许多领域都得到了应用,特别是在近几年流行的数据挖掘、机器视觉、人工智能以及区块链技术等前沿领域,也都占据一定地位。Python语言有多种实现方式,如CPython、Jython、PyPy等,而MicroPython也是Python大家族中的一员,但它与其他Python成员不同的地方在于,它更适用于嵌入式系统的开发(如ESP8266、ESP32等物联网开发板)。MicroPython封装了 C 语言中的大部分函数,并为一些常用的传感器和收稿日期:2023-03-13基
7、金项目:海军工程大学教学发展基金“以培养 敢闯会创 能力为目标的课程综合实验改革”作者简介:史蓓蕾(1981),女,湖北省武汉人,海军工程大学电子工程学院副教授,硕士研究生,主要研究方向为物联网,计算机应用等;余恒(1991),男,海军工程大学电子工程学院助教,主要研究方向为计算机科学与技术,软件工程等。E-mail:http:/Tel:+86-551-65690963 65690964ISSN 1009-3044Computer Knowledge and Technology 电脑知识与技术Vol.19,No.18,June 2023147DOI:10.14004/ki.ckt.2023.
8、0855本栏目责任编辑:王 力信息化与计算机教育Computer Knowledge and Technology电脑知识与技术第19卷第18期(2023年6月)第19卷第18期(2023年6月)组件都编写了专门的驱动程序,用户只需通过调用相关的函数,就可以直接控制各类传感器和使用各种功能。因此无论是控制电机、获取传感器信息还是使用HTTP 协议或 MQTT 协议实现物联网操作,MicroPython都提供了丰富的开源库供我们使用。我们不用再去研究底层硬件的控制方法,这样一来,学生对于底层设备的操作更容易上手,降低了开发难度。另外,MicroPython是一种动态语言,我们无须编译就可以直接让
9、开发板运行程序内容,并在程序执行过程中动态的调整程序参数,这大大地简化了编程和调试的过程,学生可以把更多精力放在功能的设计开发上,为进一步的创新实践打下坚实的基础。图1 pyAI-OpenMV4 Plus开发套件课程组选用了 pyAI-OpenMV4 Plus 开发套件作为实验开发工具(如图1所示),该套件是基于Micropython 开发平台量身定制而成,其主控芯片使用的STM32H743IIK6,在此基础上集成了OV7725摄像头芯片,并将核心的机器视觉算法封装在主控芯片上(如:包括寻找色块、人脸检测、眼球跟踪、边缘检测、标志跟踪等常用算法),给用户提供灵活简单的Python编程接口。在此
10、套件提供的基础上,用户仅需要通过编写一些简单的代码,即可轻松地完成各种机器视觉相关的任务。在外围接口方面,该套件提供了UART、I2C、SPI、PWM、ADC、DAC以及GPIO等丰富的资源,为用户提供了方便的外围扩展的功能,同时,它还可以支持与其他的单片机模块(如Arduino、RaspberryPi等)进行配合使用。套件提供配套的集成开发环境OpenMVIDE,主控板只需通过USB接口直接连接到电脑上,就能通过该集成开发环境实时进行编程、调试和更新固件等工作。除此以外,该套件还提供开源线上神经网络模型训练工具,能够方便高效地进行在线算法模型训练。由于拥有以上丰富强大的功能,使得该套件为学员
11、利用融合人工智能、机器视觉和物联网等信息化手段来解决问题提供了支撑手段5。1.2 多层次递进的实验教学内容在构建微机原理与接口技术课程的实验内容时,为符合学生在学习过程中由浅入深、由易到难、由硬件到软件、由基础到综合、由验证到创新的规律,将微机原理与接口技术课程内容分为3个层次,即基础型实验、综合性型实验和创新型实验6。首先,学生需要掌握最基础的原理知识和熟悉硬件各个基础的功能模块的实现方法,围绕这个目标,课程组设计了基础型实验;其次,在完成该目标的基础上,进一步为学生设计了综合型实验,以实现学生能通过选择用已有的技术方案进行编程实践来解决实际问题的目标;最后,创新型实验在此基础上再次递进,实
12、现学生能够对已有的解决问题的思路和方法,进行进一步的探索和创新的最终教学目标。1)基础型实验基础性实验主要为验证性实验,教学目标主要为:能熟悉各类接口的工作原理,数据的输入输出格式和方式等基本知识;能熟练掌握用 MicroPython 快速编写、调试程序的方法。该类实验可包括控制 LED 灯亮灭实验、PWM 呼吸灯实验、流水灯实验、ADC 实验、OLED 液晶屏显示实验等。2)综合型实验综合型实验主要通过学习和应用多种新一代的信息技术来解决已知问题的实验,解决的方法多是已有的成熟的方案。教学目标主要为:能知晓机器视觉、物联网、人工智能相关概念和技术,并理解它们的典型应用;能熟练的引用机器视觉各
13、个算法库中的模块,并融合传感器、WiFi等模块功能,通过完成基于物联网思想的实验以解决实际问题。该类实验可包括特征检测、颜色追踪、人脸检测、眼球追追踪、WiFi通信等实验等。3)创新型实验创新型实验主要通过多种新技术的融合应用,来尝试解决一个不确定的问题。教学目标主要为:通过结合其他单片机模块,集成各类系统(如机器人、手机、云服务等)来解决问题。能够熟练运用信息网络搜集专业资料和参与开源社区的交流,并能合理的利用开源代码,自主的解决遇到的技术难题。该类实验可由学生自定义,为开放性实验。改革后的实验内容涉及的新技术知识较多,学生在进行设计开发时候,容易出现只会依葫芦画瓢,不知其所以然的现象。但是
14、微机原理与接口技术的理论课时有限,故在保持课程学时尽量不变的前提下,考虑在下一步围绕微机原理与接口技术课程,层级递进的构建相关的选修课程群,该课程群可以包含人工智能导论、机器视觉、边缘计算和智能传感技术等相关课程,这些课程是目标是让学生了解最新的人工智能,数据采集和数据处理技术,从而更好地设计和开发各类先进和智能的应用系统。1.3 多技术融合的实验案例库微机原理与接口技术课程与时俱进,将新一代信息技术融入实验教学内容中,在培养学生硬件开发实践能力的同时,促进物联网、机器视觉、人工智能等新一代信息技术的普及,为培养学生的融合应用能力和创新能力提供支撑。根据课程目标具体设计了18个实验案例(表 1
15、)。这些案例分为基础和综合 2 个层次。基本实验一共设置有10个案例,其目的是让学生熟悉输入/输出接口基本结构和GPIO,掌握中断系统、串行接口、定时器DA/AD转换等基本原理及其应用。在此基础上,进一步设置了8个综合实验,其目的是让学生掌握各类已有的机器视觉算法的基本实现方法,了解神经网络模型训练方法,并能在 WiFi模块的支持下,完成基于物联网思想的实验。在每个案例中,均给出了对实验的基本要求,学生可以在此要求上进一步拓展实验内容,因此,该案例库为学生进一步完成创新型实验提供了坚实的基础。148信息化与计算机教育本栏目责任编辑:王 力Computer Knowledge and Techn
16、ology电脑知识与技术第19卷第18期(2023年6月)第19卷第18期(2023年6月)表1 实验案例库序号123456789101112131415161718案例名称点亮一个LED灯流水灯开关控制LED灯PWM 呼吸灯外部中断控制LED灯定时中断控制LED灯实现OLED 液晶屏显示RTC 实时时钟模拟数字转换(ADC)数字模拟转换器(DAC)特征点识别RGB565 彩色自动追踪人脸检测瞳孔追踪移动物体抓拍Wi-Fi通信分辨不同人脸基于神经网络模型的口罩检测实验层次基础实验基础实验基础实验基础实验基础实验基础实验基础实验基础实验基础实验基础实验综合实验综合实验综合实验综合实验综合实验综合
17、实验综合实验综合实验实验的基本要求下载并安装开发软件 OpenMV IDE,并对驱动进行安装和配置,通过完成点亮 LED 灯的实验来熟悉系统环境学习使用 utime 模块中的延时的函数,通过设置延时时间,实现让几个 LED灯来回亮灭,达到好像流水的效果学习使用微处理器的GPIO的输入/输出,使用GPIO方式来控制LED和按键,当按键被按下时候,LED点亮,松开时熄灭学习PWN输出方法的概念,并通过输出PWN信号的方式完成LED 循环渐亮然后熄灭的过程,实现了呼吸灯功能学习使用中断函数,利用外部中断方式来检查按键 KEY 状态,当按键被按下(产生外部中断)后使 LED的亮灭状态反转学习使用定时函
18、数,通过设置定时器中断,让 LED灯周期性每秒闪烁 1 次学习使用 I2C 总线通讯方式,并使用该方式实现 OLED 显示屏的字符显示功能学习 RTC 编程和制作电子时钟,使用 OLED 显示当前时间学习使用ADC 函数,实现能测量 03.3V范围内的电压值,并实时显示到 OLED 屏幕上的功能学习使用DAC 函数,并通过 DAC 输出不同频率的方波来驱动蜂鸣器学习特征检测的官方例程Feature-Detection,实现通过特征点识别方法完成相同图片对比的功能学习颜色追踪的官方例程Color-Tracking,通过彩色自动追踪功能在图像中检测出符合指定颜色的色块,并用矩形和十字交叉表示出来学
19、习人脸检测的官方例程Face-Detection,通过特征检测的方法监测出拍摄到的画面中的人脸,并用矩形框表示出来学习眼球追踪的官方例程Eye-Tracking,在人脸检测的基础上,进一步完成识别眼球功能,然后再对眼球中的瞳孔进行追踪并进行画图标示学习图片拍摄的官方例程Snapshot,完成检测出移动物体并拍照保存的功能学习使用OpenMV Wi-Fi 模块,并通过该模块连接无线路由器,从而实现 Socket、MQTT、图传等相关无线和物联网应用学习分辨人脸的官方例程Face_Recognition,使用LBP特征的算法分辨不同人脸,实现被检测人身份识别功能。学习使用在线训练平台Edge Im
20、pulse来进行神经网络模型的训练的方法,通过训练成功后的模型,来实现对被检测人是否戴口罩的识别功能创新型实验属于开放型实验,由学生自定义内容,因此不在以上案例库中。学生以34人组成团队,在基于套件的核心板上可搭配其他控制板,实现一个较为复杂的应用系统,例如:智能门禁系统,智能实验室、智能农业大棚、智能小车等。该实验环节的设置目的,是让学生能将从案例库中所学习和积累的知识和技术进行融会贯通,从实际生活角度出发,从创新性、实用性、趣味性等方向进行创意产品设计与开发,旨在探索用一种新的技术方式解决实际问题。实验创新实验环节的设置,以学生为主体,倡导自主学习、合作学习、探究学习,以培养学生的协作意识
21、、团队精神和创新精神。1.4 以评为主的实验考核方式目前课程的考核方式为:形成性考核50%+终结性考核50%。其中形成性考核组成为:基础实验占比10%,综合实验占比20%,创新实验设计占比20%。终结性考核形式以笔试闭卷形式进行理论考核。由此可见,实验成绩所占比重较大,特别是对创新型实验的考评,要从产品实用性、完整度、创新性和技术难度多方进行考量。为了能对创新实验进行客观而有效的考核,我们提出了以评为主的考核方式。以评为主的考核方式是指,让学生对创新实验的成果进行汇报展示,然后对其进行评分。汇报以小组为单位,对产品功能进行现场演示,并以PPT形式对产品设计的各个环节进行讲解,并提交包含硬件、源
22、代码,演示视频和技术文档一整套完整的产品资料。考核分数由专家评分(40%)+小组互评(40%)+线上评分(20%)三部分组成。其中专家评分和小组互评为现场评分,专家由课程组教师担任,线上评分为校园网上各作品视频的投票结果。2 结论在新一代信息技术的驱动下,计算机类实践课程的教学改革变得尤其迫切。鉴于微机原理与接口技术课程在计算机类相关专业中的重要作用,针对该实验课程内容和方法存在的不足,将 MicroPython 与微机原理与接口技术实验教学相结合,使学生能够以一种新的模式学习硬件开发编程,以实现融合应用能力和创新能力培养的教学目标。参考文献:1 毕翔,石雷,卫星,等.面向系统能力培养的微机原
23、理课程教学改革研究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.【通联编辑:王力】149