一种面向小学生的嵌入式开发平台设计与实现
刘艺,瞿少成,陈尧,万洪波,曾佳慧
(华中师范大学物理科学与技术学院,湖北武汉430079)
摘要:为了提高小学生编程学习的便捷性和趣味性,设计并实现了一种面向小学生的嵌入式开发平台。首先,以SOM-RK3399为核心,通过集成语音处理模块、STM32控制模块和各种外设等,完成了一种面向小学生的嵌入式开发硬件平台。
其次,搭载支持Scratch软件的Linux系统,构建了基于语音识别与微机控制的操作环境。最后,基于所设计的嵌入式开发平台,设计了“语音智能点灯”和“Scratch编程控制风扇”等编程案例。实验结果表明,平台性能良好,操作环境简单,编程案例可扩展性强,有助于小学生的编程学习,具有良好的实用价值。
关键词:嵌入式平台;硬件设计;STM32;语音处理;小学生编程
中图分类号:TP368文献标识码:A
文章编号:1009-3044(2021)10-0033-04
开放科学(资源服务)标识码(OSID):
Design and Implementation of an Embedded Development Platform for Pupils
LIU Yi,QU Shao-cheng,CHEN Yao,WAN Hong-bo,ZENG Jia-hui
(College of Physical Science and Technology,Central China Normal University,Wuhan430079,China) Abstract:In order to improve the convenience and interest of pupils to learn programming,an embedded development platform for pupils is designed and implemented.First of all,by integrating voice processing module,STM32control module and various periph⁃erals into SOM-RK3399,an embedded development hardware platform for pupils is designed.Secondly,Linux system that sup⁃ports Scratch programming is established,and an operating environment based on voice recognition and computer control is con⁃structed.Finally,based on the designed embedded development platform,programming routines such as“Voice Intelligent Light⁃ing”and“Scratch Programming Control Fan”are developed.Experimental results show that this platform has good performance, simple operating environment,and strong scalability of programming cases,which is helpful for pupils'programming learning and has good popularization value.
Key words:embedded platform;hardware design;STM32;speech processing;pupils’programming
1背景
经研究发现,合适的编程教育平台对小学生的编程学习尤为重要[1]。对小学生编程学习而言,一款操作简单、性能良好、案例有趣的编程教学平台,有助于提高学生的编程兴趣和动手能力[2]。
目前市面上只针对小学生的编程教学平台较少。在武汉市新沟桥小学的调研中发现,编程教育设备匮乏,教学条件有限,并不能做到编程课的普及,最重要的是缺少一款合适的编程教育平台。文献[3]提出了一种基于PC机的小学生Scratch游戏化编程的教学方案,操作简单、编程有趣,但缺乏便捷性且不能进行实物的控制。文献[4]提出了一种积木式数字电路实验箱,便于实物搭接与控制,但其针对大学生教育,缺乏简单的操作环境。总体而言,现针对小学生的编程教学平台存在硬件控制缺失、环境复杂且编程案例固化等[5-8]。
针对上述问题,为了提高小学生编程学习的便捷性和趣味性,设计并实现了一种面向小学生的嵌入式开发平台。该平台以SOM-RK3399为核心,集成了语音处理模块、STM32控制模块和各外部接口等。系统支持资源丰富、容易操作的Scratch编程软件,且通过它还可以实现对平台的硬件控制。基于所构建平台,还设计了“语音智能开灯”“Scratch控制电扇”等编程案例。该嵌入式开发平台既满足了小学生编程学习需求,又激发了小学生编程学习的兴趣,且平台性能良好、操作环境简单、编程案例可扩展
性强,可广泛应用于各地区的小学生编程教育。
收稿日期:2020-11-25
项目基金:国家自然科学基金(项目编号:61673190);中央高校探索创新项目(项目编号:CCNU18TS042);武汉市洪山区产学研项目
作者简介:刘艺(1995—),男,安徽合肥人,硕士,主要研究方向为嵌入式系统;瞿少成(1971—),男,湖北武汉人,教授,博士生导师,主要研究方向为智能信息处理与非线性控制技术;陈尧,硕士;万洪波,硕士;曾佳慧,硕士。
Computer Knowledge and Technology 电脑知识与技术第17卷第10期(2021年4月)
2总体设计
嵌入式开发平台的整体设计如图1所示,它主要包括SOM-RK3399核心板、STM32模块、语音处理模块和各种外设模块。其中RK3399作为主控单元,可基于Linux 操作系统,通过Shell 编程获取语音处理模块的数据或Scratch 编程的结果,再将数据通过串口发送至STM32控制模块,完成相应功能的执行。STM32模块作为控制单元,通过串口执行主控单元的命令,实现对外部设备的控制。语音处理模块作为音频处理单元,不仅可以完成音频信号的输入输出,还支持语音识别和语音合成等功能,通过I 2C 协议或串口和主控单元通信。各外设接口包括USB3.0、HDMI 、JTAG 和SD 卡槽等,保证了键盘、鼠标、显示器的连接和程序烧录等功能。
图1嵌入式开发平台整体设计框图
3硬件设计
3.1主控单元RK3399
该平台硬件上采用SOM-RK3399作为该开发平台的主控单元,其是由FriendlyElec 生产的高性能260针ARM 模块。对小学生体而言,该主控单元具有轻便、高速等特点,为嵌入式平台提供了流畅的操作系统。3.2STM32模块
STM32模块作为平台的控制单元,其内部结构如图2所示,采用的芯片为
STM32F407VGT6,该芯片有先进的Cortex-M4内核。通过设计串口转Micro USB 接口,提高了其通信效率[9]。3.3语音处理模块
语音处理模块负责平台的语音输入和输出,以及实现语音识别和语音合成的功能。其内部结构如图3所示,语音模块的处理芯片型号为XFS5152CE ,支持语音合成、语音识别等功能,集成的30个词语可作为控制命令词。此外还设计了音频输入和音频输出的物理接口。
图2STM32模块内部结构
图3语音处理模块内部结构
3.4平台硬件实物图
平台硬件实物图如图4所示,其中MCU 集成于平台背面。各模块及接口的位置已在图中标出。
STM32控制模块电源模块USB3.0模块
语音处理模块各外围接口
MCU部分接口
图4平台硬件照片
4软件设计
4.1语音智能点灯软件设计
本平台采用的是Linux 操作系统,基于操作系统通过UART 协议与语音处理模块建立通信,获取信息后
通过系统编程,将处理后的信号通过UART 协议发送至STM32控制模块[10]。通过以上原理,可以实现“语音智能点灯”这一教育案例。软件设计流程如图5所示。
依据图5程序设计框图开发出了基于该嵌入式开发平台的小应用,也证实了该平台的三大模块可以正常的通信及运行。语音智能点灯程序的大致流程:平台通电后,接入显示器、麦克风和小灯等外设;打开语音模块的串口调试助手,开启语音识别功能;当用户说“开灯”时,语音模块会将语音信号转换成文字信号;将文字信号传给核心板,由系统程序判断文字信号是否为“开灯”;正确后则通过串口向STM32模块发送指令,执行STM32程序完成“开灯”动作。另外,“关灯”指令亦可以实现关灯的操作,其他命令词则无效。
Computer Knowledge and Technology电脑知识与技术第17卷第10期(2021年4月)
开始
是否有语音输入
核心板初始化
数据接收
语音模块初始化
翻转输出电平
建立串口通讯建立串口通讯
启动录音
开始
标志位是否改变
开始
数据处理
发送数据
进入操作系统
是否启动“语音点灯”
向语音芯片发指令
接受语音数据
数据处理
初始化STM32程序
执行其他程序
点亮/熄灭小灯
发送语音数据
是否收到“大脑”指令
语音是否合规
是否退出程序
等待接受语音
N
Y
N
N
N
N
Y
Y(“开灯/关灯”)
Y
Y
N
Y
图5语音智能点灯程序设计框图
4.2通过Scratch编程控制风扇
开始
核心板初始化
数据接收
启动电机驱动
建立串口通讯
开始
标志位是否改变
数据处理
发送数据
进入操作系统
是否进入Scratch编程
进行Scratch编程
运行程序
调用程序结果
初始化STM32程序linux内核设计与实现 pdf
执行其他程序
启动风扇
是否启动风扇
是否退出程序
N
N
N
N
Y
Y
Y
Y
图6Scratch编程控制风扇程序设计框图
该系统的主要功能之一为Scratch编程。相比于仅在电脑
屏幕前编程,用该平台编程控制直观的实物更会激发起小学生
的编程兴趣。通过将编程与器件结合的思路设计了Scratch编
程控制风扇这一应用,程序设计如图6所示。打开Scratch编程
软件和STM32串口调试软件,在Scratch软件中运行已编好的
“Scratch控制风扇”程序。操作系统通过调用Scratch编程的结
果,经过判断处理后,给STM32模块发送相应的指令,让STM32
输出PWM信号,即可启动风扇。
5平台应用场景测试
平台应用测试场景测试分为硬件及系统测试和软件功能
测试。
硬件及系统测试:平台上电后,分别测得SOM-RK3399核
心板、语音处理模块、STM32模块均正常供电。启动操作系统,
Scratch软件可以正常安装运行。
软件测试:分别对“语音智能点灯”和“Scratch编程控制风
扇”这两个应用进行测试。过程中设备均正常运行,整体效果
图如图7所示。
LED
电扇
音频输出
麦克风
平台
硬件
Scratch控制电扇程序
键盘、鼠标
图7Scratch编程界面
6结束语
针对小学生编程教育,设计并实现了一种便携式的嵌入式
开发教育平台。其中将RK3399芯片作为主控单元,STM32模
块作为控制单元,语音处理模块作为语音信号的收发和处理单
元,完成相应功能。在嵌入式开发平台中搭载支持Scratch软件
的操作环境,并设计了两个可扩展性较强的编程教学案例。实
验结果表明,所搭建嵌入式开发平台操作方便、外设可控性灵
活;编程环境简单,可应对小学生编程学习的各种需求;编程教
学案例具有丰富的思维逻辑,且体现了该平台较强的实用性和
趣味性。在后续工作中,可以对硬件排版及外设接口进行调
整,提高美观性和舒适性;软件方面,可以开发出更多的应用功
能和相关案例,来丰富小学生的编程趣味,提高其使用体验。
Computer Knowledge and Technology电脑知识与技术第17卷第10期(2021年4月)
参考文献:
[1]李晓冬,李淑明.“互联网+”背景下基础电路实验教学改革研
究[J].教育现代化,2017,4(46):41-42.
[2]赵苏亚.小学人工智能教育机器人的设计与应用研究[D].武
汉:华中师范大学,2019.
[3]胡慧廷,徐晓梅.Scratch软件在中学物理教学中的应用初探[J].物理通报,2016,35(3):93-100.
[4]熊秋娥,葛越.Scratch游戏化编程培养小学生计算思维的实
证研究[J].基础教育,2019,16(6):27-35.
[5]张翠翠,张世娇,张鹏辉,等.积木式多层级数字电路实验箱[J].
实验技术与管理,2019,36(3):98-102.
[6]刘瑞涛.单片机实验箱设计与制作[J].电子制作,2014(4):
12,51.
[7]陈凯,魏文博,邓明.嵌入式系统教学实验板开板[J].实验技术
与管理,2016,33(1):82-85,95.
[8]张昊,蒋毅.面向嵌入式机器视觉的图编程式算法开发平台
设计[J].电子测量技术,2020,43(9):171-176.
[9]朱向庆,黎东涛,苏超益,等.适合于项目教学法的三合一单片
机实验箱设计[J].实验技术与管理,2013,30(7):55-59. [10]Xu Chunshu.Design and Implementation of Intelligent Green⁃house System based on STM32[J].International Core Journal of Engineering,2020,6(7).
[11]林国伟.单片机实验教学改革初探[J].电脑知识与技术, 2017,13(14):125-126.
【通联编辑:谢媛媛】
(上接第32页)
[4]姜元军,来丽芳,李亚丹,等.基于GIS的城市内涝预警预
报系统设计与实现[J].测绘与空间地理信息,2016,39(8): 69-71.
[5]邱祥峰,,王晓强,等.基于服务号和图像识别的城市
内涝监测方法[J].中国市政工程,2018(2):92-94,98,135-136.
[6]Chang N B,Guo D H.Urban flash flood monitoring,mapping and forecasting via a tailored sensor n
etwork system[C]//2006 IEEE International Conference on Networking,Sensing and
Control.April23-25,2006,Ft.Lauderdale,FL,USA.IEEE,2006: 757-761.
[7]高晓亮,王志良,王馨,等.基于HSV空间的视频实时水位检测
算法[J].郑州大学学报(理学版),2010,42(3):75-79. [8]邓玉芬,沈明,阮锐,等.基于图像识别技术的沿岸潮汐测量方
法研究[J].现代电子技术,2010,33(13):120-122.
[9]薛丰昌,宋肖依,唐步兴,等.视频监控的城市内涝监测预警[J].
测绘科学,2018,43(8):50-55,61.
【通联编辑:梁书】
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论