(12)发明专利申请
(10)申请公布号 CN 112823492 A(43)申请公布日 2021.05.18
(21)申请号 201980066555.7(22)申请日 2019.10.08(30)优先权数据
62/742,798 2018.10.08 US62/742,898 2018.10.08 US(85)PCT国际申请进入国家阶段日2021.04.08(86)PCT国际申请的申请数据
PCT/US2019/055109 2019.10.08(87)PCT国际申请的公布数据WO2020/076762 EN 2020.04.16(71)申请人 西安姆贝拉有限公司地址 英属维尔京群岛托托拉岛 申请人 特里萨拉·坎达利亚(72)发明人 特里萨拉·坎达利亚
(54)发明名称
用于为网络提供端到端解决方案的系统、设备和方法(57)摘要
一种用于辅助端到端网络的代码供应的方法、设备和系统,包括:自动提供第一接口菜单,用于能够进行端到端网络的装置的配置信息和应用逻辑信息中的至少之一的初始用户输入;继续自动地提供后续接口菜单,用于接收建立所述端到端网络所需的所有装置和互连的配置信息和应用逻辑信息,其中,提供用于输入的后续接口菜单可以取决于对先前提供的接口菜单进行的输入,并且自动提供的接口菜单的顺序引导用户通过所述端到端网络的供应而无需输入编程代码。编程代码可以根据输入信息自动生成,并针对建立所述端到端网络所需的每个装置来部署。
权利要求书3页 说明书25页 附图27页
(74)专利代理机构 北京市隆安律师事务所
11323
代理人 权鲜枝(51)Int.Cl.
H04L 12/24(2006.01)G06F 8/34(2006.01)
CN 112823492 ACN 112823492 A
权 利 要 求 书
1/3页
1.一种用于辅助供应端到端网络的方法,该方法包括:自动提供第一接口菜单,用于能够进行对所述端到端网络的装置的配置信息和应用逻辑信息的至少之一的初始用户输入;
响应于对所述端到端网络的装置中的至少一个装置的所述配置信息和应用逻辑信息的至少之一的初始用户输入,自动提供第二接口菜单,用于能够进行对所述端到端网络的装置中的至少一个其他装置的配置信息和应用逻辑信息的至少之一的随后用户输入;以及
继续自动地提供后续接口菜单,用于接收建立所述端到端网络所需的所有装置和互连的配置信息和应用逻辑信息的至少之一;
其中,提供用于输入的后续接口菜单可以取决于对先前提供的接口菜单进行的输入,并且自动提供的接口菜单的顺序引导用户通过所述端到端网络的供应而无需输入编程代码。
2.根据权利要求1所述的方法,所述方法进一步包括:
根据所输入的建立所述端到端网络所需的所述装置中的每个装置的配置信息和应用逻辑信息来自动地生成编程代码。
3.根据权利要求2所述的方法,所述方法进一步包括:
通过将所生成的编程代码发送到所述装置中的每个相应装置来部署所生成的编程代码,用于配置这些装置以建立所述端到端网络。
4.根据权利要求1所述的方法,所述方法进一步包括:
分析所述端到端网络的装置中的至少一个装置的操作数据;以及
使用所分析的数据来预测所述端到端网络以及所述端到端网络的装置中的所述至少一个装置的未来行为。
5.根据权利要求1所述的方法,所述方法进一步包括:
对所述端到端网络的装置的操作数据进行监测和/或分析;以及
基于监测数据和分析数据的至少之一对所述端到端网络的装置中的至少一个装置进行重编程。
6.根据权利要求1所述的方法,所述方法进一步包括:提供缩放功能,使得配置信息和应用逻辑信息的所述至少之一不必被输入用于所述端到端网络的装置中的所述至少一个装置中的复制装置。
7.根据权利要求1所述的方法,其中,使用包括机器学习、线性回归分析和神经网络至少之一的数据分析方法来确定所述配置信息和应用逻辑信息的所述至少之一。
8.一种用于端到端网络的辅助代码供应的方法,该方法包括:
接收建立所述端到端网络所需的装置的配置信息和应用逻辑信息的至少之一;
根据所接收的建立所述端到端网络所需的所述装置中的每个装置的配置信息自动地生成编程代码;以及
通过将所生成的编程代码传送到所述装置中的每个相应装置来部署所生成的编程代码,用于配置这些装置以建立所述端到端网络。
9.根据权利要求8所述的方法,所述方法进一步包括:
分析所述端到端网络的装置中的至少一个装置的操作数据;以及
使用所分析的数据来预测所述端到端网络以及所述端到端网络的装置中的所述至少
2
CN 112823492 A
权 利 要 求 书
2/3页
一个装置的未来行为。
10.根据权利要求10所述的方法,所述方法进一步包括:监测和/或分析所述端到端网络的装置的操作数据;以及
基于监测数据和分析数据的至少之一对所述端到端网络的装置中的至少一个装置进行重编程。
11.根据权利要求8所述的方法,所述方法进一步包括:提供缩放功能,使得所述配置信息和应用逻辑信息的所述至少之一不必被输入用于所述端到端网络的装置中的所述至少一个装置的复制装置。
12.一种用于端到端网络的辅助代码供应的设备,该设备包括:引导模块,其被配置为:
用于能够进行对所述端到端网络的装置的配置信息和应用逻自动提供第一接口菜单,
辑信息的至少之一的初始用户输入;
响应于所述端到端网络的装置中的至少一个装置的配置信息和应用逻辑信息的所述至少之一的初始用户输入,自动提供第二接口菜单,用于进行能够对所述端到端网络的装置中的至少一个其他装置的配置信息和应用逻辑信息的至少之一的随后用户输入;并且
继续自动地提供后续接口菜单,用于接收建立所述端到端网络所需的所有装置和互连的配置信息和应用逻辑信息的至少之一;和
代码生成器模块,该代码生成器模块根据所接收的建立所述端到端网络所需的装置中的每个装置的配置信息和应用逻辑信息的至少之一来自动地生成编程代码;
其中,提供用于输入的后续接口菜单可以取决于对先前提供的接口菜单进行的输入,并且自动提供的接口菜单的顺序引导用户通过所述端到端网络的供应而无需输入编程代码。
13.根据权利要求12所述的设备,所述设备进一步包括:部署模块,该部署模块通过将所生成的编程代码发送到所述装置中的每个相应装置来部署所生成的编程代码,用于配置所述装置以建立所述端到端网络。
14.根据权利要求12所述的设备,其中,所述引导模块进一步被配置为:分析所述端到端网络的装置中的至少一个装置的操作数据;并且
使用所分析的数据来预测所述端到端网络以及所述端到端网络的装置中的所述至少一个装置的未来行为。
15.根据权利要求12所述的设备,其中,所述引导模块进一步被配置为:监测和/或分析所述端到端网络的装置的操作数据;并且
基于监测数据和分析数据的至少之一对所述端到端网络的装置中的至少一个装置进行重编程。
16.根据权利要求12所述的设备,其中,所述引导模块进一步被配置为:提供缩放功能,使得所述配置信息和应用逻辑信息的所述至少之一不必被输入用于所述端到端网络的装置中的所述至少一个装置的复制装置。
17.根据权利要求12所述的设备,其中,所述端到端网络的操作数据可用于下载、可视显示和发送到另一系统中的至少之一。
18.根据权利要求12所述的设备,其中,所述端到端网络的装置包括多个架构选项、连
3
CN 112823492 A
权 利 要 求 书
3/3页
接性选项、缩放选项和编程语言,并且所述代码生成器模块根据如何供应所述装置中的每个装置来生成所述装置中的每个装置的相应代码。
4
CN 112823492 A
说 明 书
用于为网络提供端到端解决方案的系统、设备和方法
1/25页
技术领域
[0001]本文描述的实施例总体上涉及用于为端到端网络的装置提供端到端解决方案的方法、设备和系统,并且更具体地,用于例如为支持多种架构选项、连接性选项、缩放、供应和空中更新能力的完整物联网(IoT)系统,辅助提供端到端系统并使得能够自动生成端到端代码。
背景技术
[0002]在为装置和系统编程时,程序员向程序添加一个或多个功能。不同的目标装置可以具有用于支持功能实现的不同系统要求。甚至在一种编程语言方面或在针对一种类型的目标装置编程方面的用户专家也会发现,以各种编程语言和/或针对各种目标装置来创建功能齐全且优化的程序具有挑战性。[0003]此外,考虑到使用的各种各样的装置类型、各种系统要求、配置、应用程序和编程语言,对诸如可编程逻辑控制器(PLC)、现场可编程门阵列(FPGA)和其他基于控制器的装置(例如基于微控制器或微处理器的装置)的目标装置,例如存储器控制器单元(MCU)和片上系统(SoC)的编程甚至更复杂。为了增加复杂性,这样的装置被部署在远程位置,并且通常附属于传统系统,使得对这样的目标装置进行编程以增加功能对于普通用户来说非常具有挑战性。
[0004]因此,在本领域中需要简化端到端系统的配置和编程,而不需要用户为各种类型的端到端系统生成代码,同时支持多个架构选项、连接性选项、缩放供应和更新能力。发明内容
[0005]本文描述的实施例总体上涉及用于为端到端系统的装置提供端到端解决方案的方法、设备和系统,并且更具体地,用于例如为支持多种架构选项、连接性选项、缩放供应和空中更新能力的完整物联网(IoT)系统,辅助提供端到端系统并使得能够自动生成端到端代码,基本上如至少一个附图所示和/或结合至少一个附图所描述的,如权利要求书中更完整地阐述的。
[0006]在一些实施例中,一种用于辅助端到端网络的代码供应的方法包括:自动提供第一接口菜单,该第一接口菜单用于能够进行所述端到端网络的装置的配置信息和应用逻辑信息中的至少一个的初始用户输入;响应于对所述端到端网络的装置中的至少一个装置的所述配置信息和应用逻辑信息中的至少之一的所述初始用户输入,自动提供第二接口菜单,该第二接口菜单用于能够进行对所述端到端网络的装置中的至少一个其他装置的配置信息和应用逻辑信息中的至少之一的后续用户输入;以及继续自动提供后续接口菜单,用于接收建立所述端到端网络所需的所有装置和互连的配置信息和应用逻辑信息中的至少之一。在这样的实施例中,提供用于输入的后续接口菜单可以取决于对先前提供的接口菜单进行的输入,并且自动提供的接口菜单的顺序引导用户通过所述端到端网络的供应而无需输入编程代码。
5
CN 112823492 A[0007]
说 明 书
2/25页
在一些实施例中,所述方法可以进一步包括以下各项中的至少一种:根据所输入
的建立所述端到端网络所需的每个装置的配置信息和应用逻辑信息来自动生成编程代码;以及通过将所生成的编程代码发送到所述装置中的每个相应装置来部署所生成的编程代码,用于配置这些装置以建立所述端到端网络。[0008]在一些实施例中,所述方法可以进一步包括:分析所述端到端网络的装置中的至少一个装置的操作数据以及使用所分析的数据来预测所述端到端网络及所述端到端网络的装置中的所述至少一个装置的未来行为中的至少一个;对所述端到端网络的装置的操作数据进行监测和/或分析以及基于监测数据和分析数据的至少之一对所述端到端网络的装置中的至少一个装置进行重编程;以及提供缩放功能,使得配置信息和应用逻辑信息中的所述至少之一不必被输入用于所述端到端网络的装置中的所述至少一个装置中的复制装置。在一些实施例中,所述方法可以进一步包括使用包括机器学习、线性回归分析和神经网络中的至少之一来确定所述配置信息和应用逻辑信息中的所述至少之一。[0009]在一些实施例中,一种用于辅助端到端网络的代码供应的方法包括:接收建立所述端到端网络所需的装置的配置信息和应用逻辑信息中的至少之一,根据所接收的建立所述端到端网络所需的所述装置中的每个装置的配置信息自动地生成编程代码,以及通过将所生成的编程代码发送/传送到所述装置中的每个相应装置来部署所生成的编程代码,用于配置这些装置以建立所述端到端网络。[0010]在一些实施例中,所述方法还包括向用户提供用于输入建立所述端到端网络所需的所述装置中的每个装置的配置信息和应用逻辑信息的接口。[0011]在一些实施例中,一种用于端到端网络的辅助代码供应的设备包括引导模块,其被配置为:自动提供第一接口菜单用于能够进行对所述端到端网络的装置的配置信息和应用逻辑信息的至少之一的初始用户输入,响应于所述端到端网络的装置中的至少一个装置的配置信息和应用逻辑信息的所述至少之一的初始用户输入,自动提供第二接口菜单用于进行能够对所述端到端网络的装置中的至少一个其他装置的配置信息和应用逻辑信息中的至少之一的后续用户输入,并且继续自动地提供后续接口菜单用于接收建立所述端到端网络所需的所有装置和互连的配置信息和应用逻辑信息中的至少之一。在一些实施例中,此设备还包括代码生成器模块,该代码生成器模块根据所接收的建立所述端到端网络所需的装置中的每个装置的配置信息和应用逻辑信息的至少之一来自动地生成编程代码。在这些实施例中,提供用于输入的后续接口菜单可以取决于对先前提供的接口菜单进行的输入,并且自动提供的接口菜单的顺序引导用户通过所述端到端网络的供应而无需输入编程代码。
[0012]在一些实施例中,所述设备可进一步包括部署模块,用于通过将所生成的编程代码发送到所述装置中的每个相应装置来部署所生成的编程代码,用于配置所述装置以建立所述端到端网络。
[0013]在一些实施例中,所述设备可进一步备配置为:分析所述端到端网络的装置中的至少一个装置的操作数据并使用所分析的数据来预测所述端到端网络及所述端到端网络的装置中的所述至少一个装置的未来行为中的至少一个,监测和/或分析所述端到端网络的装置的操作数据并且基于监测数据和分析数据的至少之一对所述端到端网络的装置中的至少一个装置进行重编程,提供缩放功能使得所述配置信息和应用逻辑信息中的所述至
6
CN 112823492 A
说 明 书
3/25页
少之一不必被输入用于所述端到端网络的装置中的所述至少一个装置的复制装置,并且生成图形用户界面用于使得用户能够输入用于建立所述端到端网络所需的装置的所述配置信息和所述应用逻辑信息。
[0014]在所述设备的一些实施例中,所述端到端网络可以包括物联网(IoT)端到端网络,并且至少一些装置包括IoT装置。在所述设备的一些实施例中,所述端到端网络的所述装置可以包括多个架构选项、连接性选项、缩放选项和编程语言,并且所述代码生成器模块根据如何供应所述装置中的每个装置来生成所述装置中的每个装置的相应代码。[0015]在一些实施例中,一种非暂时性机器可读介质在其上存储有至少一个程序,所述至少一个程序包括指令,所述指令在由处理器执行时使所述处理器在基于处理器的系统中执行一种用于端到端网络的辅助代码供应的方法,所述方法包括:自动提供第一接口菜单,该第一接口菜单用于能够进行所述端到端网络的装置的配置信息和应用逻辑信息中的至少之一的初始用户输入;响应于对所述端到端网络的装置中的至少一个装置的所述配置信息和应用逻辑信息中的至少之一的所述初始用户输入,自动提供第二接口菜单,该第二接口菜单用于能够进行对所述端到端网络的所述装置中的至少一个其他装置的配置信息和应用逻辑信息中的至少之一的后续用户输入;以及继续自动提供后续接口菜单,用于接收建立所述端到端网络所需的所有装置和互连的配置信息和应用逻辑信息中的至少之一。在这样的实施例中,提供用于输入的后续接口菜单可以取决于对先前提供的接口菜单进行的输入,并且自动提供的接口菜单的顺序引导用户通过所述端到端网络的供应而无需输入编程代码。
[0016]在一些实施例中,由所述处理器在执行所述程序时执行的所述方法可进一步包括以下各项中的至少一种:根据建立所述端到端网络所需的每个装置的输入配置信息和应用逻辑信息来自动生成编程代码;以及通过将所生成的编程代码发送到所述装置中的每个相应装置来部署所生成的编程代码,用于配置所述装置以建立所述端到端网络。[0017]在一些实施例中,由所述处理器在执行所述程序时执行的所述方法可进一步包括:分析所述端到端网络的装置中的至少一个装置的操作数据并使用所分析的数据来预测所述端到端网络及所述端到端网络的装置中的所述至少一个装置的未来行为中的至少一个,监测和/或分析所述端到端网络的装置的操作数据并且基于监测数据和分析数据的至少之一对所述端到端网络的装置中的至少一个装置进行重编程,以及提供缩放功能使得所述配置信息和应用逻辑信息中的所述至少之一不必被输入用于所述端到端网络的装置中的所述至少一个装置的复制装置。在一些实施例中,所述方法可以进一步包括使用机器学习、线性回归分析和神经网络中的至少之一来确定所述配置信息和应用逻辑信息中的所述至少一个。
[0018]在一些实施例中,一种非暂时性机器可读介质在其上存储有至少一个程序,所述至少一个程序包括指令,所述指令在由处理器执行时使所述处理器在基于处理器的系统中执行一种用于端到端网络的辅助代码供应的方法,所述方法包括:接收建立所述端到端网络所需的装置的配置信息和应用逻辑信息中的至少之一,根据所接收的建立所述端到端网络所需的所述装置中的每个装置的配置信息自动地生成编程代码,以及通过将所生成的编程代码发送/传送到所述装置中的每个相应装置来部署所生成的编程代码,用于配置这些装置以建立所述端到端网络。
7
CN 112823492 A[0019]
说 明 书
4/25页
在一些实施例中,由所述处理器在执行所述程序时执行的方法还包括:向用户提
供用于输入建立所述端到端网络所需的所述装置中的每个装置的配置信息和应用逻辑信息的接口。
[0020]从以下对本公开的详细描述以及附图的审阅中可以理解本公开的这些及其他特征和优势,在附图中,相同的附图标记始终指代相同的部件。
附图说明
[0021]为了能够详细地理解本发明原理的上述特征的方式,可以通过参考实施例(其中一些在附图中示出)对以上简要概括的原理进行更具体的描述。然而,应当注意,附图仅示出了根据本发明原理的典型实施例,并且因此不应被认为是对其范围的限制,因为这些原理可以允许其他同样有效的实施例。
[0022]图1示出了根据本发明原理的实施例的ACGUI的第一引导菜单的图形表示。[0023]图2示出了根据本发明原理的实施例的第二引导菜单的图形表示。[0024]图3示出了根据本发明原理的实施例的第三引导菜单的图形表示。[0025]图4A示出了根据本发明原理的实施例的第四引导菜单的图形表示。[0026]图4B示出了根据本发明原理的实施例的第五引导菜单的图形表示。[0027]图5示出了根据本发明原理的实施例的第六引导菜单的图形表示。
[0028]图6A示出了根据本发明原理的实施例的可选第七引导菜单的第一部分的图形表示。
[0029]图6B示出了根据本发明原理的实施例的可选第七引导菜单的第二部分的图形表示。
[0030]图7示出了根据本发明原理的实施例的可选概要菜单的图形表示。[0031]图8示出了根据本发明原理的实施例的可选第八引导菜单的图形表示。[0032]图9示出了根据本发明原理的实施例的可选第九引导菜单的图形表示。
[0033]图10示出了根据本发明原理的实施例的可选第三方云供应商配置菜单的图形表示。
[0034]图11A示出了根据本发明原理的实施例的可选缩放菜单的第一部分的图形表示。[0035]图11B示出了根据本发明原理的实施例的缩放菜单的第二部分的图形表示。[0036]图11C示出了根据本发明原理的实施例的缩放菜单的第三部分的图形表示。[0037]图12A示出了根据本发明原理的实施例的代码生成菜单的第一部分的图形表示。[0038]图12B示出了根据本发明原理的实施例的代码生成菜单的第二部分的图形表示。[0039]图13A示出了根据本发明原理的实施例的部署菜单的第一部分的图形表示。[0040]图13B示出了根据本发明原理的实施例的部署菜单的第二部分的图形表示。[0041]图13C示出了根据本发明原理的实施例的部署菜单的第三部分的图形表示。[0042]图14示出了根据本发明原理的实施例的代码供应系统的高级框图。
[0043]图15示出了适合与图14的代码供应系统一起使用的计算平台的高级框图。[0044]图16示出了端到端网络的高级框图,其中可以应用根据本发明原理的代码供应客户端的实施例。
[0045]图17A示出了根据本发明原理的实施例的用于辅助端到端网络的代码供应的方法
8
CN 112823492 A
说 明 书
5/25页
的流程图。
[0046]图17B示出了根据本发明原理的替代实施例的用于辅助端到端网络的代码供应的方法的流程图。
[0047]图18示出了根据本发明原理的实施例的监测/预测系统的高级功能框图。
[0048]图19示出了根据本发明原理的实施例的监视/预测系统中的一些示例性预测特征之间的关系的高级功能图。
[0049]图20示出了根据本发明原理的实施例的代码供应系统的高级功能图。[0050]为了便于理解,在可能的情况下,使用相同的附图标记来表示附图共有的相同元件。附图不是按比例绘制的,为了清楚起见可以简化。可以设想,一个实施例的元件和特征可以有利地结合在其他实施例中,而无需进一步详述。具体实施方式
[0051]本文描述的一些实施例涉及用于辅助提供端到端网络(例如,IoT端到端网络)的方法、设备和系统。虽然本发明原理的概念容易产生各种修改和替代形式,但是在附图中以示例的方式示出并且在下面详细描述了其具体实施例。应当理解,不意图将本发明原理的概念限制为所公开的特定形式。相反,意图是覆盖与本发明原理和所附权利要求一致的所有修改、等同物和替换。例如,尽管将主要关于特定网络环境和特定编程/编码语言和算法的应用来描述本发明原理的实施例,但是不应当认为这样的教导是限制性的。根据本发明原理的实施例可以使用根据本发明原理的其他编程/编码语言和算法在基本上任何网络环境中实现。
[0052]在根据本发明原理的一些实施例中,提供图形用户接口以使用户能够设置装置配置和应用参数。在一些实施例中,图形接口使用户能够选择和配置至少一个装置(传感器、执行器、MCU、PLC、SOC、FPGA等),将从该装置调用远程进程以供执行,并且将所定义的条件(关于流传输和远程进程调用管理)分配给装置电子器件(MCU、SoC等)的特定I/O(输入/输出)。在一些实施例中,图形用户接口使得用户能够定义远程装置(边缘装置/网关/独立装置)之间的关系以及如何在装置之间传输数据(传输协议选择),并且定义所选进程或应用的装置的行为约束。在一些实施例中,图形用户接口使得能够以任何给定编程语言为每个装置生成包括远程进程调用和用于执行和数据管理的条件的应用代码,并且使得用户能够容易地管理和重新编程其上已经部署了代码和/或应用的任何装置。[0053]例如,在一些实施例中,在配置/实现新装置或网络或系统时,用户可以访问例如诸如服务器/计算机或移动装置之类的用户装置上的自动代码生成用户接口(automatic code generation user interface,ACGUI)。ACGUI使用户能够通过多个不同的设置和引导屏幕,为正被配置/实现的装置/系统创建期望的应用。[0054]在一些实施例中,用户在ACGUI中选择期望的功能,指定操作参数(例如配置参数和应用逻辑参数),并提供自动生成期望功能的代码所需的其他输入。基于所提供的输入,自动生成对应于期望功能的代码。然后将自动生成的代码注入或以其他方式并入到正在创建的自动生成的程序中。如本文所使用的,术语“注入”或“并入”可在代码被注入或并入正在开发的程序的上下文中互换地使用。自动生成的程序是指适当地将代码导入程序中,使得包括自动生成的代码的程序可以在没有附加修改的情况下执行。然后将包括自动生成的
9
CN 112823492 A
说 明 书
6/25页
代码的程序(也称为自动生成程序(AGP))发送到目标装置用于安装和执行。
[0055]参数和其他输入包括用于目标装置上的自动生成的代码的操作的信息,诸如目标装置类型、电力要求、网络装置配置、网络细节、附加服务或装置(如果执行期望的功能需要)的认证细节、以及若干其他参数和输入。[0056]共同转让的美国专利:8,726,285号,2011年1月28日提交;9,436,439号,2014年6月17日提交;9,239,705号,2014年6月17日提交;9,235,383号,2014年6月17日提交;以及美国专利申请公开:2009/0070121号,2007年9月11日提交;2009/0070162号,2007年9月11日提交;2015/0199088号,2015年1月9日提交;2015/0286362号,2015年4月13日提交;2016/0327925号,2016年3月8日提交;2016/0328216号,2016年5月6日提交;美国申请15/163,280号,2016年5月24日提交;15/386,180号,2016年12月21日提交;以及62/471,071号,2017年3月14日提交,上述每个文件通过整体引用合并在本文中,描述了用于为包含控制器的装置开发软件以及例如远程地执行、管理、重编程或改变软件的行为以经由所定义的工作流来扩展这种装置的能力的技术。
[0057]图1示出了根据本发明原理的实施例的ACGUI 100的第一引导(onboarding)菜单110的图形表示。尽管在本发明原理的实施例的以下描述中,ACGUI 100的各种菜单将被描述为以特定顺序呈现,但是本发明原理的ACGUI的菜单可以以基本上任何顺序呈现给用户,除非一个菜单中的信息是另一个菜单中的信息的先决条件。[0058]在图1的ACGUI 100的一些实施例中,第一引导菜单110可以有“手风琴”的样式,其中多个部分可以扩展和折叠。另外或替代地,菜单110可包括用于访问菜单110的各部分的其他样式,例如线框。重要的是,菜单使得用户能够选择或输入至少用于要提供的系统(例如,IoT端到端系统)的装置的编程信息和/或应用逻辑信息。另外,在根据本发明原理的ACGUI的一些实施例中,诸如图1的ACGUI 100,一次只能打开一个部分,单击关闭的部分会自动关闭当前打开的部分,并打开选定的部分。[0059]在图1的ACGUI 100的实施例中,引导流程将被顺序地呈现,从而引导用户以确定的顺序完成该流程,具体地,在引导流程中,直到步骤1完成才启用步骤2,依此类推。在一些实施例中,根据本发明原理的引导流程顺序可以包括与将关于图1的ACGUI 100描述的顺序不同的顺序。
[0060]图1的ACGUI 100的第一引导菜单110说明性地包括关于要构造/配置的产品类型的二元选择。更具体地,图1的ACGUI 100的菜单110的所描述的实施例使用户能够在建造新的被连接的产品(例如被连接的空调)或配置现有的工业基础设施(例如连接到执行器和/或控制器的传感器)之间进行选择。在一些实施例中,用户在一些菜单中的选择/输入可以影响引导流程以及将向用户呈现什么未来菜单。如在图1的ACGUI 100的第一引导菜单110的实施例中所描述的,在一些实施例中,根据本发明原理的ACGUI的菜单可进一步包括导航菜单区域120,导航菜单区域120说明性地位于第一引导菜单110的左侧,导航菜单区域120可通知用户在根据本发明原理的网络中配置/实现新装置/系统的导航过程中用户在什么点处。
[0061]图2示出了根据本发明原理的实施例的第二引导菜单210的图形表示。图2的第二引导菜单210使用户能够识别/选择系统的架构。在图2的第二引导菜单210的实施例中,选择包括:
10
CN 112823492 A[0062]
说 明 书
7/25页
a.边缘通过网关连接
[0063]b.边缘直接通过互联网连接[0064]c.网格网络通过网关连接
[0065]架构的选择是一种既有助于定向用户,又影响引导流程以及未来将向用户呈现什么菜单的选择。尽管在图2中示出的第二引导菜单210示出了可由用户做出的具体选择,在根据本发明原理的一些实施例中,第二引导菜单不限于此,并且可包括可由用户选择的其他选择。
[0066]下面的描述假设选择“边缘到网关”流程作为架构,然而,在用户选择“边缘到云”架构的情况下,网关步骤(以及所有后续对网关的引用)将被移除。另外,“网格网络通过网关连接”的选择将呈现具有附加的网格特有配置设置的以下菜单。[0067]在图2的第二引导菜单210的实施例中,由于架构选择影响引导流程的剩余部分,所以在第二引导菜单210的左侧上的导航菜单220中的流程中的后续步骤被遮挡。在一些实
则在导航菜单220中揭示后续步骤的列表。施例中,一旦作出架构选择,
[0068]图3示出了根据本发明原理的实施例的第三引导菜单310的图形表示。图3的实施例的第三引导菜单310使用户能够上传配置和生成网关应用所需的信息。在图3的实施例的引导菜单310中,网关的选择是根据特定的硬件装置和操作系统来提供的,这样用户就可以选择满足用户需求的选项。在图3的实施例的引导菜单310中描述的示例性网关选择包括但不限于:
[0069]●树莓派3型号B[0070]●戴尔边缘IoT网关[0071]●BeagleBone Black[0072]另外,示例性操作系统(OS)选项可包括但不限于:[0073]●Linux[0074]●Windows
[0075]在一些实施例中,图3的引导菜单310还可以包括在用户不能在所支持的网关类型的列表中找到匹配的选择的情况下获得帮助的行动调用。在一些实施例中,选择该选项将使得联系人表单对用户可用。在图3的引导菜单310的实施例中,网关菜单的其余部分捕获的信息包括但不限于:
[0076]●网关如何连接到互联网
[0077]○可以基于硬件选择来自动填充该选择。例如,如果在树莓派上只支持以太网,那么可以默认选择以太网,而不一定是可编辑的。[0078]○网关操作系统(OS)类型
[0079]该选择可以基于用户对OS的选择或用户对硬件的选择而自动填充。例如,如果选择树莓派,则可能不允许选择“Windows”或“OS X”作为操作系统。[0080]●网关位置[0081]●网关名称。
[0082]如图3的第三引导菜单310中所描述的,在一些实施例中,根据本发明原理的用于选择和供应网关的引导菜单可以包括到网关设置指南的链接。在图3的第三引导菜单310的一些实施例中,可以禁用“下一步”按钮,直到所有表单状态都已填充,并且可以在有问题的
11
CN 112823492 A
说 明 书
8/25页
表单字段中识别错误状态。在图3的第三引导菜单310中,第三引导菜单310左侧的导航菜单320中的流程说明性地指示用户当前正在执行网关配置进程。
[0083]图4A示出了根据本发明原理的实施例的第四引导菜单410的图形表示。图4A的实施例的第四引导菜单410使用户能够上传配置和生成边缘装置所需的信息。在一些实施例中,可以比网关设置部分更多地涉及边缘设置部分,并且因此可以将边缘设置部分拆分成逻辑的、可消化的部分。在一些实施例中,必须设置至少一个边缘装置以继续进行引导流程的剩余部分。
[0084]如图4A的第四引导菜单410中所描述的,在一些实施例中,通过向用户可视地呈现边缘类型菜单,可以提示用户选择要配置的边缘装置。在一些实施例中,呈现给用户的选项可以采用边缘制造商和诸如Modbus边缘之类的一般类型的受支持的边缘装置的形式。[0085]在图4A的第四引导菜单410中,边缘装置的每个选择激活随后的部分,该部分使得用户能够为边缘装置进行硬件选择。在图4A所示的第四引导菜单410的实施例中,边缘设置画面在每个边缘的基础上捕获以下信息:[0086]●正在使用的边缘装置的类型[0087]●边缘如何连接到网关[0088]●边缘所在的位置[0089]●边缘装置的名称
[0090]在用于边缘装置类型选择器的第四引导菜单410中可用的选择受先前步骤中作出的选择的影响。例如,如果用户选择TI硬件,则用户可用于边缘硬件的仅有选择将包括TI硬件。如果用户选择WiFi,则用户可用于边缘硬件的唯一选择将包括支持通过WiFi连接的装置。一旦选择了特定的边缘装置类型并给出了位置和名称,用户就可以在装置上设置传感器和执行器。在多个实施例中,边缘装置必须具有与边缘装置相关联的至少一个传感器或一个执行器。尽管图4A中所示的第四引导菜单410描述了可以在每个边缘的基础上捕获的特定信息,在根据本发明原理的一些实施例中,第四引导菜单不限于此,并且可以包括在每个边缘的基础上捕获其他信息。
[0091]图4B示出了根据本发明原理的实施例的第五引导菜单450的图形表示。图4B的实施例的第五引导菜单450使得用户能够上传配置和生成用于边缘装置的传感器和执行器所需的信息。也就是说,一旦用户选择了特定的边缘装置类型并给出了分配的位置和名称,用户就可以在边缘装置上设置传感器和执行器。在根据本发明原理的一些实施例中,每个边缘装置必须具有至少一个传感器或一个执行器。在一些实施例中并且如图4B的第五引导菜单450中所描述的,在菜单450的顶部上显示装置名称。另外,在图4B的第五引导菜单450中识别传感器的类型,并且使用户能够输入传感器的名称。在图4B的实施例的第五引导菜单450中可以选择传感器校准特征,其使得用户能够对传感器读数设置恒定的加或减偏移。这一特性说明了某些传感器始终产生过高或过低的值的现实。在一些实施例中,可以在所选择的用于对象传感器的真实世界单元中指定偏移值。[0092]在图4B的第五引导菜单450中,可以由用户选择公式以应用于传感器。在一些实施例中,用户可以选择结果以图4B的第五引导菜单450的实施例所示的循环时间或PPM至%显示。在一些实施例中并且如图4B的第五引导菜单450中所描述的,边缘装置上的传感器可以在设置进程期间支持图形安全边界和图形警告边界的指定。在一些实施例中,设置图形边
12
CN 112823492 A
说 明 书
9/25页
界是可选的。
[0093]根据本发明原理,在引导流程期间配置的每个边缘装置可以被倍增,使得用户不必经历多次创建相同装置的过程。例如,如果用户想要配置十个相同的温度感测边缘装置,则用户可以使用图1的ACGUI 100的能力将边缘装置的配置一次配置并且将边缘装置的配置乘以10。这样,创建了所配置的边缘装置的十个实例。
[0094]可以通过UI与网关关联的给定类型的边缘装置的数量限制将由关联网络接口的技术和实践限制决定。例如,ZigBee网络对其所能支持的装置数量有一个理论上的限制(以百万计),而实际限制则受到许多因素的影响(通常以数百或数千个为单位)。当乘以边缘时,用户可以通过UI输入的输入值将基于实验结果而受到限制。[0095]一旦成功地添加了边缘装置,则在一些实施例中,用户被返回到顶层边缘步骤的更新视图,该视图包含用户保存的边缘装置的列表。顶层边缘步骤的更新视图可以包含刚刚创建的边缘装置,并且可以随着添加更多边缘装置而增长(下面进一步详细描述)。顶层边缘步骤的更新视图可以包括但不限于至少以下四个目标:[0096]1.提供用户已添加的边缘装置的概要(即,通过显示边缘装置名称、类型和创建日期等)。
[0097]2.提供访问保存的边缘装置的细节的方式,以便可以编辑保存的边缘装置的细节。
[0098]3.提供删除保存的边缘装置的手段,在一个实施例中通过:a.点击删除按钮,该按钮将呈现请求用户确认要删除所选对象的模式。[0099]4.提供创建/添加更多边缘装置的起点。[0100]在根据本发明原理的一些实施例中,添加连续边缘装置的过程实际上与如上所述添加第一边缘装置的过程相同,只有少数例外。在一些实施例中,当用户在先前已经创建了至少一个边缘装置之后添加边缘装置时,将向用户提供选择边缘装置用作新边缘装置的起点的选项。例如,在一些实施例中,将向用户提供克隆边缘装置并且然后编辑要添加的边缘装置的选项,使得容易在用户先前已经配置的边缘装置上创建变化。在一些实施例中,当用户检查用于克隆的边缘装置的设置菜单的每个阶段时,该菜单可以以可编辑的方式显示边缘装置的细节。
[0101]添加第一边缘装置和添加后续边缘装置之间的另一差异在图4B中的第五引导菜单450的左侧上的导航菜单420中的流程中示出,其示意性地描述了用户当前正在添加边缘装置,如在第五引导菜单450的左侧上的导航菜单420中的标签“传感器和执行器”旁边的圆括号中的数字一(1)所指示的,在一些实施例中,该数字反映了已经创建的边缘装置的数量。
[0102]图5示出了根据本发明原理的实施例的第六引导菜单510的图形表示。图5的实施例的第六引导菜单510使用户能够提供关于边缘装置和网关装置如何被供电的信息。在图5的第六引导菜单510的实施例中,在第一部分511中,第六引导菜单510说明性地显示正被配置的装置的名称和用于为命名的装置选择电力选项的下拉选择菜单。在图5的第六引导菜单510的实施例中,在第二部分512中,第六引导菜单510说明性地显示其他装置(说明性地三个其他装置)的名称,并提供相应的下拉选择菜单以选择用于其他命名装置的电力选项。图5的第六引导菜单510说明性地进一步提供选择框513,用于使得用户能够利用单个选择
13
CN 112823492 A
说 明 书
10/25页
来选择用于所有边缘装置的电力选项。[0103]例如,网关通常由有线电力供电,但也可以由电池供电,特别是在网关部署在室外的情况下。图5的第六引导菜单510中示出的电力设置的网关部分显示网关名称、网关类型以及网关如何连接到互联网(以太网、wifi或蜂窝网络),并允许用户在有线电力或电池电力之间进行选择。用户在图5的第六引导菜单510中所做的选择可以影响后续引导中可用的选项。例如,在一些实施例中,可以仅提供对由有线电力供电的树莓派网关的支持。在这样的实施例中,可自动选择电力选项并停用任何选择选项。在这样的实施例中,图5的第六引导菜单510更多的功能是作为一种通信机制,告知用户要使用的电源,而不是给用户选择电源的手段。
[0104]电力设置的边缘部分基本上与上面的网关部分相同,并且使得用户能够针对用户创建的每个边缘装置在电池电力和有线电力之间进行选择。对于每个边缘装置,显示名称、类型和网关/互联网连接选项(WiFi、蓝牙、Zigbee、Modbus)。同样,这个选择可以根据边缘硬件的选择自动进行,并且还有一个全局设置来将所有边缘装置设置为相同类型的电力。在一些实施例中,只有当所有边缘都可被设置为使用相同类型的电源时,该选项才会出现。在根据本发明原理的一些实施例中,电力设置菜单,例如图5的第六引导菜单510可以被配置为提供更详细的电力信息,例如具有多于一个电池的电源或用于各种电源的具体配置细节。
[0105]图6A和图6B描述了根据本发明原理的实施例的可选第七引导菜单610的第一部分611和第二部分612的图形表示。图6A和图6B的实施例的第七引导菜单610使得用户能够提供关于要配置的传感器和执行器的规则的信息。在一些实施例中,创建规则和通知不是本发明原理的ACGUI的必要组成部分,并且因此第六引导菜单可以被认为是可选的。[0106]在图6A所描述的第七引导菜单610的第一部分611的实施例中,用户能够经由下拉选择菜单621选择要为其配置规则的装置。另外,如图6A的第六引导菜单610的第一部分611所示,用户还能够跳过为装置提供规则和通知的过程。[0107]在一些实施例中,图6B中描述的第七引导菜单610的第二部分612包括图6A中所描述的第七引导菜单610的附加部分,或者在一些实施例中,可以包括与图6A中所描述的第七引导菜单610分开的菜单。在图6B所描述的第七引导菜单610的实施例中,正在为其配置规则和/或通知的装置的名称被显示在菜单610的顶部。如在图6B中描述的第七引导菜单610的第二部分612中描述的,用户能够从下拉菜单622中选择可为其配置规则的装置监测的可用参数。即,基于被选择用于配置的装置,菜单/系统填充并且使得用户能够选择对于被配置的装置能够被监测的参数。[0108]说明性地,在图6B所示的第七引导菜单610的实施例中,在同一行上,用户能够从下拉菜单623中选择监测参数的条件。例如,在图6B所示的第七引导菜单610的实施例中,用户选择要监测的温度,并选择“如果温度小于”的条件。说明性地,在图6B所示的第七引导菜单610的实施例中,在同一行上,用户能够输入条件的阈值。例如,在图6B所示的第七引导菜单610的实施例中,用户提供80度的温度作为条件的阈值。在一些实施例中,诸如图6B所示的第七引导菜单610的实施例,用于定义条件规则和触发条件的引导菜单进一步包括“扩展”特征。扩展特征使用户能够输入附加的条件规则和触发条件。[0109]在图6B所示的第七引导菜单610的实施例中,当触发用户配置的规则时,用户能够
14
CN 112823492 A
说 明 书
11/25页
选择应该发生什么。说明性地,在图6B所示的第六引导菜单610的实施例中,为用户选择提供了三种选择:
[0110]1.控制被配置的装置的执行器,
[0111]2.发送电子邮件给例如正被配置的系统的管理员,[0112]3.向例如系统的管理员发送SMS消息。
[0113]在图6B所示的第七引导菜单610的实施例中,显示要向其传送电子邮件或SMS消息的人的联系细节。在一些实施例中,用户能够使用图6B所示的第七引导菜单610来提供电子邮件或SMS消息要被传送到的人的联系人细节。
[0114]如在图6B所示的第七引导菜单610的实施例中描述的,在一些实施例中,用户能够提供关于规则时间表(schedule)的细节。说明性地,在图6B所示的第七引导菜单610,用户能够在使所配置的规则永远开启或提供定制时间表之间进行选择。图6B所示的第七引导菜单610使得用户能够输入规则的开始时间和结束时间,并且能够选择应当应用该规则的日期是星期几。在一些实施例中并且如6B所示的第七引导菜单610所示,可以使用户能够为规则设置多于一个的开始时间和结束时间以及为规则的开始时间和结束时间设置不同的日期。
[0115]第七引导菜单610使得用户能够给所配置的规则命名并保存规则配置。保存规则后,用户将返回到规则和通知部分的顶层,该部分可以显示用户配置的规则的概要。图7示出了根据本发明原理的实施例的可选概要菜单710的图形表示。在一些实施例中并且如图7的概要菜单710中所描述的,概要菜单710可以通过装置名称(用装置类型扩充)来分段,并且可以针对属于边缘装置的每个规则至少显示以下信息:[0116]●规则名称[0117]●规则类型(“传感器和执行器”)[0118]●创建日期。
[0119]从概要菜单710中,用户能够选择创建另一规则或继续设置装置健康规则。如图7的概要菜单710中所描述的,在一些实施例中,已经创建一个规则,更新位于概要菜单710的左侧上的导航菜单以反映已经创建的规则的数量。
[0120]图8示出了根据本发明原理的实施例的可选第八引导菜单810的图形表示。图8的实施例的第八引导菜单810使用户能够提供关于装置健康规则的信息,这些信息可以应用于网关和边缘装置。在一些实施例中,类似于传感器和执行器健康规则,装置健康规则从装置的选择开始,并且该选择被增加有关于用户想要创建的装置健康规则的类型的选择,该选择取决于所选装置的能力。例如,如果用户不使用带有电池的装置,则用户将无法设置电力规则。如果只有一种类型的装置健康规则可用,则在一些实施例中,将自动做出选择并且将不可编辑。在图8的第八引导菜单810中所描述的实施例中,一旦选择了规则类型(电力或连接),则规则将以渐进的方式出现,并映射到传感器和执行器规则的显示方式。[0121]在图8所示的第八引导菜单810的实施例中,使用户能够经由下拉选择菜单811选择要为其配置健康规则的装置。另外,如图8的第八引导菜单810中所描述的,用户还能够跳过为装置提供健康规则的过程。保存规则时,规则以与传感器和执行器规则相同的方式出现在规则概要列表中。
[0122]在一些实施例中,可以通过从规则概要菜单中选择规则来编辑规则,例如图7所示
15
CN 112823492 A
说 明 书
12/25页
的规则概要菜单710,其向用户呈现规则编辑状态。
[0123]图9示出了根据本发明原理的实施例的可选第九引导菜单910的图形表示。图9的实施例的第九引导菜单910使用户能够执行至少以下操作:
[0124]1.捕获关于网关到云和边缘到网关传感器数据频率的偏好信息[0125]2.捕获洞察特征的偏好信息[0126]3.捕获各种类型的信息,这些信息不会立即使用,但会通知产品和PO活动。这些信息至少应存储在数据库中,并有可能集成到TPS中。[0127]4.配置第三方云集成
[0128]更具体地并且如在图9的第九引导菜单910中所描述的,传感器数据频率部分使用户能够提供关于边缘将多久发送一次数据到服务提供商系统以及边缘将多久发送一次数据到网关的信息。根据本发明原理的实施例,该系统可以基于传感器如何被配置来向用户做出关于例如传感器数据频率的推荐。例如,在边缘装置使用电池的情况下,传感器数据可以不那么频繁地发送到云端,以节省使用边缘装置无线电消耗的能量。例如,并且如图9的第九引导菜单910中所描述的,建议每30分钟传送一次传感器数据。[0129]在图9的第九引导菜单910中所描述的实施例中,使用户能够从下拉菜单中选择时间段,该下拉菜单可以包括以下选项:[0130]●每30秒[0131]●每分钟[0132]●每5分钟[0133]●每30分钟[0134]●每小时[0135]●每天一次
[0136]●自定义(可及时表示的值)。[0137]在一些实施例中,基于针对传感器数据频率确定的值,系统可以做出用于将边缘传感器数据传送到网关的确定。例如,在图9的第九引导菜单910中,建议每20秒向网关传送边缘传感器数据。
[0138]如在图9中进一步描述的,第九引导菜单910使用户能够决定是否接受来自系统的传感器预测。例如,在图9的实施例中,第九引导菜单910包括两个拨动开关,这两个拨动开关使用户能够选择是否使系统能够通知用户关于系统数据中的异常事件,以及当系统预测传感器健康规则将被触发时是否通知用户。即,在一些实施例中,系统实现机器学习、线性回归分析和神经网络至少之一以确定系统数据中的异常事件何时已经发生或将发生以及何时将触发传感器健康规则。[0139]在图9所示的实施例中,第九引导菜单910使用户能够从一系列核对表中进行选择,这些检查列表使系统能够收集关于用户希望如何改进物理操作的信息。在一些实施例中,核对表选项可以包括:
[0140]●使机器停机时间最小化[0141]●提高工艺产出[0142]●降低资源消耗[0143]●收集产品分析
16
CN 112823492 A[0144]
说 明 书
13/25页
此外,在一些实施例中并且如图9中所描述的,第九引导菜单910可使用户能够定
义要与装置数据包括在一起的外部数据的类型,例如传感器数据。例如,并且如图9中所描述的,外部数据源的一些选择可以包括:[0145]●天气数据[0146]●财务数据[0147]●客户支持数据[0148]●业务指标[0149]●基础设施指标
[0150]●内部数据库或API数据。[0151]更具体地并且如上所述,本发明的一些实施例实现机器学习算法和模型、线性回归分析和模型、神经网络和其他学习算法中的至少之一,在一些实施例中,这些算法可以基于在运行时间由所有不同的连接装置生成的数据来训练,以预测故障并优化装置性能。优化约束(即,行为约束)是应用需要随时间达到的状态(即,算法将试图预测或感测的最优目标)。例如,在一些实施例中,根据本发明原理尝试预测/实现的一些预测状态可以包括功率节省、传感器校准、预测性维护、最大化或最小化输出等。在一些实施例中,当检测到异常时,当存在装置/系统行为的改变等时,可以生成警报并将其传送给用户。[0152]在一些实施例中,预测应用可基于学习算法的结果而随时间演进,所述学习算法例如为机器学习算法、线性回归分析及神经网络中的至少之一,其能够整体地学习相关联装置及系统的行为及模式。使用ML(构成我们称之为学习系统)来改进其设计的应用程序是自愈的。
[0153]在一些实施例中,根据本发明原理的预测分析包括在云/远程服务器环境中的机器学习,其实现可以利用在运行时生成的数据集实时训练的算法库。然后对这些算法的结果进行实时分析,以获得精度并自动微调参数。即,被证明有效的算法可用于预测装置/系统或应用的行为,并自动微调例如装置/系统的操作参数。替代地或附加地,在一些实施例中,可以利用先前生成的数据集离线地训练算法,并且可以离线地或实时地分析算法的结果以获得准确度。
[0154]在根据本发明原理的预测分析过程的一些示例性实施例中,考虑以下应用:[0155]●机器生产率和开/关状态监控;
[0156]●用于各种传感器装置的基于云的存储和终端用户应用;以及[0157]●数据中心能源使用优化。[0158]在这样的应用中,可以实现自动警报。例如,在一些实施例中,监测/机器学习系统可以学习什么被认为是装置/系统的异常操作条件,并向例如用户传送警报以向用户通知装置/系统的故障。可替换地或附加地,监测/机器学习系统可以被通知什么是装置/系统的异常操作条件,并且例如向用户传送警报,以在检测到异常操作条件时向用户通知装置/系统的故障。
[0159]图18示出了根据本发明原理的实施例的监测/预测系统1800的高级功能框图。在图18的实施例中,监测/预测系统1800说明性地包括数据存储1805、算法储存库1810、算法训练模块1815和可选算法证明模块1820。在图18的实施例中,数据存储1805存储关于操作的数据以及从各种传感器和其他系统装置收集的数据。算法储存库1810存储要应用于数据
17
CN 112823492 A
说 明 书
14/25页
存储1805中的数据的算法,用于根据本发明原理执行预测分析。在一些实施例中,用户能够从算法储存库1810中选择哪个算法应用于数据。替代地或附加地,在一些实施例中,来自算法储存库1810的算法可以由监测/机器学习系统1800自动地选择,这取决于哪个应用将被执行并且如此,哪个装置/系统功能/参数将被预测。[0160]在图18的监测/预测系统1800中,算法训练模块1815可以实现来自数据存储1805的数据以训练算法来预测/学习/识别装置/系统的参数/功能。也就是说,在一些实施例中,算法训练模块1815可以使用来自数据存储1805的数据来确定能够例如使用例如机器学习来识别装置/系统何时将发生事件或故障的算法。然后可以将这样确定的算法存储在算法储存库1810中。
[0161]在图18的监测/预测系统1800中,可选算法证明模块1820可被实现为验证由算法训练模块1815确定的算法和存储在算法储存库1810中的算法中的任何算法的功能。
[0162]图18的监测/预测系统1800能够使用如上所述存储在数据存储1805中的数据来预测给定传感器的未来状态。即,在一些实施例中,监视/预测系统1800能够向用户提供对将来指定点处的个体传感器读数的预测。在一些实施例中,监测/预测系统1800还能够提供该值将落在给定范围内的置信度的度量。例如,在一个示例性实施例中,图18的监测/预测系统1800可以通过分析存储在数据存储1805中的数据来确定地指示特定水箱中的水的温度在特定时间和特定日期可以在特定温度范围内。根据本发明原理的监测/预测系统1800还能够做出关于传感器组、装置组和应用特定状态(例如装置的服务时间表)的未来状态的更高级预测,以便避免停机。[0163]在一些实施例中,根据本发明原理的监测/预测系统将传感器数据预测与传感器阈值的知识组合以使得能够生成关于即将到来的错误状态的主动警告。这是传感器数据预测功能传递的消息的更集中版本,或者是可以预见未来的自动警报版本。该特征可以传达示例性信息,例如:“99%确定水箱1中的温度将在5小时内高于所需阈值。”[0164]另外,在一些实施例中,传感器相关性由根据本发明原理的监测/预测系统实现,以数据所有者可操作的方式描述两个或更多个独立的传感器数据流之间的关系。以机器生产率和开/关状态监测为例,用户可能想知道作为机器输入的油的温度如何影响注塑机上的循环时间。这种特性可以被推广,并使用户能够探索应用中不同传感器之间的相关性。在一些实施例中,对于系统优化,根据本发明原理的监测/预测系统可以监测消耗性资源并且总体上调整系统或系统的装置的操作参数,以根据需要使所监测资源的消耗最小化或最大化。
[0165]在根据本发明原理的监测/预测系统中,例如图18的监测/预测系统1800,智能特征是相互建立的。更具体地,图9示出了根据本发明原理的实施例的监视/预测系统中的一些示例性预测特征之间的关系的高级功能图。如图19的实施例中所描述的,根据本发明原理的监测/预测系统的预测特征可以包括传感器相关性1905、自动报警1910、传感器数据预测1915、误差状态预测1920和系统优化1925。在一些实施例中,可以使用机器学习方法来实现根据本发明原理的监测/预测系统的特征。在一些实施例中,可以使用统计方法来实现根据本发明原理的监测/预测系统。在一些实施例中,可以使用统计方法和机器学习方法的组合来实现根据本发明原理的监测/预测系统。[0166]在一些实施例中,对于传感器相关性1905,可以使用诸如所建立的python库之类
18
CN 112823492 A
说 明 书
15/25页
的科学计算工具来计算互相关。例如,在一些实施例中,可以使用包括用于科学计算的python中的包的Numpy和Scipy来计算互相关。在一些实施例中,可以对照总体度量(例如循环时间)来跟踪传感器数据,并且可以确定传感器如何与该“目标度量”相关的模型。在一些实施例中,可以通过构造神经网络来实现跟踪,该神经网络可以访问传感器数据(以及潜在的其他相关数据,例如环境天气)并输出目标度量的预测。然后,通过一次线性地改变一个输入变量,同时保持所有其他变量恒定,可以隔离某些变量的影响。[0167]在一些实施例中,对于自动警报1910(与异常检测有关),可以实现统计方法的应用以识别异常值并将异常值准确地标记为异常。在一些实施例中,可以实现极端研究偏差(Extreme Studentized Deviate,ESD)方法以识别异常值。在一个特定实施例中,实施季节性混合(Seasonal Hybrid)ESD(S‑H‑ESD)以识别异常。S‑H‑ESD方法背后的思想是使用STL分解(“使用黄土的季节性和趋势分解”)来消除季节性。在一个实施例中,通过去除季节性,可以更准确地识别真正的异常值,使用广义极限研究的偏差测试。[0168]作为基线,S‑H‑ESD为开始探索机器学习方法提供了一个强有力的起点。随着每个帐户的数据集的增长,可以训练机器学习模型,使其性能优于S‑H‑ESD。基于机器学习的可行替代方法依赖于精确预测传感器数据的能力。[0169]可替换地或附加地,在一些实施例中,针对由针对传感器日期预测特征1915实现的传感器数据预测模型生成的异常分数来实现统计方法的集合。即,传感器数据预测智能特征的完成扩展了可用于自动报警特征1920的技术。例如,可以将传感器的观测值与关于值“应该”是什么的机器学习驱动预测(这被称为异常分数)进行比较。在一些实施例中,为异常分数的绝对值设置固定阈值。可替换地或附加地,可以实现累加器来统计异常或使用滚动均值和方差来计算尾部概率。[0170]在一些实施例中,对于传感器数据预测1915,可以在TensorFlow中实现长短期存储器(long short‑term memory,LSTM)网络。这样的配置使得能够利用数据的时间序列特性。同样重要的是要注意,在传感器数据中存在隐含的周期性假设。也就是说,随着时间的推移,数据中有可观察到的模式。在一些实施例中,为了计算置信度值,可以实现贝叶斯神经网络(Bayesian Neural Network,BNN)。[0171]在一些实施例中,对于错误状态预测特征1920,可以使用户能够使用传感器数据预测模型来设置时间尺度和传感器阈值。例如,如果预测到传感器值将在给定的时间尺度上高于/低于相应的阈值,则可以向用户报告这样的信息,和/或每当系统预测错误状态时可以传送警报。
[0172]在一些实施例中,在传感器数据预测v2(实现神经网络,例如二进制神经网络)之后,概率可以与阈值相关联,仅当以某种程度的置信度克服阈值时才触发警报。在一些实施例中,对于系统优化1925,在一些实施例中实现由TensorFlow供电的神经网络。[0173]除了神经网络之外,在根据本发明原理的一些实施例中,可以应用其他学习算法来执行根据本发明原理的所描述的实施例的各种功能,包括至少自动确定配置信息和应用逻辑信息以及预测分析。更具体地,机器学习任务通常分为两大类,这取决于学习系统是否有可用的学习“信号”或“反馈”,即监督学习和无监督学习。[0174]在监督学习中,计算机被呈现为示例输入和其期望的输出,由“老师”给出,目标是学习将输入映射到输出的一般规则。作为特殊情况,输入信号可以仅部分地可用,或者被限
19
CN 112823492 A
说 明 书
16/25页
制为特殊反馈。监督学习可以包括半监督学习,其中计算机只得到一个不完整的训练信号:一个训练集,其中一些(通常是许多)目标输出丢失。在一些实施例中,监督学习还可以包括主动学习,其中计算机可以仅获得有限的实例集的训练标签(基于预算),并且还必须优化其对要获取标签的对象的选择。当交互式使用时,这些可以呈现给用户进行标记。在一些实施例中,监督学习还可以包括强化学习,其中训练数据(以奖励和惩罚的形式)仅作为对动态环境中的程序动作的反馈而给出,诸如驾驶车辆或与对手玩游戏。[0175]对于无监督学习,没有给学习算法赋予标签,留下算法自身在其输入中寻找结构。无监督学习本身可以是一个目标(发现数据中隐藏的模式),也可以是达到目的的一种手段(特征学习)。
[0176]如上所述,除了神经网络之外,在根据本发明原理的一些实施例中,可以应用其他学习算法来实现本发明原理的预测分析和其他功能。例如,在一些实施例中,可以实现决策树学习。决策树学习使用决策树作为预测模型,其将关于项目的观察映射到关于项目的目标值的结论。替换地或附加地,在一些实施例中,关联规则学习可以被实现用于预测分析,如上所述的本发明原理的其他相关特征。关联规则学习是发现大型数据库中变量之间有趣关系的一种方法。替换地或附加地,在一些实施例中,深度学习可以被实现用于预测分析,如上所述的本发明原理的其他相关特征。深度学习由人工神经网络中的多个隐藏层组成。这种方法试图模拟人脑处理输入的方式。
[0177]在根据本发明原理的一些实施例中,可以实现用于预测分析的其他学习算法和技术,包括但不限于归纳逻辑编程、支持向量机、聚类、贝叶斯网络、强化学习、表示学习、相似性和度量学习、稀疏字典学习、遗传算法、基于规则的机器学习、学习分类器系统等,以用于本发明原理的其他功能。
[0178]除了实现用于预测分析的学习算法和本发明原理的其他功能之外,基于使用由装置或系统收集的数据的学习算法的分析,可以实现用于重编程装置或传感器以例如扩展装置或系统的能力的学习算法。例如,在一些实施例中,由诸如端到端IoT网络的网络的装置和/或传感器收集的数据可以通过学习算法来监测和分析。基于该分析,可以对为系统的装置和/或传感器生成的编程代码进行编程或重编程,以实现期望的结果,例如,延长系统的装置和/或传感器的操作寿命。例如,在一个示例性实施例中,如果传感器数据的学习分析指示这样的传感器倾向于快速消耗电池寿命,则可以基于学习的分析减少或完全消除这样的传感器的非基本功能或功能的功率,以试图延长这样的传感器的操作寿命。在一些实施例中,可以对装置的操作参数和/或应用逻辑中的至少一个进行重新编程。可替换地或附加地,互连/路径也可以根据本原理被重新编程。[0179]可替换地或附加地,在一些实施例中,诸如端到端IoT网络的网络的装置和/或传感器可以基于由装置和/或传感器收集的原始数据而被重新编程。如,在一个示例性实施例中,如果根据传感器数据确定传感器的电池正在低功率运行,则可以基于原始数据减少或完全消除传感器的非基本功能或功能的功率,以试图延长传感器的操作寿命。在一些实施例中,可以对装置的操作参数和/或应用逻辑中的至少一个进行重新编程。可替换地或附加地,互连/路径也可以根据本原理被重新编程。[0180]返回参照图9,在一些实施例中并且如图9所示,第九引导菜单910可使用户能够识别用户对传感器数据的共享的兴趣,在一些实施例中,所述传感器数据可被考虑用于公益。
20
CN 112823492 A[0181]
说 明 书
17/25页
在一些实施例中,并且如图9中所描述的,第九引导菜单910可以进一步包括到菜
单的链接,该菜单使得用户能够向第三方云发送传感器数据。例如,在一些实施例中,第三方云选择的选择可以包括:[0182]●亚马逊Web服务(AWS)[0183]●Azure[0184]●谷歌云。
[0185]在一些实施例中,选择云供应商开始配置第三方云供应商以接受传感器数据的流程。例如,图10示出了根据本发明原理的实施例的可选第三方云供应商配置菜单1010的图形表示。图10的实施例的第三方云供应商配置菜单1010说明性地使用户能够配置与AWS的通信。在图10的实施例中,用户能够提供关于至少以下项目的信息:[0186]●AWS访问密钥ID[0187]●AWS密钥ID[0188]●用户区域[0189]●库名称[0190]●频率。
[0191]在一些实施例中,根据本发明原理的ACGUI使得用户能够提供关于正在部署应用的物理规模的信息,以使得系统能够生成用于多个复制边缘和网关装置的代码(下面将更详细地描述),而无需用户手动配置每个装置实例。图11A示出了根据本发明原理的实施例的可选缩放菜单1110的第一部分1111的图形表示。图11A的实施例的可选缩放菜单1110的第一部分1111使用户能够为缩放应用程序提供名称。[0192]在一些实施例中,系统维护账户,其包含装置和装置组。在这样的实施例中,另一层位于帐户和装置组/装置之间,其中一个帐户可以包含许多应用,这些应用又可以包含许多装置和装置组,并且装置组可以包含许多装置。在一些实施例中,该结构分层结构可包括以下内容:[0193]●账户
[0194]○应用(0..n)[0195]■装置(0..n)[0196]■装置组(0..n)[0197]■装置(1..n)[0198]例如,在一些实施例中,账户可以具有零个或多个应用(即,系统账户不必具有任何应用)。另外,应用可以包含装置和/或装置组两者,并且应用必须具有至少一个装置(即,用户将不会创建空应用)。此外,装置组必须具有至少一个装置,例如网关。然而,在一些实施例中,装置组将具有网关和至少一个边缘装置。
[0199]图11B示出了根据本发明原理的实施例的缩放菜单1110的第二部分1112的图形表示。在第一部分1121中,图11B的实施例的缩放菜单1110的第二部分1112使用户能够指定用户希望在应用中具有多少每种类型的边缘装置。例如,并且如图11B中所描述的,用户能够选择一个装置和一个乘法器,用于定义用户想要拥有多少个所识别的装置。例如,如果用户想要具有全部共享边缘装置硬件配置的17个温度传感器装置,则用户可以在边缘配置部分(如上所述)中一次创建该边缘装置,并且使用缩放菜单1110来定义17的乘数,使得网关将
21
CN 112823492 A
说 明 书
18/25页
使17个边缘装置连接。
[0200]在图11B的实施例的缩放菜单1110的第二部分1112中,使用户能够提供关于要生成的应用的实例的数量的信息。例如,用户可能需要上述“一个网关+17个边缘”温度感测系统的五(5)个实例,这将为该应用创建总共5个装置组。在一些实施例中,缩放的装置继承所基于的装置的所有属性,包括已经设置的任何规则。在其他实施例中,可以向用户呈现将属性应用于所有缩放装置的选项,或者可替换地或附加地,可以向用户呈现编辑所有或某些缩放装置的属性的选项。
[0201]在图11B的实施例的缩放菜单1110的第二部分的第二部分1122中,进一步使用户能够为正在配置的网关提供更新的位置。例如,缩放可以引入装置命名的问题,特别是在用户正在创建装置组的多个实例的情况下。由于在引导过程中较早地设置了网关位置,因此将网关实例的数目相乘导致在相同位置处创建n个网关,这可能不能很好地映射到用户计划如何物理地部署装置。虽然这些位置可以通过装置的仪表板更改,但缩放菜单1110提供了更有效的更新网关位置的过程。即,如上所述,当用户选择缩放所生成的网关实例的数量时,给予用户改变正被创建的每个网关的位置的选项。网关位置将全部填充有原始网关位置,并且可以为每个网关分配(或不分配)新位置。如果设置了新网关位置,则与该网关相关联的所有边缘也可以被更新到与该网关相同的位置。
[0202]图11C示出了根据本发明原理的实施例的缩放菜单1110的第三部分1152的图形表示。图11C的实施例的缩放菜单1110的第三部分1152使用户能够指定如何识别边缘装置。例如,并且如图11C中所描述的,用户能够选择为边缘装置自动生成装置ID,以提供ID列表(即上传ID列表),或指定ID格式,并让系统基于用户提供的格式自动生成边缘装置的装置ID。[0203]在用户使用本发明原理的ACGUI的菜单来为要配置的装置提供所需的供应信息、应用逻辑和其他配置信息之后,本发明原理的系统可以自动生成用于实现所配置的装置的代码。也就是说,系统从所选择的网关和边缘装置生成运行应用所需的代码。例如,图12A示出了根据本发明原理的实施例的代码生成菜单1210的第一部分1211的图形表示。图12A的实施例的代码生成菜单1210的第一部分1211为用户显示应用的硬件配置的概要,并使用户能够编辑不正确的装置配置。点击图12A的代码生成菜单1210的第一部分1211中的编辑选项使得用户能够编辑装置的配置参数。在图12A所示的代码生成菜单1210的第一部分1211的实施例中,概要信息包括:[0204]●应用名称[0205]●边缘装置列表
[0206]○每个边缘装置的数量和类型[0207]○每个边缘装置使用的连接机制[0208]●传感器和执行器列表[0209]○每个装置的数量和类型[0210]○每个装置的信号类型[0211]●网关列表
[0212]○网关类型和互联网连接类型。
[0213]图12A所示的代码生成菜单1210的第一部分1211还包括“生成代码”选择按钮,其在被选择时触发代码生成过程。例如,在根据本发明原理的一些实施例中,一种用于在诸如
22
CN 112823492 A
说 明 书
19/25页
端到端IoT网络之类的网络中自动生成和并入代码的方法可以包括:例如经由ACGUI接收对来自多个可用功能的功能的选择,用于自动地生成与所选择的功能相对应的代码;接收用于执行自动生成的代码以执行所述功能的至少一个参数;与所述ACGUI相关联地自动生成所述代码,所述自动生成的代码被配置为在执行所述自动生成的代码时执行所述功能;将自动生成的代码并入到用于目标装置的程序中;以及将所述程序发送到所述目标装置以供在所述目标装置上安装和执行。在根据本发明原理的一些实施例中,可以根据共有美国专利No.10,409,562的教导来生成与用户针对其输入配置信息、应用逻辑、技术资产(例如,设置脚本)等的装置/网络相关的代码。
[0214]图12B示出了根据本发明原理的实施例的代码生成菜单1210的第二部分1212的图形表示。图12B的实施例的代码生成菜单1210的第二部分1212为用户显示所生成的代码的概要。例如,在图12B的实施例中,代码生成菜单1210的第二部分1212说明性地包括:[0215]●应用名称[0216]●边缘源代码[0217]○文件数量
[0218]○对于每个文件:[0219]■文件名[0220]■代码的行数[0221]■文件的大小[0222]●网关应用[0223]○文件数量
[0224]○对于每个文件:[0225]■文件名[0226]■代码的行数[0227]■文件大小
[0228]■应用程序在运行时消耗的估计RAM量[0229]●配置文件&Extras[0230]○文件数量
[0231]○对于每个文件:[0232]■文件名
[0233]■代码行数(如相关)[0234]■文件大小。
[0235]对于任何给定应用,要在代码生成菜单1210的第二部分1212中显示的文件可以取决于代码生成过程的输出以及用户在至少引导流程期间先前提供的供应信息。[0236]在一些实施例中,代码生成器(例如,本文描述的代码生成器模块)用于生成边缘应用以及用户需要快速设置边缘装置的任何其他技术资产,例如设置脚本。在一些实施例中,在边缘代码生成期间,可以实现给定MCU或开发提供的平台特定的特征。例如,如果像TICC3220S(F)这样的装置板具有板载传感器,则可以为板载传感器提供支持,或者如果MCU支持节能,则生成的代码将利用这些设施,特别是如果用户正在用电池运行装置。
[0237]图13A示出了根据本发明原理的实施例的部署菜单1310的第一部分1311的图形表
23
CN 112823492 A
说 明 书
20/25页
示。图13A的实施例的部署菜单1310的第一部分1311使用户能够通过将为边缘装置生成的代码传送到正在部署边缘装置的位置来部署边缘装置。一旦已经部署了边缘装置,则图13A的实施例的部署菜单1310的第一部分1311使得用户能够将所部署的边缘装置与网关配对。更具体地,在图13A的实施例的部署菜单1310的第一部分1311的实施例中,当用户准备将部署的边缘装置与网关配对时,部署菜单1310的第一部分1311为用户提供用于激活的可选择按钮。在选择“与网关配对”按钮时,显示部署菜单1310的第二部分1312。
[0238]图13B示出了根据本发明原理的实施例的部署菜单1310的第二部分1312的图形表示。在图13B的实施例的部署菜单1310的第二部分1312的实施例中,部署菜单1310的第二部分1312提供网关设置指南,以帮助用户启动并运行网关。一旦网关启动并运行,用户就可以激活由部署菜单1310的第二部分1312提供的可选择按钮,以使网关扫描网关可以连接的传感器和执行器装置。
[0239]图13C示出了根据本发明原理的实施例的部署菜单1310的第三部分1313的图形表
以帮示。图13C的实施例的部署菜单1310的第三部分1313的实施例提供边缘装置设置指南,
助用户验证所有边缘装置都已启动并运行。如图13C所示,部署菜单1310的第三部分1313显示作为扫描结果确定的与网关连接的传感器和执行器装置的列表。
[0240]图14示出了根据本发明原理的实施例的代码供应系统1400的高级框图。图14的代码供应系统1400说明性地包括代码供应客户端1450,其包括引导模块1410、代码生成器模块1420和部署模块1430。
[0241]可以在根据本发明原理的计算平台1460(在图15中有更详细的描述)中实现诸如图14的代码供应客户端1450之类的代码供应客户端的实施例。在一些实施例中,代码供应客户端1450包括具有来自计算平台1460的输入和输出的软件客户端。在这样的实施例中,代码供应客户端1450可以被实现为由用户或软件应用使用计算平台1460发起的独立服务。可替换地或另外地,在一些实施例中,代码供应客户端1450可以被实现为基于系统服务器/处理器的系统的持久性服务,其中代码供应客户端1450可以主动地查询引导模块1410、代码生成器模块1420和部署模块1430以获得来自用户或传感器/装置的输入。在这样的实施例中,可以使用支持直接查询的定义的API(应用程序接口)来实现持久服务。[0242]如图14所示,代码供应客户端1450的引导模块1410从用户或计算机接收关于系统的装置(诸如IoT端到端系统的IoT装置)的供应信息的输入。例如,并且如上所述,在一些实施例中,引导模块1410可以为用户提供诸如图1的ACGUI 100的接口,以使用户能够向引导模块1410输入关于要被配置和编程的一个或多个装置的配置参数的信息。在一些实施例中并且如图14中所描述的,引导模块1410可以从计算机接收关于要配置的一个或多个装置的配置参数的信息,例如使用机器学习来获得该一个或多个装置的配置参数。
[0243]由引导模块1410收集的一个或多个装置的供应/配置信息可以由代码生成模块1420用来生成代码以配置接收到供应/配置信息的相应装置。也就是说,根据本发明原理的实施例,以适合于如上所述由代码供应客户端1450供应/配置的装置的类型的语言和格式自动生成代码。
[0244]在一些实施例中,生成的代码可以由部署模块1430通过将生成的代码发送/传送到将由一个或多个装置或一个或多个装置的管理员实现的相应一个或多个装置来部署,以便根据生成的代码并且如上所述来供应/配置装置。
24
CN 112823492 A[0245]
说 明 书
21/25页
图15示出了根据本发明原理的实施例的适合在图14的代码供应系统1400中使用
的计算平台1460的高级框图。在一些实施例中,计算平台1460可被配置成将本发明原理的方法实现为在各种实施例中处理器可执行的可执行程序指令1522(例如,可由一个或多个处理器1510执行的程序指令)。[0246]在图15的实施例中,计算平台1460包括经由输入/输出(I/O)接口1530耦合到系统存储器1520的一个或多个处理器1510a至1510n。计算平台160还包括耦合到I/O接口1530的网络接口1540以及一个或多个输入/输出装置1550,诸如光标控制装置1560、键盘1570和显示器1580。在各种实施例中,系统可以利用任何组件来接收在此描述的用户输入。在各种实施例中,可以在显示器1580上生成和显示用户接口。在一些情况下,预期可使用计算平台1460的单个实例来实现实施例,而在其他实施例中,多个此类系统或构成计算平台1460的
例如,在一个实施例中,可以经由多个节点可被配置为托管各种实施例的不同部分或实例。
计算平台1460的与实现其他元件的那些节点不同的一个或多个节点来实现一些元件。在另
多个节点可以以分布式方式实现计算平台1460。一示例中,
[0247]在不同的实施例中,计算平台1460可以是任何各种类型的装置,包括但不限于个人计算机系统、台式计算机、膝上型计算机、笔记本、平板或上网本计算机、大型计算机系统、手持计算机、工作站、网络计算机、相机、机顶盒、移动装置、消费装置、视频游戏控制台、手持视频游戏装置、应用服务器、存储装置、诸如交换机、调制解调器、路由器之类的外围装置,或通常任何类型的计算或电子装置。[0248]在各种实施例中,计算平台1460可以是包括一个处理器1510的单处理器系统,或包括多个处理器1510(例如,两个、四个、八个或另一适当数量)的多处理器系统。处理器1510可以是能够执行指令的任何合适的处理器。例如,在各种实施例中,处理器1510可以是实现各种指令集架构(ISA)中的任何一种的通用或嵌入式处理器。在多处理器系统中,处理器1510中的每一个可共同(但不一定)实施相同ISA。[0249]系统存储器1520可以被配置为存储处理器1510可访问的程序指令1522和/或数据1532。在各种实施例中,系统存储器1520可使用任何合适的存储器技术来实施,例如静态随机存取存储器(SRAM)、同步动态RAM(SDRAM)、非易失性/闪存类型存储器或任何其他类型的存储器。在所例示的实施例中,实现本文中所描述的实施例的任一元件的程序指令和数据可存储于系统存储器1520内。在其他实施例中,可以在不同类型的计算机可访问介质上或在与系统存储器1520或计算平台1460分开的类似介质上接收、发送或存储程序指令和/或数据。
[0250]在一个实施例中,I/O接口1530可被配置为协调处理器1510、系统存储器1520与装置中的任何外围装置(包括网络接口1540或其他外围接口,例如输入/输出装置1550)之间的I/O业务。在一些实施例中,I/O接口1530可执行任何必要的协议、时序或其他数据转换,以将来自一个组件(例如,系统存储器1520)的数据信号转换成适合由另一组件(例如,处理器1510)使用的格式。在一些实施例中,I/O接口1530可包括对通过各种类型的外围总线(例如,外围组件互连(PCI)总线标准或通用串行总线(USB)标准的变体)附接的装置的支持。在一些实施例中,I/O接口1530的功能可以被分成两个或更多个分开的组件,例如北桥和南桥。而且,在一些实施例中,I/O接口1530的一些或全部功能,例如到系统存储器1520的接口,可以直接结合到处理器1510中。
25
CN 112823492 A[0251]
说 明 书
22/25页
网络接口1540可以被配置为允许在计算平台1460和附接到网络(例如,网络1590)
的其他装置(例如一个或多个外部系统)之间或在计算平台1460的节点之间交换数据。在各种实施例中,网络1590可包括一个或多个网络,包括但不限于局域网(LAN))(例如,以太网或公司网络)、广域网(WAN)(例如,互联网)、无线数据网络、一些其他电子数据网络或其某种组合。在各种实施例中,网络接口1540可支持经由有线或无线通用数据网络(例如,任何合适类型的以太网)、经由数字光纤通信网络、经由存储区域网络(例如光纤信道SAN)或经由任何其他合适类型的网络和/或协议的通信。[0252]在一些实施例中,输入/输出装置1550可以包括一个或多个显示终端、键盘、小键盘、触摸板、扫描装置、语音或光学识别装置、或适于通过一个或多个计算机系统输入或访问数据的任何其他装置。多个输入/输出装置1560可以存在于计算平台1460中或者可以分布在计算平台1460的各种节点上。在一些实施例中,类似的输入/输出装置可以与计算平台1460分开,并且可以通过有线或无线连接(例如通过网络接口1540)与计算平台1460的一个或多个节点交互。
[0253]在一些实施例中,所示出的计算平台1460可以实现本文描述的任何操作和方法,诸如图17A和图17B的流程图所示出的方法(如下所述)。在其他实施例中,可以包括不同的元件和数据。本领域技术人员将理解,计算平台1460仅仅是说明性的,并不旨在限制实施例的范围。特别地,计算机系统和装置可以包括能够执行各种实施例所指示的功能的硬件或软件的任何组合,包括计算机、网络装置、互联网装置、PDA、无线电话、寻呼机等。计算平台1460还可以连接到未示出的其他装置,或者替代地可以作为独立系统操作。另外,在一些实施例中,由所示组件提供的功能可以组合在更少的组件中或分布在附加组件中。类似地,在一些实施例中,可以不提供某些所示组件的功能和/或可以获得其他附加功能。[0254]在根据本发明原理的一些实施例中,使用户能够与至少计算平台1460交互的用户接口可以由计算平台1460或代码供应客户端1450中的至少一个来提供。在一些实施例中,用户接口可被实现为呈现在例如本发明原理的计算平台1460的显示器上的菜单驱动的应用,并且至少计算平台1460的一个或多个输入/输出装置可用于提供用户、用户接口和本原理的代码供应系统1400之间的交互。[0255]本领域技术人员还将认识到,虽然各种项目被示出为在使用时存储在存储器中或存储在存储器上,但是出于存储器管理和数据完整性的目的,这些项目或其部分可以在存储器和其他存储装置之间转移。或者,在其他实施例中,一些或全部软件组件可在另一装置上的存储器中执行,并且经由计算机间通信与所例示的计算机系统通信。系统组件或数据结构中的一些或全部还可被存储(例如,作为指令或结构化数据)在计算机可访问介质或便携式物品上以由适当驱动器读取,本文描述了其各种示例。在一些实施例中,存储在与计算平台1460分开的计算机可访问介质上的指令可以经由传输介质或信号(诸如经由诸如网络和/或无线链路之类的通信介质传送的电信号、电磁信号或数字信号)被传送到计算平台1460。各种实施例还可以包括在计算机可访问介质上或经由通信介质接收、发送或存储根据以上描述实现的指令和/或数据。通常,计算机可访问介质可以包括存储介质或存储器介质,诸如磁介质或光介质,例如盘或DVD/CD‑ROM,易失性或非易失性介质,例如RAM(例如SDRAM、DDR、RDRAM、SRAM等)、ROM等。
[0256]图16示出了网络环境1600的高级框图,在该网络环境1600中,可以实现根据本发
26
CN 112823492 A
说 明 书
23/25页
明原理的代码供应客户端(诸如图14的代码供应客户端1450)的实施例。图16的网络环境1600说明性地包括用户域1602,其包括用户域服务器1604。图16的网络环境1600还包括计算机网络1606,远程环境,其说明性地包括远程服务器(说明性地包括云服务器1612)的云环境1610,以及端到端网络1615,诸如IoT端到端网络。尽管在图16中,远程环境被描述为云环境1610,在根据本发明原理的一些实施例中,根据本发明原理的远程环境可以包括任何其他远程操作环境,诸如销售人员环境、会计服务环境和任何其他指定的远程服务(诸如远程计算环境)中的至少一个。
[0257]在图16的网络环境1600中,代码供应客户端(诸如图14的代码供应客户端1450)可以包括在用户域服务器1604、计算机网络1606和云服务器1612中的至少一个中。也就是说,在一些实施例中,用户可以使用本地服务器(例如,用户域服务器1604)来提供端到端网络1615的装置的配置信息,并且用户域服务器1604中的代码供应客户端1450可以生成用于相应装置的编程代码并且将编程代码部署到端到端网络1615。例如,在一些实施例中,用户域服务器1604中的代码供应客户端1450可以经由与用户域服务器1604相关联的显示器将ACGUI(诸如图1的ACGUI 100)呈现给用户,以使得用户能够为端到端系统1615的至少一个装置提供配置/供应信息。然后,用户域服务器1604中的代码供应客户端1450可以根据本发明原理生成并部署用于供应装置的端到端系统1615的编程代码。[0258]在一些实施例中,用户可以在计算机网络1606中实现代码供应客户端1450,以通过例如互联网为端到端网络1615的装置提供配置信息,并且计算机网络1606中的代码供应客户端1450可以生成用于各个装置的编程代码,并且根据本发明原理将编程代码部署到端到端网络1615。可替换地或附加地,在一些实施例中,云环境1610的云服务器1612中的代码供应客户端1450可被实现为根据本发明原理生成用于相应装置的编程代码并将编程代码部署到端到端网络1615。例如,在一些实施例中,在云环境1610中执行用于组装数据以及生成和部署代码的处理功能以利用云环境1610的处理能力可以是有利的。在根据本发明原理的一些实施例中,代码供应客户端1450可以位于单个或多个位置/服务器/计算机中,以执行根据本发明原理的代码供应客户端1450的此处描述的功能的全部或部分。
[0259]图20示出了根据本发明原理的实施例的代码供应系统(诸如图14的代码供应系统1400)的架构的高级功能图。如在图20中描述的代码供应系统的功能架构中描绘的,在一些实施例中,根据发明本原理的代码供应系统可以被部署在端到端系统的嵌入式装置中,该嵌入式装置包括但不限于可编程微控制器2002、PLC 2004以及商用现货(COTS)传感器和执行器2006中的至少一个。如图20所示,端到端系统的装置可以由根据本发明原理的代码供应系统配置为经由通信协议进行通信,所述通信协议包括但不限于蓝牙2008、Sub 1‑GHz 2010、通过WiFi 2012的MQTT、Zigbee 2014、Modbus TCP 2016、Modbus RTU 2018中的至少一个,以及基本上任何其他连接和协议。
[0260]如在图20中描述的代码供应系统的功能架构中描述的,在一些实施例中,能够使用根据本发明原理的代码供应系统来供应的连接可以包括但不限于边缘到网关到云、边缘到云、边缘网格到云和边缘网格到网关到云中的至少一个。
[0261]如在图20中描述的代码供应系统的功能架构中进一步描述的,在一些实施例中,所支持的一些特征可以包括但不限于硬件支持、传感器警报配置、数据批处理、编程更新和执行器控制中的至少一个。
27
CN 112823492 A[0262]
说 明 书
24/25页
如在图20中描述的代码供应系统的功能架构中描述的,在一些实施例中,外部API
2020可被实现为使用基于web的应用2022来部署根据本发明原理的代码供应系统。在一些实施例中,基于web的应用2022可以由图14所示的代码供应系统1400的引导模块1410来实现。基于web的应用2022可以与代码生成引擎2024(诸如图14所示的代码供应系统1400的代码生成模块1420)通讯,以生成如本文所述的编程代码。
[0263]如在图20中描述的代码供应系统的功能架构中进一步描述的,在一些实施例中,代码生成引擎2024可以与外部存储器2026通信,用于接收包括但不限于原始传感器数据、传感器趋势统计、机器学习数据、执行器控制接口数据、编程更新数据和装置管理数据中的至少一个的信息。
[0264]图17A示出了根据本发明原理的实施例的用于端到端网络的辅助代码供应的方法1700的流程图。方法1700开始于1702,在1702期间,自动提供第一接口菜单,用于能够进行端到端网络的装置的配置信息和应用逻辑信息中的至少一个的初始用户输入。方法1700可以前进到1704。[0265]在1704,响应于端到端网络的装置中的至少一个装置的配置信息和应用逻辑信息中的至少一个的初始用户输入,自动提供第二接口菜单,用于能够进行端到端网络的装置中的至少一个另一个装置的配置信息和应用逻辑信息中的至少一个的随后用户输入。方法1700可以前进到1706。[0266]在1706,连续自动地提供后续接口菜单,用于接收建立端到端网络所需的所有装置和互连的配置信息和应用逻辑信息中的至少一个。可以退出方法1700。[0267]在图17A的方法1700中,提供用于输入的后续接口菜单可以取决于对先前接口菜单进行的输入,并且自动提供的接口菜单的顺序引导用户通过所述端到端网络的供应而无需输入编程代码。
[0268]方法1700可以进一步包括:由建立所述端到端网络所需的每个装置的输入配置信息和应用逻辑信息来自动生成编程代码;以及通过将生成的编程代码发送到每个装置中的相应装置来部署生成的编程代码,用于配置装置以建立所述端到端网络。
[0269]图17B示出了根据本发明原理的另选实施例的用于端到端网络的辅助代码供应的方法1750的流程图。方法1750开始于1752,在1752期间,接收建立端到端网络所需的装置的配置信息。方法1750可以前进到1754。[0270]在1754,由所接收的用于建立端到端网络所需的装置中的每个装置的配置信息,自动生成编程代码。方法1750可以前进到1756。[0271]在1756,通过将所生成的编程代码传送到多个装置中的每个相应装置来部署所生成的编程代码,用于配置这些装置以建立端到端网络。可以退出方法1750。[0272]在一些实施例中,方法1750可以进一步包括向用户提供用于输入建立端到端网络所需的装置的配置信息的接口。[0273]在不同实施例中,本文描述的方法可在软件、硬件或其组合中实现。另外,可以改变方法的顺序,并且可以添加、重新排序、组合、省略或以其他方式修改各种元件。本文中描述的所有示例以非限制性方式呈现。如对于受益于本公开的本领域技术人员来说显而易见的,可以进行各种修改和更改。已经在特定实施方式的上下文中描述了根据实施方式的实现。这些实施方式是说明性的而不是限制性的。能够进行许多变化、修改、添加和改进。因
28
CN 112823492 A
说 明 书
25/25页
此,可以为本文描述为单个实例的组件提供多个实例。各种组件、操作和数据存储之间的边界在某种程度上是任意的,并且在特定说明性配置的上下文中示出了特定操作。可以设想功能的其他分配,并且这些分配可以落在所附权利要求的范围内。在示例性配置中呈现为离散组件的结构和功能可以实现为组合的结构或组件。这些及其他变化、修改、添加和改进可落入如所附权利要求书中所限定的实施方式的范围内。[0274]在前面的描述中,阐述了许多具体细节、示例和场景,以便提供对本公开的更透彻理解。然而,将理解,可在没有这种特定细节的情况下实践本发明的实施例。此外,提供这样的示例和场景是用于说明,并且不旨在以任何方式限制本公开。通过所包括的描述,本领域普通技术人员应当能够实现适当的功能而无需过多的实验。[0275]说明书中对“实施例”等的引用指示所描述的实施例可包括特定特征、结构或特性,但并非每个实施例都必须包括特定特征、结构或特性。这种短语不一定指相同的实施例。此外,当结合实施例描述特定特征、结构或特性时,认为结合其他实施例(无论是否明确
结构或特性是在本领域技术人员的知识范围内。指示)来影响这些特征、
[0276]根据本公开的实施例可以以硬件、固件、软件或其任意组合来实现。实施例还可以被实现为使用一个或多个机器可读介质存储的指令,其可以由一个或多个处理器读取和执行。机器可读介质可以包括用于以机器可读的形式存储或传送信息的任何机制(例如,计算平台或在一个或多个计算平台上运行的“虚拟机”)。例如,机器可读介质可以包括任何合适形式的易失性或非易失性存储器。[0277]另外,本文公开的各种操作、过程和方法可以体现在与数据处理系统(例如,计算机系统)兼容的机器可读介质和/或机器可访问介质/存储装置中,并且可以以任何顺序执行(例如,包括使用用于实现各种操作的装置)。因此,说明书和附图将被认为是说明性的而不是限制性的。在一些实施例中,机器可读介质可以是非暂时形式的机器可读介质/存储装置。
[0278]这里定义的模块、数据结构等是为了便于讨论而定义的,并不意味着需要任何特定的实现细节。例如,所描述的模块和/或数据结构中的任何模块和/或数据结构可以被组合或划分为子模块、子过程或计算机代码或数据的其他单元,如特定设计或实现所需要的。[0279]在附图中,为了便于描述,可以示出示意性元件的具体布置或排序。然而,这些元件的特定排序或布置并不意味着暗示在所有实施例中都需要特定的处理顺序或序列或者过程的分离。通常,可以使用任何适当形式的机器可读指令来实现用于表示指令块或模块的示意性元件,并且可以使用任何适当的编程语言、库、应用编程接口(API)和/或其他软件开发工具或框架来实现每个这样的指令。类似地,可以使用任何合适的电子布置或数据结构来实现用于表示数据或信息的示意性元件。此外,元件之间的一些连接、关系或关联可被简化或未在附图中示出,以免混淆本公开。
[0280]本公开在特征上被认为是示例性的而非限制性的,并且期望保护在本公开的指导方针内的所有改变和修改。
29
CN 112823492 A
说 明 书 附 图
1/27页
图1
30
CN 112823492 A
说 明 书 附 图
2/27页
图2
31
CN 112823492 A
说 明 书 附 图
3/27页
图3
32
CN 112823492 A
说 明 书 附 图
4/27页
图4A
33
CN 112823492 A
说 明 书 附 图
5/27页
图4B
34
CN 112823492 A
说 明 书 附 图
6/27页
图5
35
CN 112823492 A
说 明 书 附 图
7/27页
图6A
36
CN 112823492 A
说 明 书 附 图
8/27页
图6B
37
CN 112823492 A
说 明 书 附 图
9/27页
图7
38
CN 112823492 A
说 明 书 附 图
10/27页
图8
39
CN 112823492 A
说 明 书 附 图
11/27页
图9
40
CN 112823492 A
说 明 书 附 图
12/27页
图10
41
CN 112823492 A
说 明 书 附 图
13/27页
图11A
42
CN 112823492 A
说 明 书 附 图
14/27页
图11B
43
CN 112823492 A
说 明 书 附 图
15/27页
图11C
44
CN 112823492 A
说 明 书 附 图
16/27页
图12A
45
CN 112823492 A
说 明 书 附 图
17/27页
图12B
46
CN 112823492 A
说 明 书 附 图
18/27页
图13A
47
CN 112823492 A
说 明 书 附 图
19/27页
图13B
48
CN 112823492 A
说 明 书 附 图
20/27页
图13C
49
CN 112823492 A
说 明 书 附 图
21/27页
图14
50
CN 112823492 A
说 明 书 附 图
22/27页
图15
51
CN 112823492 A
说 明 书 附 图
23/27页
图16
52
CN 112823492 A
说 明 书 附 图
24/27页
图17A
53
CN 112823492 A
说 明 书 附 图
25/27页
图17B
图18
54
CN 112823492 A
说 明 书 附 图
26/27页
图19
55
CN 112823492 A
说 明 书 附 图
27/27页
图20
56
因篇幅问题不能全部显示,请点此查看更多更全内容