用于一组基于控制器的装置的自动软件开发的方法和设备制造方法及图纸

技术编号:17396547 阅读:27 留言:0更新日期:2018-03-04 22:23
提供了一种用于组中的基于控制器的装置的软件自动产生的方法和设备。该方法包括为来自于在用户装置上的图形用户接口(GUI)上显示的多个基于控制器的装置的基于控制器的装置,接收如下的选择:控制器类型,用于与一组基于控制器的装置中的另一基于控制器的装置通信的通信协议,该组包括该多个基于控制器的装置,以及基于来自基于控制器的装置的远程调用而执行的功能。

Methods and equipment for automatic software development for a set of controller based devices

【技术实现步骤摘要】
【国外来华专利技术】用于一组基于控制器的装置的自动软件开发的方法和设备
本专利技术的实施例大体涉及用于一组基于控制器的装置的自动软件开发的方法和设备。
技术介绍
现场可编程门阵列(FPGA)和其它基于控制器的装置(例如基于微控制器或微处理器)(诸如MCU、SoC、移动电话、计算机等)的使用已变得相当普遍。控制器的低制造成本、可用性以及定制化已经导致芯片(SoC)上的微控制器和系统(例如,PIC、ARDUINO、RASPBERRYPI等)由商业公司和类似爱好者使用来产生装置的情况激增。基于控制器的装置包括处理器内核和存储器,它们是可编程的,以处理与外部设备通信的输入/输出数据。NORFLASH或OTPROM形式的程序存储器也通常包括在这样的基于控制器的装置以及少量的随机存取存储器(RAM)上。若干这样的基于控制器的装置针对较大的装置中的嵌入式应用而设计。这样的基于控制器的装置的真实世界应用可潜在地包括连接基于控制器的装置与作为外部设备的传统对象或系统,从而实现这样的外部设备的数字化、连接性以及甚至远程控制。然而,在进行这样的真实世界应用时,由于结合云技术与硬件和软件技术的复杂性而存在若干挑战。大体上,对基于控制器的装置或其组进行编程是非常复杂的。随着“物联网(IoT)”成长,越来越多的这样的基于控制器的装置彼此连接和/或连接至互联网,显著地提高了编程的复杂性。在真实世界情境中,这样的基于控制器的装置可彼此通信和/或与网关通信,使得网关成为用于所谓的边界装置的互联网通信的代理。边界装置可通过一个或更多个网关或直接作为独立装置来通信。在组内,所有的装置(网关和边界)必须以兼容的方式编程来有助于互通性,这会进一步显著地提高对这样的装置进行编程的复杂性。此外,每次实施定制化都管理兼容性可能还过度耗时。对基于控制器的装置的组进行编程对用户而言非常具有挑战性,因为他必须记住编码命令,理解架构,使用合适的调用语法等。即便是一个装置被不正确地编程,用于该装置或组中的另一基于控制器的装置的书面程序也可能不能运行,或产生错误。因此,现有技术中存在对于简化基于控制器的装置的编程,同时针对一组基于控制器的装置自动地完成该工作的需要。
技术实现思路
本专利技术的实施例大体涉及用于一组基于控制器的装置的自动软件开发的方法和设备,基本如结合附图中的至少一个所示和/或所描述的,如权利要求中更完整地阐述的。本公开的这些和其它特征以及优点可通过结合附图研究本公开的如下详细描述而理解,在附图中,相同的参考标号始终表示相同的部件。附图说明以使得能够详细地理解本专利技术的上述特征的方式,可通过参照实施例做出对上文所简要概述的本专利技术的更具体的描述,实施例中的一些在附图中显示。然而,要理解的是,附图仅显示了本专利技术的典型的实施例,且因此不应被理解为限制其范围,因为本专利技术可允许其它有相同效力的实施例。图1是根据本专利技术的实施例的、用于一组基于控制器的装置的自动软件开发的系统100的框图;图2是根据本专利技术的实施例的、图1的代码虚拟化服务器执行的用于一组基于控制器的装置的自动软件开发的方法的流程图;图3是根据本专利技术的实施例的、用于一组基于控制器的装置的自动软件开发的由图1的设备100的多个装置执行的方法300的流程图;以及图4-7描绘了根据本专利技术的实施例的、用于指定基于控制器的装置和相关联的输入的图1的GUI138的图形用户接口(GUI)屏幕的序列。具体实施方式本专利技术的实施例涉及用于一组基于控制器的装置(例如,具有控制器(诸如微控制器)、微处理器、SoC、MCU的装置)的自动软件开发的方法和设备,该一组基于控制器的装置用作交互式地操作的边界装置或网关装置,且更具体地,本专利技术涉及产生程序或代码,以用于在形成包括至少一个边界装置和至少一个网关装置的一组互连的基于控制器的装置的边界装置和网关装置上执行。用于基于控制器的装置的代码包括用于在基于控制器的装置上执行的代码(“第一代码”),其包括用于在远离基于控制器的装置的装置(例如代码虚拟化服务器)上执行函数功能(通过执行“第二代码”)的远程调用。第一代码指在基于控制器的装置上执行的完整的程序,或指可包括在用于基于控制器的装置的原有程序中的代码片断。第一代码还包括用于基于控制器的装置的软件开发包(SDK)。SDK包括库,其实现组中的多种基于控制器的装置(边界装置和网关装置)之间的通讯通信,以及网关和代码虚拟化服务器之间的通讯通信,以将来自于组中的任何基于控制器的装置的远程调用发送至代码虚拟化服务器。第二代码包括代码虚拟化服务器上的一个或更多个预定的过程或程序,以用于执行远程调用所调用的函数功能。在一些实施例中,代码虚拟化服务器还基于与基于控制器的装置相关的输入而自动地产生第一代码。输入是经由远离代码虚拟化服务器的用户装置上的图形用户接口(GUI)而做出的选择。经由GUI所做的选择包括该组的基于控制器的装置、基于控制器的装置的控制器类型、由基于控制器的装置用来与该组中另一基于控制器的装置通信的通信协议、以及基于从基于控制器的装置接收的远程调用而执行的功能。在产生后,第一代码或直接通过代码虚拟化服务器或经由用户装置而安装在基于控制器的装置上。安装在该组的各个装置上的第一代码能实现该组的多个装置之间的互连,从而能实现将来自于组中的任何装置的远程调用经由网关装置发送到代码虚拟化服务器。因此,在执行第一代码的过程中,基于控制器的装置发起远程调用,以用于执行远程功能以及用于该功能的输入和/或输出数据,远程调用和输入/输出数据经由该组的网关发送至代码虚拟化服务器。作为响应,代码虚拟化服务器根据输入/输出数据执行第二代码以执行该功能。以这种方式,通过便利地使用GUI提供输入,针对一组互连的基于控制器的(装置)中的各个装置自动地产生软件(包括SDK的第一代码)。为整个组产生软件,而不必处理对各个基于控制器的装置编程、或根据该组基于控制器的装置中的边界装置和网关装置的互连而单独地为各个基于控制器的装置配置程序的复杂性。2007年9月11日提交的系列号为11/853,137,2007年9月11日提交的系列号为11/853,143以及2011年1月28日提交的系列号为12/931,292(现为美国专利8,726,285)的共同转让的专利申请描述了用于远程地产生、部署和执行工作流的技术。2014年6月17日提交的系列号为14/307,198,2014年6月17日提交的系列号为14/307,208,2014年6月17日提交的系列号为14/307,227,2014年7月10日提交的系列号为14/328,415,2015年1月9日提交的系列号为14/593,151以及2015年4月13日提交的系列号为14/685,064的共同转让的专利申请描述了用于代码和SDK的自动产生,代码和SDK的虚拟化,产生用于代码虚拟化的远程处理调用的技术以及其它相关的技术。所列的申请描述了用于为结合了控制器的基于控制器的装置自动地开发软件,使用图形用户接口将硬件(诸如传感器或致动器)的使用远程地映射到控制器,以及例如远程地执行软件的技术以经由限定的工作流扩展这样的基于控制器的装置的能力。上文所列出的申请中的各个通过引用以其整体结合在本文中。这些技术通过将代码的片断和/或库(例如SDK)设置在基本文档来自技高网
...
用于一组基于控制器的装置的自动软件开发的方法和设备

