一种软硬件结合的人工智能教育学习系统[发明专利]

(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 202011294763.3
(22)申请日 2020.11.18
(71)申请人 华南师范大学
地址 510006 广东省广州市番禺区外环西
路378号华南师范大学信息光电子科
技学院
(72)发明人 马琼雄 廖晓燕 张准 叶朗桦 
李春宇 沈沛杰 黄焯鹏 羊宇弘 
廖想 
(74)专利代理机构 广州容大知识产权代理事务
所(普通合伙) 44326
代理人 潘素云
(51)Int.Cl.
G06F  8/34(2018.01)
G06F  8/38(2018.01)
G09B  5/08(2006.01)
(54)发明名称一种软硬件结合的人工智能教育学习系统(57)摘要本发明公开了一种软硬件结合的人工智能教育学习系统,包括基于blockly二次开发的图形化编程软件、为人工智能教育定制的硬件平台以及用于保存用户信息、助力教学管理的学习平台;图形化编程软件包括图形化编程Web端程序以及Python服务端程序。本发明开设了单个函数定义编程块的保存与加载、函数定义体的显示与隐藏,可在项目需要的时候随时加载用户之前所拼的函数块,并且在复杂程序的图形化编程的时候隐藏函数体定义,使得编程区简洁,用户使用体验较好;能自动生成编程块,方便在系统上开发更多的人工智能应用案例,可扩
展性强;并将软件生成的python代码直接通过界面按钮运行和设置自启动,
方便学生物理创意作品的创作。权利要求书4页  说明书12页  附图5页CN 112463138 A 2021.03.09
C N  112463138
A
1.一种软硬件结合的人工智能教育学习系统,其特征在于,包括基于blockly二次开发的图形化编程软件、为人工智能教育定制的硬件平台以及用于保存用户信息、助力教学管理的学习平台;
所述图形化编程软件包括图形化编程Web端程序以及Python服务端程序;
所述图形化编程Web端程序包括软件界面以及编程块自动生成组件;
所述软件界面包括编程块区、编程区、python代码显示区、调试区和功能区;
所述编程块区包括多个功能模块,每个功能模块内包含众多图形化编程块,每个图形化编程块对应一段能实现其文字描述的功能的python代码;
所述编程区是用户进行图形化编程的区域;用户从编程块区的各个功能模块中拖出实现功能所需的编程
块到编程区,按照一定的程序逻辑进行拼接组合,形成实现特定功能的图形化代码;用户可将实现特定功能的图形化代码拼接成函数的形式,点击鼠标右键,选择“函数块保存”,即可实现单个函数定义体的保存,保存的函数体为文本文件格式,可在任何需要的时候重新从此文本文件中加载、调用此函数体;
所述python代码显示区用于显示用户在编程区所拼接的编程块对应的python代码,用户可查看每一个编程块对应的python代码与编程块文字描述之间的联系,便于理解此段python代码的功能;
所述调试区用于与用户进行交互,输出用户代码运行的信息,以及观看程序运行效果,以及根据报错提示进行代码调试;
所述功能区具有运行代码、停止运行、设置自启和取消自启功能;
所述编程块自动生成组件用于自动生成编程块,通过在配置文件配置编程块样式和设定对应python代码后,能自动生成编程块区内的各个编程块,并导出在图形化编程软件的编程块区;
所述Python服务端程序用于监听和接收图形化编程Web端程序发送过来的消息流,解析出command字段和param字段,根据command字段解析出用户在图形化编程web端程序点击的功能按钮。
2.根据权利要求1所述的软硬件结合的人工智能教育学习系统,其特征在于,所述硬件平台是为中小学人工智能教育而设计的,方便各种硬件的连接以及各种人工智能应用案例的实现;包括扩展板和树莓派,
扩展板和树莓派电连接;
所述扩展板包括电源电路、PWM电路、加密电路、3.3V稳压电路、电机驱动电路、蜂鸣器电路、红外遥控电路、IIC通信接口、SPI通信接口、传感器接口、电机接口、PWM接口以及电池接口;
所述电源电路分别与树莓派、电池接口电连接,通过外接电池或适配器对树莓派扩展板进行供电;
所述PWM电路分别与树莓派、电机驱动电路、PWM接口电连接,产生PWM信号,对扩展板上的电机驱动电路、PWM接口进行控制;
所述电机驱动电路分别与树莓派、电机接口电连接,使用两块芯片,每块芯片产生两路驱动,共四路驱动电流输出到所述电机接口;
所述加密电路与树莓派电连接,将生成的序列码实时发送至树莓派,当识别到正确的序列码后,用户才能进入到树莓派扩展板界面;
所述3.3V稳压电路分别与树莓派、蜂鸣器电路电连接,将所述5V供电稳压为3.3V,为所述蜂鸣器电路进行供电;
所述IIC通信接口与树莓派电连接,为树莓派扩展板提供IIC通信接口;
所述SPI通信接口与树莓派电连接,为树莓派扩展板提供SPI通信接口;
所述红外遥控电路与树莓派电连接,用户通过红外遥控对扩展板进行远距离控制;
所述传感器接口与树莓派电连接,为树莓派扩展板提供传感器接口。
3.根据权利要求1所述的软硬件结合的人工智能教育学习系统,其特征在于,所述编程块区包括基础编程模块、IO操作模块、IO应用模块、电机舵机模块、视觉模块、语音模块、机器学习模块和具体应用案例模块;
所述基础编程模块对应的python代码是python的标准写法,包括输入输出、循环、数字、逻辑、文本和列表,是在blockly原有基础上根据教学需求进行补充;
所述IO操作模块对应的python代码是树莓派底层GPIO口操作的代码,调用树莓派GPIO 库控制GPIO输出特定电平,以及获取特定口的电平值的底层硬件代码;
所述IO应用模块、电机舵机模块、视觉模块、语音模块、机器学习模块以及具体应用案例模块对应的python代码是算法库中对应类的实例化加功能代码;其中:所述IO应用模块的python代码对应算法库中gpio.py中各种传感器类代码,可实现对输入型传感器和输出型传感器的简单使用,以及产生PWM波;所述IO应用模块的代码可由IO 操作模块的代码经过一定的逻辑拼接起来实现;
所述视觉模块充分利用计算机视觉库opencv实现了对图像数据的简单处理,使用opencv自带的级联分类器实现目标检测,使用opencv的训练器训练自己的分类器;
所述语音模块具有语音识别、语音合成和播放音频功能,可实现语音交互以及播放任意音频文件的功能;语音识别和语音合成均是集成了开源的百度语音API实现;
所述机器学习模块具有颜检测、人脸检测、颜追踪、数字方向识别、二维码识别、文字识别、翻译机器人、成语接龙机器人和聊天机器人功能,对应的python代码是算法库中对应类的实例化加功能函数,具体功能的实现包括调用计算机视觉库opencv中的图像处理算法、常用机器学习库sklearn算法、本地端调用已训练好的轻量级模型和通过网络远程调用百度AI开源API实现;
所述具体应用案例模块可通过其他基础模块如视觉模块、语音模块和电机舵机模块按照程序逻辑拼接组合实现;
所述算法库全部采用面向对象编程方式封装成python第三方库,并且经过代码加密处理后上传至pypi开源python第三方库网站上,运行图形化代码时,只需要用pip将最新的算法库下载到python环境中,即可成功调用算法库中各类的功能函数,实现代码功能。
4.根据权利要求1所述的软硬件结合的人工智能教育学习系统,其特征在于,所述编程块自动生成组件包
括配置模块、解析模块和编程块代码生成模块;自动生成编程块的过程由配置模块、解析模块和编程块代码生成模块实现;
所述配置模块是对将要生成的目标编程块的样式和属性进行定义,并将此模块内含的所有编程块的定义保存到同一份xml文件中,形成配置文档;编程块的定义包括编程块的颜、连接方式、与用户交互的变量、是否可接收值和对应的python代码,依次作为xml文件中独立的节点;
所述解析模块是一段python程序,通过python‑xml库实现提取配置模块生成的xml文档的各个节点的信息,从而获得所要生成编程块的样式和对应的python代码;通过解析模块可还原编程块的样式、属性和对应的python代码信息;
所述编程块代码生成模块可将解析模块提取出的零碎的编程块配置信息,通过字符串的拼接处理,形成描述块样式的js文件、描述块对应python代码的js文件以及将块添加进软件界面的html文件。
5.根据权利要求4所述的软硬件结合的人工智能教育学习系统,其特征在于,所述编程块代码生成模块生成的2份js文件,其中1份是块定义,描述编程块的样式和属性,另外1份是块对应的python代码生成器,描述编程块所对应的python代码;编程块代码生成模块的生成的html文件内的代码是图形化编程软件的web端程序界面代码,用于将所定义的编程块导出到图形化编程软件上;
将此html文件代码手动添加进图形化编程软件界面代码上,重启软件,即可将2份js文件中定义的编程块导出到软件上,即将编程块添加进图形化编程软件的编程块区,将此编程块拖动到编程区,即可看到此块对应的python代码。
6.根据权利要求4所述的软硬件结合的人工智能教育学习系统,其特征在于,自动生成编程块的用户操作流程为:
定义好将要生成编程块的颜、连接方式、与用户交互的变量、是否可接收值和对应的python代码段信息;写入xml配置文件节点的相应位置;
运行解析模块的python程序;
将编程块代码生成模块生成的三份代码文件手动添加进软件的代码上,重启软件;
在图形化编程软件界面的编程块区看到新生成的编程块,此编程块的样式为xml文件中定义的,将其拖拽至编程区,可在python代码显示区观看到此块对应的python代码。
7.根据权利要求1所述的软硬件结合的人工智能教育学习系统,其特征在于,所述编程区函数定义体的保存的实现过程为:用户在所选函数体的函数名上右击鼠标,选择“保存函数”按钮,web端程序接收到保存的指令后,将从鼠标点击块开始,依次搜索此块下连接的各个编程块,确定此函数的函数体的组成,
然后将搜索到的子块的类型,用户输入的参数保存为XML格式字符串,按照各个子块出现的顺序将所有XML格式字符串保存到同一个文本文件下;
所述编程区函数定义体的加载的实现过程为:在功能区选择“从本地加载函数体”按钮,web端程序将从保存的文本文件中顺序读取XML格式字符串,按照字符串的内容重新创建子块,并填充用户输入,实现将函数体在编程区内还原;
还原后的函数体为一个函数调用块,右击此函数调用块,即可选择展示函数块的定义体,看到函数内部的实现过程,右击鼠标,选择隐藏此函数体,就可隐藏函数体定义,实现函数体的显示与隐藏,便于在复杂程序中进行图形化编程。
8.根据权利要求1所述的软硬件结合的人工智能教育学习系统,其特征在于,所述功能区设置自启功能具体为:在用户编好程序点击“设置自启”按钮后,可将用户所编的图形化代码设置成树莓派开机自动运行;然后启动树莓派,即可运行在图形化编程软件上所编好的代码,实现作品功能,不需桌面环境,方便各种创意作品的制作与展示。
9.根据权利要求2所述的软硬件结合的人工智能教育学习系统,其特征在于,所述图形
化编程Web端程序还包括消息编码模块以及消息发送模块;
所述消息编码模块用于接收用户在图形化编程web端程序功能区的操作,当用户点击功能区的某一个功能按钮时,消息编码模块首先会捕获用户具体操作的功能,生成对应这个功能的command字段,根据定义好的command字段需要的参数的要求获取参数,如运行和设置自启需要用户所编的python代码程序,则消息编码模块就将当前编程区的块转换为对应的Python代码,作为param字段;若是停止运行、取消自启就不需要额外获取其他任何参数,直接将param设置为none;然后以json格式编码成具有command字段和param字段的消息,分别表示Python服务端程序需要执行的指令以及指令所需要的参数;
所述消息发送模块用于创建一个与Python服务端程序联系的Websocket管道传输模块,将json格式的消息以流的方式发送到管道中;Websocket管道传输模块包括Websocket 管道和Websocket端口,Websocket管道和Websocket端口连接;
所述Python服务端程序部署在树莓派上,Python服务端程序包括自启监测模块、消息接收模块以及解码执行模块;
所述自启检测模块用于每次树莓派开机时,Python服务端程序自动启动,自启检测模块运作,检测是否有被标记的自启程序,若有则自动运行被标记的程序;若无,则自启检测模块工作结束;
所述消息接收模块用于从Websocket端口中监听和接收消息流;
所述解码执行模块用于解析出command字段和param字段,根据command字段解析出用户在web端程序点击的功能按钮。
10.根据权利要求9所述的软硬件结合的人工智能教育学习系统,其特征在于,所述图形化编程Web端程序与Python服务端程序通过Websocket管道传输模块连接;所述Websocket管道传输模块用于传输消息发送模块发送过来的流;
运行用户所编的图形化编程代码所需要经过的模块为:消息编码模块、消息发送模块、Websocket管道传输模块、消息接收模块和解码执行模块;
设置代码自启功能的实现过程为:用户拼接完图形化程序后,点击功能区的设置自启按钮,web端程序的消息编码模块获取用户设置自启的操作,生成set_autostart的command 字段,并且获得当前代码显示区的python代码作为param字段,两者组合形成json格式的消息,传输至消息发送模块,消息发送模块指定发送和接收的websocket端口,并将编码后的消息传输至websocket管道传输模块,websocket管道传输模块将消息转换成流进行传输至Python服务端程序消息接收模块,消息接收模块在特定websocket端口接收消息流,传输至解码执行模块,由解码执行模块解析出command字段和param字段,根据解析出的set_ autostart字段,将param字段的python代码标记为autostart;树莓派关机重启后,Python 服务端程序会自动启动,自启检测模块工作,检测程序中是否有autostart的代码,若有,则运行被标记为autostart的程序,若无,则自启检测模块处于监听状态。

本文发布于:2024-09-22 03:43:15,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/419650.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模块   编程   代码   用户   图形化
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议