CN112614403A - 硬件仿真方法及装置 - Google Patents
硬件仿真方法及装置 Download PDFInfo
- Publication number
- CN112614403A CN112614403A CN202011564204.XA CN202011564204A CN112614403A CN 112614403 A CN112614403 A CN 112614403A CN 202011564204 A CN202011564204 A CN 202011564204A CN 112614403 A CN112614403 A CN 112614403A
- Authority
- CN
- China
- Prior art keywords
- hardware
- simulation
- module
- interaction module
- processing module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 132
- 238000000034 method Methods 0.000 title claims abstract description 72
- 230000003993 interaction Effects 0.000 claims abstract description 98
- 230000005540 biological transmission Effects 0.000 claims abstract description 42
- 230000003213 activating effect Effects 0.000 claims abstract description 12
- 230000002452 interceptive effect Effects 0.000 claims description 17
- 230000001133 acceleration Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 6
- 238000009434 installation Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 35
- 238000010586 diagram Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 4
- 241000270666 Testudines Species 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 235000013559 Schnittsellerie Nutrition 0.000 description 1
- 244000169997 Schnittsellerie Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B19/00—Teaching not covered by other main groups of this subclass
- G09B19/0053—Computers, e.g. programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Entrepreneurship & Innovation (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种硬件仿真方法、装置及存储介质,该方法包括,响应于浏览器接收到预设指令,激活交互模块及处理模块,并应用交互模块接收原始信息;其中,原始信息包括参数信息;按照预设传输函数,将原始信息传输到处理模块;其中,预设传输函数,包括仿真硬件的标识信息;针对仿真硬件的标识信息,按照参数信息,应用处理模块,模拟仿真硬件的运行,并将运行结果反馈到交互模块,由交互模块展示仿真硬件的运行结果。通过浏览器来激活交互模块,并以交互模块接收原始信息,使用户直接通过浏览器进入仿真界面,实现硬件的仿真模拟。其使用门槛低、兼容性强,无需安装和配置环境,开浏览器即使用,可扩展性强。
Description
技术领域
本发明涉及仿真模拟技术,尤其是指一种硬件仿真方法及装置。
背景技术
硬件仿真器是在在编程教育领域对于开源硬件使用的一种方便的方法,面向年龄较小的用户群,其目的是降低用户使用开源硬件的门槛,该方法省去了复杂的环境搭建流程和硬件连接。
用户在使用编程硬件主控板时,可能因为系统或硬件的原因导致电脑和主控板不能正常连接,从而无法使用。目前硬件使用时需要用户在电脑上配置硬件的使用环境,对于没有基础的用户来说,遇到问题后无法自行排查问题。
发明内容
本发明所要解决的技术问题是:提供一种硬件仿真方法及装置,降低硬件仿真器的使用门槛。
为了解决上述技术问题,本发明采用的技术方案为:一种硬件仿真方法,用于模拟仿真硬件,包括如下步骤:
响应于浏览器接收到预设指令,激活交互模块处理模块,并应用所述交互模块接收原始信息;其中,所述原始信息包括参数信息;
按照预设传输函数,将所述原始信息传输到处理模块;其中,所述预设传输函数,包括仿真硬件的标识信息;
针对所述仿真硬件的标识信息,按照所述参数信息,应用所述处理模块,模拟所述仿真硬件的运行,并将所述运行结果反馈到所述交互模块,由所述交互模块展示所述仿真硬件的运行结果。
其中,所述预设传输函数为postmessage;
所述将所述原始信息传输到处理模块的步骤,具体为,按照所述postmessage,所述交互模块将所述原始信息传输到所述处理模块;和/或,
将所述运行结果反馈到所述交互模块的步骤,具体为,按照所述postmessage,将所述运行结果反馈到所述交互模块。
进一步地,所述交互模块为device_simulator模块;
所述检测到预设指令,激活交互模块,并应用所述交互模块接收原始信息的步骤,具体为:
检测到启动信号,浏览器调用device_simulator模块接收所述参数信息。
进一步地,所述仿真硬件的标识信息为仿真硬件的ID值,所述处理模块为skulpt模块;所述针对所述仿真硬件的标识信息,按照所述参数信息,应用所述处理模块,模拟所述仿真硬件的运行的步骤,具体为,检测并按照所述仿真硬件的ID值,应用所述参数信息,通过所述skulpt模块,模拟所述仿真硬件的运行。
可选地,若所述处理模块被调用screen类方法,则所述按照预设传输函数,将所述原始信息传输到处理模块,具体为,所述交互模块按照预设传输函数,通过所述浏览器的Canvas接收所述参数信息;
所述模拟所述仿真硬件的运行,并将所述运行结果反馈到所述交互模块,由所述交互模块展示所述仿真硬件的运行结果的步骤,具体为,所述处理模块调用所述浏览器的Canvas生成图像数据,并使用预设传输函数,将所述图像数据传递到所述交互模块,所述交互模块将图像数据展现到所述浏览器的页面。
可选地,若所述处理模块被调用sensor类方法,则所述应用所述交互模块接收原始信息,具体为,按照所述原始信息中的参数类型,通过相应的接口传递相应的参数值;其中,所述参数类型包括主控板姿态、XYZ轴的加速度、XYZ轴的转向加速、光线强度或温度中的至少一个;
所述模拟所述仿真硬件的运行,并将所述运行结果反馈到所述交互模块,具体为,按照所述参数类型,所述处理模块将所述参数值进行转译,并将转译后的参数值回传到所述交互模块。
若所述处理模块被调用sensor类方法,且所述交互模块设有控制条;
所述应用所述交互模块接收原始信息,具体为,所述交互模块通过所述控制条的运动状态发送所述原始信息;其中,所述原始信息,包括参数值;
所述按照预设传输函数,将所述原始信息传输到处理模块,具体为,在预设的时间阈值内,根据所述控制条的运动状态,将所述参数值传输到所述处理模块;
所述处理模块所述模拟所述仿真硬件的运行,并将所述运行结果反馈到所述交互模块,由所述交互模块展示所述仿真硬件的运行结果的步骤,具体为,所述处理模块记录所述参数值,且所述交互模块根据所述控制条的运动状态所对应的数据,展示所述仿真硬件的运行结果。
可选地,若所述处理模块被调用buzzer类方法,则所述模拟所述仿真硬件的运行,并将所述运行结果反馈到所述交互模块,由所述交互模块展示所述仿真硬件的运行结果的步骤,具体为,所述处理模块调用Audio中的方法,按照声音标识,选择目标声音进行播放。
可选地,所述模拟所述仿真硬件的运行,并将所述运行结果反馈到所述交互模块,由所述交互模块展示所述仿真硬件的运行结果的步骤,具体包括:
调用所述处理模块中的LED类方法,计算出所述LED的运行状态;
通过所述预设传输函数传输,将所述LED的运行状态,反馈到所述交互模块,并控制浏览器模拟所述LED的运行;
其中,所述LED的运行状态,包括开关状态。
本申请第二方面提供一种硬件仿真装置,用于模拟仿真硬件,包括:
交互模块,用于接收原始信息;其中,所述原始信息包括参数信息;
所述交互模块,还用于按照预设传输函数,将所述原始信息传输到处理模块,以及展示所述仿真硬件的运行结果;其中,所述预设传输函数,包括仿真硬件的标识信息;
处理模块,用于针对所述仿真硬件的标识信息,按照所述参数信息,应用所述处理模块,模拟所述仿真硬件的运行,并将所述运行结果反馈到所述交互模块。
本发明的有益效果在于:通过浏览器来激活交互模块,并以交互模块接收原始信息,使用户直接通过浏览器进入仿真界面,跳过现有技术中安装程序以及配置环境的步骤。同时,交互模块被激活时,处理模块会在操作系统中运行,形成虚拟的硬件仿真环境。当交互模块接收到原始信息之后,会通过预设的特定函数传递到处理模块之中,通过处理模块的转换之后,再将原始信息转化成浏览器可识别的信息,再由交互模块收发信息,实现硬件的仿真模拟。
附图说明
下面结合附图详述本发明的具体结构:
图1为本发明的硬件仿真方法的第一实施例的流程图;
图2为本发明的硬件仿真方法的第二实施例的流程图;
图3为本发明的硬件仿真方法的第三实施例的流程图;
图4为本发明的硬件仿真方法的第四实施例的流程图;
图5为本发明的硬件仿真方法的第五实施例的流程图;
图6为本发明的硬件仿真装置的第一实施例的模块方框图;
图7为本发明的处理模块的第一实施例的整体接口方框图;
图8为本发明的屏幕显示类接口的第一实施例的示意图;
图9为本发明的海龟绘图类接口的第一实施例的示意图;
图10为本发明的传感器类接口的第一实施例的示意图;
图11为本发明的蜂鸣器类接口的第一实施例的示意图;
图12为本发明的LED灯类接口的第一实施例的示意图;
100-交互模块;200-处理模块。
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
请参阅图1,图1为本发明的硬件仿真方法的第一实施例的流程图。
本申请的第一方面提供了一种硬件仿真方法,该方法的第一实施例,用于模拟仿真硬件。该方法的第一实施例,包括如下步骤:
步骤S101、响应于浏览器接收到预设指令,激活交互模块及处理模块,并应用交互模块接收原始信息;其中,原始信息包括参数信息;
步骤S102、按照预设传输函数,将原始信息传输到处理模块;其中,预设传输函数,包括仿真硬件的标识信息;
步骤S103、针对仿真硬件的标识信息,按照参数信息,应用处理模块,模拟仿真硬件的运行,并将运行结果反馈到交互模块,由交互模块展示仿真硬件的运行结果。
本发明的优势在于,通过浏览器来激活交互模块,并以交互模块接收原始信息,使用户直接通过浏览器进入仿真界面,跳过现有技术中安装程序以及配置环境的步骤。同时,交互模块被激活时,处理模块会在操作系统中运行,形成虚拟的硬件仿真环境。当交互模块接收到原始信息之后,会通过预设的特定函数传递到处理模块之中,通过处理模块的转换之后,再将原始信息转化成浏览器可识别的信息,再由交互模块收发信息,实现硬件的仿真模拟。
需要了解的是,本实施例中,原始信息是python代码或者其他硬件操作,而处理模块输出的运行结果,则属于前端代码,尤其是指JS代码。而交互模块,主要用来模拟游戏机,尤其是掌上游戏机。
还需要理解的是,浏览器接收到预设指令,包括:首先,打开仿真模拟器;其次,用户输入引进库的代码,决定将要模拟的硬件。
可选地,预设传输函数为postmessage;
步骤S101中,将原始信息传输到处理模块的步骤,具体为,
按照postmessage,交互模块将原始信息传输到处理模块;和/或,
步骤S103、将运行结果反馈到交互模块,具体为,
按照postmessage,将运行结果反馈到交互模块。
需要了解的是,postmessage也可称为postmsg,而使用postmessage进行交互,而非直接改变处理模块中的数据,则更有利于同时模拟多个硬件,只需要将仿真硬件的标识信息传输到处理模块,即可应用不同的接口,从而模拟不同的硬件。
可选地,交互模块为device_simulator模块;
步骤S101、检测到预设指令,激活交互模块,并应用交互模块接收原始信息的步骤,具体为:
检测到启动信号,浏览器调用device_simulator模块接收参数信息。
需要了解的是,device_simulator,又称“设备模拟器”,主要用来模拟前端界面。通过模拟Screen和SystemInfo类的行为,device_simulator能够提供应用程序在设备上的外观图片。
device_simulator是在web端展现给使用者的界面,用户可选择使用svg格式在网页中绘制一个和真实主控板相同的仿真图像,可以在这张图像中观察到主控板屏幕、LED灯等多种仿真硬件的变化状态,且通过图像上的按键来控制主控板,还可以向掌机发送传感器相关的信息。
进一步地,仿真硬件的标识信息为仿真硬件的ID值,处理模块为skulpt模块;
步骤S103中,针对仿真硬件的标识信息,按照参数信息,应用处理模块,模拟仿真硬件的运行,具体为,
检测并按照仿真硬件的ID值,应用参数信息,通过skulpt模块,模拟仿真硬件的运行。
其中,在使用者运行python代码时,会自动调用skulpt,将python转为浏览器可以运行的js代码,以在浏览器中实现模拟仿真器件的效果;skulpt类似于编程主控板的固件,其支持硬件仿真器运行的内部逻辑,可以给使用者提供代码的运行环境;与此同时,device_simulator类似编程主控板的展示,使用者可以看到代码的运行效果,给其直观的感受,实现了和主控板的各种交互。
此外,由于skulpt可以设置与多个硬件接口连接,如果针对各硬件接口对应的库分别运行代码,会产生大量的冗余;而运用postmessage配合仿真硬件的ID值使用,可以应用同时模拟多个硬件;并按照各硬件所需的参数信息,直接进行仿真模拟。
该方法的第一实施例,侧重于对仿真模拟的整体论述,主要是针对device_simulator、postmessage以及skulpt进行论述。整体而言,本实施例中的技术方案为:启动硬件仿真器,在dom下挂起device_simulator;引入编译好的skulpt库。调用postmessage,将用户输入的数据传递到skulpt的库;而skulpt会根据用户输入的数据,运用不同的接口进行仿真操作。
请参阅图2,图2为本发明的硬件仿真方法的第二实施例的流程图。
步骤S201、响应于浏览器接收到预设指令,激活交互模块及处理模块,应用交互模块接收原始信息;其中,原始信息包括参数信息;
步骤S202、若处理模块被调用screen类方法,则按照预设传输函数,处理模块通过浏览器的Canvas接收参数信息;
步骤S203、处理模块调用浏览器的Canvas,按照参数信息生成图像数据,并使用预设传输函数,将图像数据传递到交互模块,交互模块将图像数据展现到浏览器的页面。
由此,应用web API中的Canvas API来模拟仿真器中主控板的屏幕,从而方便用户绘制图形。当用户调用skulpt的不同接口和参数时,可以直接使用Canvas生成相应的图形数据;然后,再通过postmessage函数,将图形数据传输到device_simulator,再由device_simulator将图像展现到浏览器的网页中。
需要理解的是,对于python的学习者而言,应用本实施例的技术方案之后,用户可以直接在网页上应用python进行绘图,省去了软件安装、软件环境调试及问题检测的问题;实现屏幕显示与模拟海龟绘图,方便python的初学者使用图形绘制库。
本实施例中,还包括存储虚拟文件的方法,具体如下:
步骤S211、检测到上传命令,通过skulpt调用vfs中的目标对象,存储待存储文件;其中,所述目标对象以待存储文件的文件名作为键,以待存储文件的内容作为存储内容。其中,目标对象可以是json对象。
进一步地,本实施例中,还包括调用目标文件的方法,具体如下:
步骤S221、响应于screen.loadPng方法,以文件名、x坐标及y坐标作为参数,通过所述skulpt调用Canvas绘制目标文件的数据,以在交互模块显示图片。
由此,可以快速存储、调用、整合资源,以方便用户绘制图片。
在一实施例中,用户直接接收输入代码,并以交互模块获取传感器对应的数值,具体请参阅图3,图3为本发明的硬件仿真方法的第三实施例的流程图。
步骤S301、响应于浏览器接收到预设指令,激活交互模块及处理模块,并应用交互模块接收原始信息,若处理模块被调用sensor类方法,则按照原始信息中的参数类型,通过相应的接口传递相应的参数值,并通过相应的接口传递相应的参数值;其中,原始信息包括参数信息;
其中,参数类型包括主控板姿态、XYZ轴的加速度、XYZ轴的转向加速、光线强度或温度中的至少一个;
步骤S302、按照预设传输函数,将原始信息传输到处理模块;其中,预设传输函数,包括仿真硬件的标识信息;
步骤S303、针对仿真硬件的标识信息,按照参数信息,应用处理模块处理模块将参数值进行转译,并将转译后的参数值回传到交互模块。其中,原始信息包括参数信息。
具体的,当使用者在device_simulator控制掌机时,做出了按下按键的动作,发送了传感器数值;则device_simulator会将消息通过postmsg发送给skulpt,skulpt收到消息后,将相应的传感器数值设置为传入的值。由此,可以直接通过浏览器、device_simulator、postmessage以及skulpt的合作,可以同时模拟多种类型的传感器,实现较优地仿真效果。
可选地,若处理模块被调用sensor类方法,且交互模块设有控制条;
步骤S311、响应于浏览器接收到预设指令,激活交互模块及处理模块,若处理模块被调用sensor类方法,则应用交互模块接收原始信息,具体为,交互模块通过控制条的运动状态接收原始信息;其中,原始信息,包括参数值;
步骤S312、按照预设传输函数,在预设的时间阈值内,根据控制条的运动状态,将参数值传输到处理模块;其中,预设传输函数,包括仿真硬件的标识信息;
步骤S313、针对仿真硬件的标识信息,按照参数信息,处理模块记录参数值,且交互模块根据控制条的运动状态所对应的数据,展示仿真硬件的运行结果。
需要了解的是,本实施例中处理模块的运行操作,仅仅为记录传感数值,而非模拟运行,而仿真硬件的运行结果是交互模块内部的数据传递结果。由此,通过步骤S311~步骤S313,形成了限流机制,当用户拖动控制条的时候,会实时读取当前的值,并在规定的时间机制发送消息。由此,形成限流机制,防止瞬间发送的数据量过大造成系统崩溃或取值异常。因为消息的发送有延时,为了避免最后拿到的消息和控制条展示的消息不一致,这里采用了“先发再等”的机制,从而,保证处理器模块中的传感器数值与交互模块输出的内容一致。
请参阅图4,图4为本发明的硬件仿真方法的第四实施例的流程图。
步骤S401、响应于浏览器接收到预设指令,激活交互模块并应用交互模块接收原始信息,处理模块被调用buzzer类方法;其中,原始信息包括参数信息;
步骤S402、按照预设传输函数,将原始信息传输到处理模块;其中,预设传输函数,包括仿真硬件的标识信息;
步骤S403、针对仿真硬件的标识信息,按照参数信息,应用处理模块,处理模块调用Audio中的方法,按照声音标识,选择目标声音进行播放。
本实施例中,应用skulpt调用buzzer类方法,应用Web Audio API这一控制音频的接口,模拟蜂鸣器播放声音。由此,通过网页实现音频器件的模拟,方便python的初学者学习音频器件编程的相关知识。
请参阅图5,图5为本发明的硬件仿真方法的第五实施例的流程图。
步骤S501、响应于浏览器接收到预设指令,激活交互模块及处理模块,并应用交互模块接收原始信息;其中,原始信息包括参数信息;
步骤S502、按照预设传输函数,将原始信息传输到处理模块;其中,预设传输函数,包括仿真硬件的标识信息;
步骤S503、针对仿真硬件的标识信息,按照参数信息,应用处理模块,调用处理模块中的LED类方法,计算出LED的运行状态,通过预设传输函数传输,将LED的运行状态,反馈到交互模块,并控制浏览器模拟LED的运行;其中,LED的运行状态,包括开关状态。
本实施例中,可将主控图片显示于网页,其为SVG格式;而浏览器的页面还会设置一个可编程的模拟对象,这一模拟对象优选为圆形,表示LED。由此,可以较为真实地模拟LED灯,以实现更真实的模拟效果。
需要了解的是,硬件仿真方法的第二、三、四、五实施例,均是在第一实施例的基础上,不同实施方式的论述;其中的交互模块为device_simulator,处理模块为skulpt,传递信息的采用postmessage。这四个实施例,分别侧重于针对不同种类硬件的模仿,其整体步骤与本发明的第一实施例相近,故不赘述。
请参阅图6,图6为本发明的硬件仿真装置的第一实施例的模块方框图;本申请第二方面提供一种硬件仿真装置,用于模拟仿真硬件,包括:
交互模块100,用于接收原始信息;其中,原始信息包括参数信息;
交互模块100,还用于按照预设传输函数,将原始信息传输到处理模块200,以及展示仿真硬件的运行结果;其中,预设传输函数,包括仿真硬件的标识信息;
处理模块200,用于针对仿真硬件的标识信息,按照参数信息,应用处理模块200,模拟仿真硬件的运行,并将运行结果反馈到交互模块。
上述各模块本质上是虚拟模块,承载了上述各实施例中的方法。上述各模块可以是任意实际产品组合而成的。本实施例中通过处理模块200的不同接口,实现多种硬件的模仿。具体请参阅图7~图12;图7为本发明的处理模块的第一实施例的整体接口方框图;图8为本发明的屏幕显示类接口的第一实施例的示意图;图9为本发明的海龟绘图类接口的第一实施例的示意图;图10为本发明的传感器类接口的第一实施例的示意图;图11为本发明的蜂鸣器类接口的第一实施例的示意图;图12为本发明的控制LED灯类接口的第一实施例的示意图。
需要了解的是,本申请隐藏公开了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中所述的方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到,上述实施例方法,可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器镜像(Read Only Memory image,ROM)/随机存取存储器(Random AccessMemory,RAM)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
综上所述,本发明提供的硬件仿真方法、装置及存储介质,其使用门槛低兼容性强,无需安装和配置环境,打开浏览器就可以使用;而且,在其配合kittenbot的独家硬件之后,更符合真实使用环境,编程用接口和真实硬件接口相近,甚至完全一致,可无缝切换到真实硬件的使用;且这一硬件仿真方法还具有较优地可扩展性,只需在skulpt中添加不同硬件类所对应的代码,即可支持多种不同的硬件的模拟;此外,其交互性好,用户可运用代码绘制图形、播放声音、手动控制硬件的按键和传感器数值,还可模拟LED灯等器件。
此外,任意网页,均可配合编程IDE,以使用本申请的技术方案,从而实时看到代码的编写效果,而在用户使用熟练后,可掌握真实硬件的编程方法,并顺利过渡到下一阶段。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种硬件仿真方法,用于模拟仿真硬件,其特征在于,包括如下步骤:
响应于浏览器接收到预设指令,激活交互模块处理模块,并应用所述交互模块接收原始信息;其中,所述原始信息包括参数信息;
按照预设传输函数,将所述原始信息传输到处理模块;其中,所述预设传输函数,包括仿真硬件的标识信息;
针对所述仿真硬件的标识信息,按照所述参数信息,应用所述处理模块,模拟所述仿真硬件的运行,并将所述运行结果反馈到所述交互模块,由所述交互模块展示所述仿真硬件的运行结果。
2.如权利要求1所述的硬件仿真方法,其特征在于,所述预设传输函数为postmessage;
所述将所述原始信息传输到处理模块的步骤,具体为,
按照所述postmessage,所述交互模块将所述原始信息传输到所述处理模块;和/或,
将所述运行结果反馈到所述交互模块的步骤,具体为,
按照所述postmessage,将所述运行结果反馈到所述交互模块。
3.如权利要求1所述的硬件仿真方法,其特征在于,所述交互模块为device_simulator模块;
所述检测到预设指令,激活交互模块,并应用所述交互模块接收原始信息的步骤,具体为:
检测到启动信号,浏览器调用device_simulator模块接收所述参数信息。
4.如权利要求1或2或3所述的硬件仿真方法,其特征在于,所述仿真硬件的标识信息为仿真硬件的ID值,所述处理模块为skulpt模块;
所述针对所述仿真硬件的标识信息,按照所述参数信息,应用所述处理模块,模拟所述仿真硬件的运行,具体为,
检测并按照所述仿真硬件的ID值,应用所述参数信息,通过所述skulpt模块,模拟所述仿真硬件的运行。
5.如权利要求1~3任意一项所述的硬件仿真方法,其特征在于,若所述处理模块被调用screen类方法;
则所述按照预设传输函数,将所述原始信息传输到处理模块,具体为,
所述交互模块按照预设传输函数,通过所述浏览器的Canvas接收所述参数信息;
所述模拟所述仿真硬件的运行,并将所述运行结果反馈到所述交互模块,由所述交互模块展示所述仿真硬件的运行结果的步骤,具体为,
所述处理模块调用所述浏览器的Canvas生成图像数据,并使用预设传输函数,将所述图像数据传递到所述交互模块,所述交互模块将图像数据展现到所述浏览器的页面。
6.如权利要求1所述的硬件仿真方法,其特征在于,若所述处理模块被调用sensor类方法,则所述应用所述交互模块接收原始信息,具体为,
按照所述原始信息中的参数类型,通过相应的接口传递相应的参数值;其中,所述参数类型包括主控板姿态、XYZ轴的加速度、XYZ轴的转向加速、光线强度或温度中的至少一个;
所述模拟所述仿真硬件的运行,并将所述运行结果反馈到所述交互模块,具体为,按照所述参数类型,所述处理模块将所述参数值进行转译,并将转译后的参数值回传到所述交互模块。
7.如权利要求1~3或6任意一项所述的硬件仿真方法,其特征在于,若所述处理模块被调用sensor类方法,且所述交互模块设有控制条;
所述应用所述交互模块接收原始信息,具体为,所述交互模块通过所述控制条的运动状态接收所述原始信息;其中,所述原始信息,包括参数值;
所述按照预设传输函数,将所述原始信息传输到处理模块,具体为,在预设的时间阈值内,根据所述控制条的运动状态,将所述参数值传输到所述处理模块;
所述处理模块所述模拟所述仿真硬件的运行,并将所述运行结果反馈到所述交互模块,由所述交互模块展示所述仿真硬件的运行结果的步骤,具体为,所述处理模块记录所述参数值,且所述交互模块根据所述控制条的运动状态所对应的数据,展示所述仿真硬件的运行结果。
8.如权利要求1~3任意一项所述的硬件仿真方法,其特征在于,若所述处理模块被调用buzzer类方法,则所述模拟所述仿真硬件的运行,并将所述运行结果反馈到所述交互模块,由所述交互模块展示所述仿真硬件的运行结果的步骤,具体为:
所述处理模块调用Audio中的方法,按照声音标识,选择目标声音进行播放。
9.如权利要求1~3任意一项所述的硬件仿真方法,其特征在于,所述模拟所述仿真硬件的运行,并将所述运行结果反馈到所述交互模块,由所述交互模块展示所述仿真硬件的运行结果的步骤,具体包括:
调用所述处理模块中的LED类方法,计算出所述LED的运行状态;
通过所述预设传输函数传输,将所述LED的运行状态,反馈到所述交互模块,并控制浏览器模拟所述LED的运行;
其中,所述LED的运行状态,包括开关状态。
10.一种硬件仿真装置,用于模拟仿真硬件,其特征在于,包括:
交互模块,用于接收原始信息;其中,所述原始信息包括参数信息;
所述交互模块,还用于按照预设传输函数,将所述原始信息传输到处理模块,以及展示所述仿真硬件的运行结果;其中,所述预设传输函数,包括仿真硬件的标识信息;
处理模块,用于针对所述仿真硬件的标识信息,按照所述参数信息,应用所述处理模块,模拟所述仿真硬件的运行,并将所述运行结果反馈到所述交互模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011564204.XA CN112614403A (zh) | 2020-12-25 | 2020-12-25 | 硬件仿真方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011564204.XA CN112614403A (zh) | 2020-12-25 | 2020-12-25 | 硬件仿真方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112614403A true CN112614403A (zh) | 2021-04-06 |
Family
ID=75247935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011564204.XA Pending CN112614403A (zh) | 2020-12-25 | 2020-12-25 | 硬件仿真方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112614403A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114035447A (zh) * | 2021-10-20 | 2022-02-11 | 华南师范大学 | 用于中小学人工智能教育图形化编程软件的硬件仿真器 |
CN114911531A (zh) * | 2022-04-28 | 2022-08-16 | 苏州佳世达电通有限公司 | 一种硬件环境模拟方法及硬件环境模拟系统 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1828617A (zh) * | 2006-03-31 | 2006-09-06 | 电子科技大学 | 一种软硬件协同仿真/验证系统及矢量模式仿真/验证方法 |
CN102436351A (zh) * | 2011-12-22 | 2012-05-02 | 优视科技有限公司 | 通过拖拽手势控制应用界面的方法和装置 |
CN102541708A (zh) * | 2010-12-22 | 2012-07-04 | 无锡物联网产业研究院 | 一种实代码仿真的方法和装置 |
AU2012216313A1 (en) * | 2011-10-06 | 2013-05-02 | The Boeing Company | Aircraft emulation system |
CN106202685A (zh) * | 2016-07-01 | 2016-12-07 | 合肥海本蓝科技有限公司 | 一种软硬件协同仿真加速器运行环境搭建方法和装置 |
CN108694070A (zh) * | 2017-03-31 | 2018-10-23 | 波音公司 | 硬件组件的仿真 |
CN109740092A (zh) * | 2018-12-26 | 2019-05-10 | 深圳市网心科技有限公司 | 浏览器系统、消息处理方法、电子设备、装置及存储介质 |
CN110598280A (zh) * | 2019-08-28 | 2019-12-20 | 杭州友电科技有限公司 | 一种设备仿真系统和方法、计算机可读存储介质 |
CN110716537A (zh) * | 2019-11-19 | 2020-01-21 | 北京润科通用技术有限公司 | 一种仿真测试方法和装置 |
CN111338753A (zh) * | 2020-02-17 | 2020-06-26 | 东风电子科技股份有限公司 | 基于计算机实现电子控制单元硬件仿真的系统 |
CN111610725A (zh) * | 2020-04-03 | 2020-09-01 | 北京华航唯实机器人科技股份有限公司 | 一种联合仿真方法 |
CN111611121A (zh) * | 2020-04-09 | 2020-09-01 | 浙江口碑网络技术有限公司 | 硬件模拟测试方法、装置及设备 |
-
2020
- 2020-12-25 CN CN202011564204.XA patent/CN112614403A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1828617A (zh) * | 2006-03-31 | 2006-09-06 | 电子科技大学 | 一种软硬件协同仿真/验证系统及矢量模式仿真/验证方法 |
CN102541708A (zh) * | 2010-12-22 | 2012-07-04 | 无锡物联网产业研究院 | 一种实代码仿真的方法和装置 |
AU2012216313A1 (en) * | 2011-10-06 | 2013-05-02 | The Boeing Company | Aircraft emulation system |
CN102436351A (zh) * | 2011-12-22 | 2012-05-02 | 优视科技有限公司 | 通过拖拽手势控制应用界面的方法和装置 |
CN106648434A (zh) * | 2011-12-22 | 2017-05-10 | 优视科技有限公司 | 通过拖拽手势控制应用界面的方法和装置 |
CN106202685A (zh) * | 2016-07-01 | 2016-12-07 | 合肥海本蓝科技有限公司 | 一种软硬件协同仿真加速器运行环境搭建方法和装置 |
CN108694070A (zh) * | 2017-03-31 | 2018-10-23 | 波音公司 | 硬件组件的仿真 |
CN109740092A (zh) * | 2018-12-26 | 2019-05-10 | 深圳市网心科技有限公司 | 浏览器系统、消息处理方法、电子设备、装置及存储介质 |
CN110598280A (zh) * | 2019-08-28 | 2019-12-20 | 杭州友电科技有限公司 | 一种设备仿真系统和方法、计算机可读存储介质 |
CN110716537A (zh) * | 2019-11-19 | 2020-01-21 | 北京润科通用技术有限公司 | 一种仿真测试方法和装置 |
CN111338753A (zh) * | 2020-02-17 | 2020-06-26 | 东风电子科技股份有限公司 | 基于计算机实现电子控制单元硬件仿真的系统 |
CN111610725A (zh) * | 2020-04-03 | 2020-09-01 | 北京华航唯实机器人科技股份有限公司 | 一种联合仿真方法 |
CN111611121A (zh) * | 2020-04-09 | 2020-09-01 | 浙江口碑网络技术有限公司 | 硬件模拟测试方法、装置及设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114035447A (zh) * | 2021-10-20 | 2022-02-11 | 华南师范大学 | 用于中小学人工智能教育图形化编程软件的硬件仿真器 |
CN114035447B (zh) * | 2021-10-20 | 2022-05-31 | 华南师范大学 | 用于中小学人工智能教育图形化编程软件的硬件仿真器 |
CN114911531A (zh) * | 2022-04-28 | 2022-08-16 | 苏州佳世达电通有限公司 | 一种硬件环境模拟方法及硬件环境模拟系统 |
CN114911531B (zh) * | 2022-04-28 | 2024-05-17 | 苏州佳世达电通有限公司 | 一种硬件环境模拟方法及硬件环境模拟系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0690426B1 (en) | A computer based training system | |
RU2506630C2 (ru) | Визуализация обучающих анимаций на дисплее интерфейса пользователя | |
US10839137B2 (en) | Method and apparatus for playing video in independent window by browser, and storage medium | |
CN111539188B (zh) | 笔记生成方法、计算设备及计算机存储介质 | |
CN106610826B (zh) | 在线场景应用的制作方法及装置 | |
WO1999008175A2 (en) | Universally accessible computing system | |
CN112614403A (zh) | 硬件仿真方法及装置 | |
US20110074667A1 (en) | Specific user field entry | |
WO2006059488A1 (ja) | 画像表示装置、画像表示方法及びプログラム | |
CN110557666B (zh) | 遥控交互方法、装置和电子设备 | |
CN104883525A (zh) | 一种应用于直录播互动系统的遥控方法及直录播互动终端 | |
CN108132729A (zh) | 触摸信号的处理方法、装置、及电子设备和存储介质 | |
CN102915126B (zh) | 一种光线遥控定位的方法、装置及系统 | |
CN109697004A (zh) | 用于触摸设备书写批注的方法、装置、设备及存储介质 | |
CN112256191B (zh) | 智能黑板及其数据处理方法和装置,智能交互平板 | |
JP2007524135A (ja) | 電子ペン−コンピュータのマルチメディアインタラクティブシステム | |
JP2008108132A (ja) | 電子機器、プロジェクタ、電子機器制御プログラム、プロジェクタ制御プログラム | |
JP2007524136A (ja) | 電子ペン−コンピュータのマルチメディアインタラクティブシステムのためのレスポンス生成 | |
CN111651102B (zh) | 在线教学交互方法、装置、存储介质以及电子设备 | |
CN113138764A (zh) | 代码运行方法及相关产品 | |
CN109117283B (zh) | 一种网络环境下遥控wps软件的方法 | |
CN109147406B (zh) | 一种基于知识形象化的原子展示互动方法及电子设备 | |
CN113239172A (zh) | 机器人群组中的会话交互方法、装置、设备及存储介质 | |
CN111930971A (zh) | 在线教学交互方法、装置、存储介质以及电子设备 | |
CN112099770A (zh) | 基于模板的网页生成方法、系统、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210406 |
|
RJ01 | Rejection of invention patent application after publication |