【技术保护点】
一种计算机实施的方法,该方法用于为一组基于控制器的装置中的基于控制器的装置自动产生程序,该方法包括:为来自于在用户装置上的图形用户接口(GUI)上显示的多个基于控制器的装置的基于控制器的装置,接收如下的选择:所述基于控制器的装置的控制器类型,由所述基于控制器的装置使用的、用于与一组基于控制器的装置中的另一基于控制器的装置通信的通信协议,所述组包括所述多个基于控制器的装置,以及基于来自所述基于控制器的装置的远程调用而执行的功能;以及基于所述控制器类型、所述通信协议以及所述功能产生用于在所述基于控制器的装置上执行的第一代码,所述第一代码包括所述远程调用并且能够路由所述远程调用。

【技术特征摘要】
【国外来华专利技术】2015.05.08 US 62/158,6361.一种计算机实施的方法,该方法用于为一组基于控制器的装置中的基于控制器的装置自动产生程序,该方法包括:为来自于在用户装置上的图形用户接口(GUI)上显示的多个基于控制器的装置的基于控制器的装置,接收如下的选择:所述基于控制器的装置的控制器类型,由所述基于控制器的装置使用的、用于与一组基于控制器的装置中的另一基于控制器的装置通信的通信协议,所述组包括所述多个基于控制器的装置,以及基于来自所述基于控制器的装置的远程调用而执行的功能;以及基于所述控制器类型、所述通信协议以及所述功能产生用于在所述基于控制器的装置上执行的第一代码,所述第一代码包括所述远程调用并且能够路由所述远程调用。2.如权利要求1所述的方法,其中,每个基于控制器的装置或为边界装置或为网关装置,且其中,所述组或者包括至少一个边界装置和至少一个网关装置,或者包括至少两个网关装置。3.如权利要求2所述的方法,其中,所述第一代码通过所述至少一个网关装置路由所述远程调用。4.如权利要求2所述的方法,进一步包括从所述GUI接收所述基于控制器的装置是边界装置还是网关装置的选择,且其中,产生所述第一代码进一步基于所述边界装置或所述网关装置的选择。5.如权利要求2所述的方法,进一步包括经由所述至少一个网关装置从所述基于控制器的装置接收所述远程调用:以及执行所述功能。6.如权利要求1所述的方法,进一步包括分发所述第一代码,以便直接地或经由所述用户装置安装在所述基于控制器的装置上。7.如权利要求1所述的方法,进一步包括从所述GUI接收用于执行所述功能的至少一个参数,且其中,产生所述第一代码进一步基于所述至少一个参数。8.一种用于一组基于控制器的装置的自动软件开发的设备,包括:处理器:和包括可执行的指令的存储器,所述可执行的指令在使用所述处理器被执行时引起包括以下步骤的方法的执行:为来自于在用户装置上的图形用户接口(GUI)上显示的多个基于控制器的装置的基于控制器的装置,接收如下的选择:所述基于控制...

【专利技术属性】
技术研发人员:吉恩巴普蒂斯特·莱奥内利特里萨拉·坎达利亚
申请(专利权)人:西安姆贝拉有限公司吉恩巴普蒂斯特·莱奥内利特里萨拉·坎达利亚
类型:发明
国别省市:维尔京群岛,VG

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1