CN117555527B - 物联网应用的开发方法、装置、设备和存储介质 - Google Patents
物联网应用的开发方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN117555527B CN117555527B CN202410032204.7A CN202410032204A CN117555527B CN 117555527 B CN117555527 B CN 117555527B CN 202410032204 A CN202410032204 A CN 202410032204A CN 117555527 B CN117555527 B CN 117555527B
- Authority
- CN
- China
- Prior art keywords
- equipment
- capability
- class
- standard interface
- internet
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000011161 development Methods 0.000 title claims abstract description 46
- 230000006870 function Effects 0.000 claims description 64
- 238000010276 construction Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 230000006855 networking Effects 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 description 7
- 230000001960 triggered effect Effects 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 239000000284 extract Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
本公开提供了一种物联网应用的开发方法、装置、设备和存储介质,包括获取目标设备的设备品类和设备能力;由预先构建的数据库中提取出与设备品类和设备能力相匹配的标准接口描述信息;基于与设备品类和设备能力相匹配的标准接口描述信息,生成目标设备的物联网应用的开发API文档,以基于物联网应用的开发API文档,开发用于控制目标设备的应用程序。由于市场上所有厂家生产的相同设备品类的物联网设备的应用程序都是基于统一的API文档开发的,因此,开发出的应用程序可以适配不同厂商生产的相同设备品类的所有物联网设备,从而提供应用程序的设备兼容性。
Description
技术领域
本公开涉及物联网技术领域,尤其涉及一种物联网应用的开发方法、装置、设备和存储介质。
背景技术
不同品牌不同型号的同类产品,其功能接口的调用方法不同,因此,在进行应用开发时,需要针对各品牌各型号的产品分别进行应用开发,并且开发的应用也仅能实现对特定品牌型号的产品进行控制。例如,市场上有A灯和B灯两种不同品牌不同型号的物联网家居灯,若想通过应用对A灯进行控制,则需要根据A灯功能接口的调用方法开发一套适用于A灯的第一应用,若想通过应用对B灯进行控制,则需要根据B灯功能接口的调用方法开发一套适用于B灯的第二应用,且第一应用仅能用于控制A灯,第二应用仅能控制B灯,无法对其他品牌型号的灯进行兼容。由此可见,采用现有的方式开发的应用仅能对特定的品牌型号的产品进行控制,设备兼容性较差。因此,如何提高应用的设备兼容性是本领域技术人员亟待解决的技术问题。
发明内容
有鉴于此,本公开提出了一种物联网应用的开发方法、装置、设备和存储介质,可以提高应用的设备兼容性。
根据本公开的第一方面,提供了一种物联网应用的开发方法,包括:
获取目标设备的设备品类和设备能力;
由预先构建的数据库中提取出与所述设备品类和所述设备能力相匹配的标准接口描述信息;
基于与所述设备品类和所述设备能力相匹配的所述标准接口描述信息,生成所述目标设备的物联网应用的开发API文档,以基于所述物联网应用的开发API文档,开发用于控制所述目标设备的应用程序;
其中,所述设备能力和与所述设备能力相匹配的标准接口描述信息通过对市场上与所述设备品类相同的所有物联网设备的功能和技术参数进行抽象得到。
在一种可能的实现方式中,所述的方法还包括基于与所述设备品类和所述设备能力相匹配的标准接口描述信息,生成所述目标设备的软件SDK。
在一种可能的实现方式中,在基于与所述设备品类和所述设备能力相匹配的标准接口描述信息,生成所述目标设备的软件SDK时,包括:
基于与所述设备品类和所述设备能力相匹配的标准接口描述信息,生成所述设备品类的声明代码、数据上报方法调用函数以及实现每种所述设备能力的调用函数;
根据所述设备品类的声明代码、数据上报方法调用函数以及实现每种所述设备能力的调用函数,生成所述目标设备对应的软件SDK。
在一种可能的实现方式中,所述的方法还包括基于与所述设备品类和所述设备能力相匹配的标准接口描述信息,生成适配所述软件SDK的硬件驱动层代码。
根据本公开的第二方面,提供了一种物联网应用的开发装置,包括:
能力获取模块,用于获取目标设备的设备品类和设备能力;
描述文件获取模块,用于由预先构建的数据库中提取出与所述设备品类和所述设备能力相匹配的标准接口描述信息;
API文档生成模块,用于基于与所述设备品类和所述设备能力相匹配的所述标准接口描述信息,生成所述目标设备的物联网应用的开发API文档,以基于所述物联网应用的开发API文档,开发用于控制所述目标设备的应用程序;
其中,所述设备能力和与所述设备能力相匹配的标准接口描述信息通过对市场上与所述设备品类相同的所有物联网设备的功能和技术参数进行抽象得到。
在一种可能的实现方式中,所述的开发装置还包括软件SDK生成模块;
所述软件SDK生成模块,用于基于与所述设备品类和所述设备能力相匹配的与所述设备品类和所述设备能力相匹配的标准接口描述信息,生成实现所述设备能力的软件SDK。
在一种可能的实现方式中,所述软件SDK生成模块包括第一生成模块和第二生成模块;
所述第一生成模块,用于基于与所述设备品类和所述设备能力相匹配的标准接口描述信息,生成所述设备品类的声明代码、数据上报方法调用函数以及实现每种所述设备能力的调用函数;
所述第二生成模块,用于根据所述设备品类的声明代码、数据上报方法调用函数以及实现每种所述设备能力的调用函数,生成所述目标设备对应的软件SDK。
在一种可能的实现方式中,所述的开发装置还包括硬件驱动层代码生成模块;
所述硬件驱动层代码生成模块,用于基于与所述设备品类和所述设备能力相匹配的标准接口描述信息,生成适配所述软件SDK的硬件驱动层代码。
根据本公开的第三方面,提供了一种物联网应用的开发设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行本公开第一方面所述的方法。
根据本公开的第四方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现本公开第一方面所述的方法。
本公开提供的物联网应用的开发方法,包括获取目标设备的设备品类和设备能力;由预先构建的数据库中提取出与设备品类和设备能力相匹配的标准接口描述信息;基于与设备品类和设备能力相匹配的标准接口描述信息,生成目标设备的物联网应用的开发API文档,以基于物联网应用的开发API文档,开发用于控制目标设备的应用程序;其中,设备能力和与设备能力相匹配的标准接口描述信息通过对市场上与设备品类相同的所有物联网设备的功能和技术参数进行抽象得到。由于在本公开中,市场上所有厂家生产的相同设备品类的物联网设备的应用程序都是基于统一的API文档开发的,因此,开发出的应用程序可以适配不同厂商生产的相同设备品类的所有物联网设备,从而提供了应用程序的设备兼容性。
根据下面参考附图对示例性实施例的详细说明,本公开的其他特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出根据本公开一实施例的物联网应用的开发方法的流程图。
图2示出根据本公开一实施例的物联网应用的开发装置的示意性框图。
图3示出根据本公开一实施例的物联网应用的开发设备的示意性框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
<方法实施例>
图1示出根据本公开一实施例的物联网应用的开发方法的流程图。该方法由设备能力抽象系统(下面简称为系统)实施,如图1所示,该方法包括步骤S1100-S1300。
S1100,获取目标设备的设备品类和设备能力。
在进行物联网应用的开发的过程中,首先需要确定物联网应用需要控制的物联网设备,物联网应用需要控制的物联网设备即为物联网应用的目标设备。其中,物联网应用的目标设备可以是一个,也可以是多个,在此不作具体限定。例如,现在需要针对家居灯开发一款物联网应用,则家居灯即为物联网应用的目标设备。又如,现在需要针对家居灯、落地扇、热水器开发一款物联网应用,则家居灯、落地扇和热水器均为物联网应用的目标设备。
在确定物联网应用的目标设备后,便可以通过系统的前端页面获取目标设备的设备品类和设备能力。具体包括以下步骤:
第一,根据系统前端页面中设备能力抽象控件的触发,推送显示第一页面,其中,该第一页面中包括新增设备控件。
第二,根据第一页面中新增设备控件的触发,推送显示第二页面,并基于该第二页面获取用户输入的目标设备的设备大类、设备小类和设备品类。具体的,第二页面中可以包括设备大类选择控件、设备小类选择控件和设备品类输入控件中的至少一种控件。在设备大类选择控件被触发的情况下,将推送显示设备大类列表,该设备大类列表中包括按照物联网设备主要应用场景划分出的多个设备大类,如智能家居、智慧城市、智慧生活、智慧农业、智慧工业中的至少一种。接收用户在设备大类列表中选择的设备大类作为目标设备的设备大类。在设备小类选择控件被触发的情况下,将推送显示设备小类列表,该设备小类列表中包括对选择的设备大类进行应用场景的细分得到的多个设备小类,如在设备大类选择智能家居的情况下,设备小类列表中将推送显示对智能家居进行应用场景细分得到的多个设备小类,如电工照明、厨房电器、家居安防、运动健康中的至少一种。接收用户在设备小类列表中选择的设备小类,作为目标设备的设备小类。在设备品类输入控件被触发的情况下,可以通过设备品类输入控件接收用户输入的设备品类,其中,设备品类为隶属于所选设备小类的功能相同的一类物联网设备的统称。举例来说,可以将市场上各种类型或型号的台灯、各种类型或型号的顶灯以及各种类型或型号的墙壁灯等都统称为家居灯。至此,便可以通过第二页面获取用户输入的目标设备的设备大类、设备小类和设备品类。
示例1,目标设备品类为家居灯,则用户可以先在第二页面中点击设备大类选择控件,并在推送显示的设备大类列表中选择“智能家居”作为家居灯所属的设备大类;接着点击设备小类选择控件,并在推送显示的设备小类列表中选择“电工照明”作为家居灯所属的设备小类;最后,点击设备品类输入控件,并输入“家居灯”作为家居灯所属的设备品类,至此,便可以通过第二页面获取到用户输入的家居灯的设备大类、设备小类和设备品类。
第三,在获取到目标设备的设备品类的情况下,将推送显示第三页面,并基于第三页面获取用户输入的目标设备的设备能力。其中,设备能力表征设备所具有的功能。例如,家居灯具有开关能力和颜色控制的能力,则表征该家居灯具有开关功能和颜色控制的功能。具体的,在推送显示的第三页面中包括多个设备能力选择控件,在每个设备能力选择控件被触发的情况下,将推送显示与目标设备的设备品类相匹配的能力列表,该能力列表中包括市场上所有同类型物联网设备的所有能力。例如,通过调研市场上的家居灯,发现一些家居灯具备开关控制能力,一些家居灯具备亮度控制能力、一些家居灯具有颜色控制能力,一些家居灯具备电器数据显示能力,一些家居灯具备定时开关能力,还有一些家居灯具备模式选择能力(如阅读模式、夜灯模式、舞会模式等),则与家居灯这个设备品类相匹配的能力列表中将包括开关控制能力、亮度控制能力、颜色控制能力、电器数据显示能力、定时开关能力以及模式选择能力。在能力列表中任一设备能力被选中的情况下,则将被选中的设备能力作为目标设备的设备能力。
续上示例1,家居灯作为目标设备具备开关控制能力和颜色控制能力,则在第三页面中点击第一能力选择控件,并在推送显示的能力列表中选择开关控制能力。点击第二能力选择控件,并在推送显示的能力列表中选择颜色控制能力。进而在第三页面中的确认控件被触发的情况下,便可以获取到家居灯这个目标设备所具有的所有设备能力。
在获取到目标设备的设备品类和所有设备能力后,便可以执行步骤S1200,由预先构建的数据库中提取出与目标设备的设备品类和设备能力相匹配的标准接口描述信息。其中,标准接口描述信息中包括实现各设备能力的接口的接口名称、调用函数、数据传输方式、数据类型、默认数据(即默认的参数值)、数据范围(即调用函数的参数值范围)、数据上报频率、接口描述以及调用函数对应的调用方法ID中的至少一种信息。
在执行该步骤之前,需要先构建各设备品类对应的标准接口描述文件,并将各设备品类对应的标准接口描述文件存储至数据库中,完成数据库的构建。
下面以一种设备品类为例,对其标准接口描述文件的构建过程进行说明。具体包括以下步骤:
第一,对市场上隶属于当前设备品类的所有品牌和型号的物联网设备的能力和技术参数进行收集。举例来说,当前设备品类为家居灯,即对市场上所有品牌和型号的家居灯的能力和技术参数进行收集。其中,设备的能力即设备所具有的功能。
第二,根据隶属于当前设备品类的所有品牌和型号的物联网设备的能力,生成当前设备品类对应的设备能力列表,该设备能力列表中包括市场上所有同品类物联网设备的所有设备能力。具体步骤参见上文中与设备品类相匹配的能力列表的构建过程,在此不再赘述。
第三,针对能力列表中的每种能力,分析隶属于当前设备品类的所有品牌和型号的物联网设备针对该种能力设置的技术参数,总结出通用的技术参数,并根据通用的技术参数生成每种能力的标准能力接口信息。
例如,针对家居灯的开关能力,可以根据总结出的通用的技术参数,可以将家居灯的开关能力的标准接口信息中的接口名称设为设置开关,调用函数设置为light.setOnOff(value),数据传输方式设置为输入,数据类型设置为bool,默认数据设置为false,数据范围设置为false-关、true-开,数据上报频率设置为空(即不用上报),接口描述设置为设定设备开关,调用方法ID设置为peHyXjRR。其中,调用方法ID为系统按照预设的规则为每种调用方法生成的唯一的ID识别码,该识别码在生成后将存储在系统数据库中。
又如,针对家居灯的相对亮度调节能力,可以根据总结出的通用的技术参数,可以将家居灯的相对亮度调节能力的标准接口信息中的接口名称设置为设置相对亮度,调用函数设置为light.setRelativeBrightness(value),数据传输方式设置为输入,数据类型设置为int,默认数据设置为67,数据范围设置为0-100、单位设置为%、步长设置为1,数据上报频率设置为空(即不用上报),接口描述设置为设定相对亮度,调用方法ID设置为ppAXpyHW。
再如,针对家居灯的颜色调节能力,可以根据总结出的通用的技术参数,可以将家居灯的颜色调节能力的标准接口信息中的接口名称设为设置GRB值,调用函数设置为light.setRGB(value),数据传输方式设置为输入,数据类型设置为object,默认数据设置为{"RED":255,"GREEN":255,"BLUE":255}(即默认灯光颜色为白光),数据范围设置为RED:0 - 255,GREEN:0 - 255,BLUE:0 - 255、步长设置为1,数据上报频率设置为空(即不用上报),接口描述设置为设定RGB,调用方法ID设置为phEqZolK。
第四,将每种能力的标准能力接口信息与当前设备品类的能力列表中的对应能力进行关联,即可得到包括当前设备品类的所有能力以及各种能力的标准能力接口信息的标准接口描述文件,即当前设备品类的标准接口描述文件。
参照当前设备品类的标准接口描述文件的构建方法,即可以完成所有设备品类的标准接口描述文件的构建。在完成所有设备品类的标准接口描述文件的构建后,便可以将所有的标准接口描述文件存储至数据库中,同时在数据库中建立各设备品类与标准接口描述文件之间的映射关系,完成数据库的构建。
在构建完数据库的情况下,便可以执行由预先构建的数据库中提取出与目标设备的设备品类和设备能力相匹配的标准接口信息的操作。具体的,先查询数据库中的映射关系表获取目标设备的设备品类所对应的标准接口描述文件;然后,由获取的标准接口描述文件中提取出目标设备每种能力对应的标准接口描述信息,作为与目标设备的设备品类和设备能力相匹配的标准接口信息。
随着科技的不断发展,目标设备所具备的能力也在日益丰富,因此在目标设备具备新设备能力时,将无法通过能力选择控件进行配置。为了解决这一问题,在第三页面中还配置有自定义能力控件,在自定义能力控件被触发的情况下,将在第三页面中推送显示自定义能力配置区域,用户可以通过该自定义能力配置区域输入目标设备的新设备能力名称,以及与该新设备能力相匹配的标准接口描述信息。这样,在第三页面上的确认控件被触发的情况下,不仅可以获取通过能力选择控件配置的目标设备的基础能力,还可以获取到基于自定义能力控件配置的目标设备的新能力以及与新设备能力匹配的标准接口描述信息。
S1300,基于与目标设备的设备品类和能力相匹配的标准接口描述信息,生成目标设备的物联网应用的开发API文档,以使开发人员基于物联网应用的开发API文档,开发用于控制目标设备的应用程序。具体的,获取预先设计的API文档模板,将与目标设备的设备品类和能力相匹配的标准接口描述信息中的内容填充到对应的API文档模板中,即可得到目标设备的物联网应用的开发API文档。该开发API文档中包括了目标设备所具备的所有能力,以及针对各能力配置的标准接口描述信息。
本公开提供了一种物联网应用的开发方法,包括获取目标设备的设备品类和设备能力;由预先构建的数据库中提取出与设备品类和设备能力相匹配的标准接口描述信息;基于标准接口描述信息,生成目标设备的物联网应用的开发API文档,以便于开发者基于物联网应用的开发API文档,开发用于控制目标设备的应用程序;其中,设备能力和与设备能力相匹配的标准接口描述信息通过对市场上与设备品类相同的所有物联网设备的功能和技术参数进行抽象得到。由于在本公开中,市场上所有厂家生产的相同设备品类的物联网设备的应用程序都是基于统一的API文档开发的,因此,开发出的应用程序可以适配不同厂商生产的相同设备品类的所有物联网设备,从而提供了应用程序的设备兼容性。
在一种可能的实现方式中,在基于标准接口描述信息,生成目标设备的物联网应用的开发API文档的同时,还包括:基于与目标设备的设备品类和设备能力相匹配的标准接口描述信息,生成目标设备对应的软件SDK。其中,该软件SDK用于接收应用程序发送的能力控制指令,并在接收到能力控制指令后,将能力控制指令对应转换成符合通信协议的标准消息,并将标准消息发送至目标设备,这样,目标设备便可以基于接收到的标准消息执行相应的能力控制。
举例来说,在通过应用程序将家居灯的颜色设置为蓝色的情况下,在用户触发将家居灯调节为蓝色的控件后,应用程序将根据该触发获取{“RED”:0,”GREEN”:0,”BLUE”:255}这个颜色参数信息,并通过颜色控制指令将该颜色参数信息发送至家居灯对应的软件SDK(简称家居灯SDK),家居灯SDK在接收到颜色控制指令后,将该颜色控制指令转换为用于进行颜色控制的标准消息(该标准消息为json格式),该标准消息中包括颜色设置方法名称,颜色设置方法id,家居灯设备id和颜色参数信息等,并根据家居灯设备id发送至对应的家居灯,这样,家居灯便可以基于该标准消息将家居灯的颜色调整为蓝色。
在基于与目标设备的设备品类和设备能力相匹配的标准接口描述信息,生成目标设备对应的软件SDK时,包括以下步骤:
第一,基于与设备品类和设备能力相匹配的标准接口描述信息,生成设备品类的声明代码、数据上报方法调用函数以及实现每种设备能力的调用函数。具体包括以下步骤:
首先,在与目标设备的设备品类和设备能力相匹配的标准接口描述信息中提取出目标设备的设备品类名称,生成设备品类名称对应的唯一设备ID,并根据设备品类名称和对应的设备ID生成设备品类的声明代码,以及数据上报方法调用函数。具体而言,在一种可能的实现方式中,可以提前配置标准化的声明代码模板和数据上报方法调用函数模板,在各模板中分别填入设备品类和设备ID即可生成设备品类的声明代码以及数据上报方法调用函数。
举例来说,目标设备是具有开关能力、相对亮度调节能力和颜色调节能力的家居灯,则与目标设备品类和设备能力相匹配的标准接口描述信息中将包括开关能力对应的标准接口描述信息、相对亮度调节能力对应的标准接口描述信息和颜色调节能力对应的标准接口描述信息。由任一设备能力对应的标准接口描述信息中提取出调用函数,并由调用函数中提取出目标设备的设备品类名称。例如,提取家居灯开关能力的标准接口描述信息,由家居灯开关能力的标准接口描述信息中提取出调用函数light.setOnOff(value),将调用函数中的light提取出来作为目标设备的设备品类名称。接着,生成light对应的唯一设备ID,并根据设备品类名称light对应的唯一设备ID,生成设备品类的声明代码,以及数据上报方法调用函数。
其次,在与目标设备的设备品类和设备能力相匹配的标准接口描述信息中提取出每种设备能力的标准接口描述信息,并基于每种设备能力的标准接口描述信息生成实现每种设备能力的调用函数。具体的,针对当前设备能力,由当前设备能力的标准接口描述信息中提取出数据传输方式、数据类型、设备品类名称、调用函数名称和调用方法ID。接着,根据提取出的数据传输方式和数据类型获取当前设备能力对应的函数模板,将设备品类名称、调用函数名称和调用方法ID填入当前设备能力对应的函数模板中,得到实现当前设备能力的调用函数。此处需要说明的是,系统中预先针对不同的数据传输方式和数据类型组合,分别设置了对应的函数模板,这样,在获取到数据传输方式和数据类型的情况下,便可以由系统中获取到对应的函数模板。
续上实施例,当前设备能力为家居灯的开关能力,由家居灯开关能力的标准接口描述信息中提取出数据传输方式为输入、数据类型为bool、设备品类名称为light、调用函数名称为setOnOff(value)和调用方法ID为peHyXjRR。获取数据传输方式为输入且数据类型为bool型对应的函数模板,将设备品类名称light、调用函数名称setOnOff(value)和调用方法IDpeHyXjRR填入至对应的函数模板即可得到实现家居灯开关能力的调用函数。
参照实现家居灯开关能力的调用函数的生成过程,依次生成实现家居灯相对亮度调节能力的调用函数和实现家居灯颜色调节能力的调用函数。
第二,根据设备品类的声明代码、数据上报方法调用函数以及实现每种能力的调用函数,生成目标设备对应的软件SDK。具体方法为本领域的公知常识,在此不再赘述。
在一种可能的实现方式中,在基于与设备品类和设备能力相匹配的标准接口描述信息,生成目标设备的物联网应用的开发API文档的同时,还包括基于与设备品类和设备能力相匹配的标准接口描述信息,生成适配软件SDK的硬件驱动层代码,以简化硬件厂商实现硬件设备与应用程序实现标准化通信的流程。
此处需要说明的是,生成的软件SDK用于接收应用程序发送的相应能力控制指令,在获取到能力控制指令后,将能力控制指令对应转换成符合通信协议的标准消息,并将标准消息发送至目标设备上。目标设备在接收到标准消息后,通过适配软件SDK的硬件驱动层代码将接收到的标准消息转换为与目标设备相匹配的目标消息,这样,目标设备便可以响应目标消息,执行相应的能力控制操作。其中,系统中提供了适配软件SDK的硬件驱动层代码框架,开发人员需要根据软件SDK和目标设备能力控制方法和支持数据类型的差异在硬件驱动层代码框架中填写相应的转换代码,从而生成适配软件SDK的硬件驱动层代码,进而通过生成的硬件驱动层代码将软件SDK发送的标准消息转换为与目标设备相匹配的目标消息。具体如何进行转化代码的填写是本领域的公知常识,在此不再赘述。
续上实施例,家居灯软件SDK通过标准RGB模式控制灯的颜色,家居灯作为目标设备通过RGB565模式控制灯的颜色,则在通过应用程序将家居灯的颜色设置为蓝色的实施例中,适配家居灯软件SDK的硬件驱动层代码在接收到家居灯软件SDK发送的进行颜色控制的标准消息后,先通过预先配置好的程序识别到该标准消息为颜色控制指令,并读取颜色控制指令中的颜色参数{“RED”:0,”GREEN”:0,”BLUE”:255},将颜色参数{“RED”:0,”GREEN”:0,”BLUE”:255}转化为RGB565模式中蓝色的序号—31,进而基于转换后的参数将家居灯的颜色设置为蓝色。
在生成目标设备的软件SDK后,如何基于与设备品类和设备能力相匹配的标准接口描述信息,生成适配软件SDK的硬件驱动层代码是本领域的公知常识,在此不再赘述。
<装置实施例>
图2示出根据本公开一实施例的物联网应用的开发装置的示意性框图。如图2所示,物联网应用的开发装置100包括:
能力获取模块110,用于获取目标设备的设备品类和设备能力;
描述文件获取模块120,用于由预先构建的数据库中提取出与设备品类和设备能力相匹配的标准接口描述信息;
API文档生成模块130,用于基于与设备品类和设备能力相匹配的标准接口描述信息,生成目标设备的物联网应用的开发API文档,以基于物联网应用的开发API文档,开发用于控制目标设备的应用程序;
其中,设备能力和与设备能力相匹配的标准接口描述信息通过对市场上与设备品类相同的所有物联网设备的功能和技术参数进行抽象得到。
在一种可能的实现方式中,该装置还包括软件SDK生成模块;
软件SDK生成模块,用于基于与设备品类和设备能力相匹配的与设备品类和设备能力相匹配的标准接口描述信息,生成实现设备能力的软件SDK。
在一种可能的实现方式中,软件SDK生成模块包括第一生成模块和第二生成模块;
第一生成模块,用于基于与设备品类和设备能力相匹配的标准接口描述信息,生成设备品类的声明代码、数据上报方法调用函数以及实现每种设备能力的调用函数;
第二生成模块,用于根据设备品类的声明代码、数据上报方法调用函数以及实现每种设备能力的调用函数,生成目标设备对应的软件SDK。
在一种可能的实现方式中,该装置还包括硬件驱动层代码生成模块;
硬件驱动层代码生成模块,用于基于与设备品类和设备能力相匹配的标准接口描述信息,生成适配软件SDK的硬件驱动层代码。
<设备实施例>
图3示出根据本公开一实施例的物联网应用的开发设备的示意性框图。如图3所示,物联网应用的开发设备200包括:处理器210以及用于存储处理器210可执行指令的存储器220。其中,处理器210被配置为执行可执行指令时实现前面任一所述的物联网应用的开发方法。
此处,应当指出的是,处理器210的个数可以为一个或多个。同时,在本公开实施例的物联网应用的开发设备200中,还可以包括输入装置230和输出装置240。其中,处理器210、存储器220、输入装置230和输出装置240之间可以通过总线连接,也可以通过其他方式连接,此处不进行具体限定。
存储器220作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序和各种模块,如:本公开实施例的物联网应用的开发方法所对应的程序或模块。处理器210通过运行存储在存储器220中的软件程序或模块,从而执行物联网应用的开发设备200的各种功能应用及数据处理。
输入装置230可用于接收输入的数字或信号。其中,信号可以为产生与设备/终端/服务器的用户设置以及功能控制有关的键信号。输出装置240可以包括显示屏等显示设备。
<存储介质实施例>
根据本公开的第四方面,还提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,计算机程序指令被处理器210执行时实现前面任一所述的物联网应用的开发方法。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (6)
1.一种物联网应用的开发方法,其特征在于,包括:
获取目标设备的设备品类和设备能力;
由预先构建的数据库中提取出与所述设备品类和所述设备能力相匹配的标准接口描述信息;
基于与所述设备品类和所述设备能力相匹配的所述标准接口描述信息,生成所述目标设备的物联网应用的开发API文档,以基于所述物联网应用的开发API文档,开发用于控制所述目标设备的应用程序;
其中,所述设备能力和与所述设备能力相匹配的标准接口描述信息通过对市场上与所述设备品类相同的所有物联网设备的功能和技术参数进行抽象得到;
在由预先构建的数据库中提取出与所述设备品类和所述设备能力相匹配的标准接口描述信息之前,需要先构建各设备品类对应的标准接口描述文件,并将各设备品类对应的标准接口描述文件存储至数据库中,完成所述数据库的构建;
在构建设备品类对应的标准接口描述文件时,包括:对市场上隶属于当前设备品类的所有品牌和型号的物联网设备的能力和技术参数进行收集;根据隶属于当前设备品类的所有品牌和型号的物联网设备的能力,生成当前设备品类对应的设备能力列表,该设备能力列表中包括市场上所有同品类物联网设备的所有设备能力;针对能力列表中的每种能力,分析隶属于当前设备品类的所有品牌和型号的物联网设备针对该种能力设置的技术参数,总结出通用的技术参数,并根据通用的技术参数生成每种能力的标准能力接口信息,将每种能力的标准能力接口信息与当前设备品类的能力列表中的对应能力进行关联,即可得到包括当前设备品类的所有能力以及各种能力的标准能力接口信息的标准接口描述文件,即当前设备品类的标准接口描述文件;
在由预先构建的数据库中提取出与所述设备品类和所述设备能力相匹配的标准接口信息的操作时,包括:由所述数据库中获取与所述设备品类所对应的标准接口描述文件;然后,由所述标准接口描述文件中提取出与各种所述能力对应的标准接口描述信息,作为与所述设备品类和所述设备能力相匹配的标准接口信息;
在生成所述目标设备的物联网应用的开发API文档的同时,还包括基于与所述设备品类和所述设备能力相匹配的标准接口描述信息,生成所述目标设备的软件SDK和适配所述软件SDK的硬件驱动层代码,其中,所述软件SDK用于接收所述应用程序发送的能力控制指令,并在接收到所述能力控制指令后,将所述能力控制指令对应转换成符合通信协议的标准消息,并将所述标准消息发送至所述目标设备,所述目标设备在接收到所述标准消息后,通过与所述软件SDK适配的硬件驱动层代码将接收到的所述标准消息转换为与目标设备相匹配的目标消息,这样,所述目标设备便可以响应所述目标消息执行相应的能力控制操作。
2.根据权利要求1所述的方法,其特征在于,在基于与所述设备品类和所述设备能力相匹配的标准接口描述信息,生成所述目标设备的软件SDK时,包括:
基于与所述设备品类和所述设备能力相匹配的标准接口描述信息,生成所述设备品类的声明代码、数据上报方法调用函数以及实现每种所述设备能力的调用函数;
根据所述设备品类的声明代码、数据上报方法调用函数以及实现每种所述设备能力的调用函数,生成所述目标设备对应的软件SDK。
3.一种物联网应用的开发装置,其特征在于,包括:
能力获取模块,用于获取目标设备的设备品类和设备能力;
描述文件获取模块,用于由预先构建的数据库中提取出与所述设备品类和所述设备能力相匹配的标准接口描述信息;
API文档生成模块,用于基于与所述设备品类和所述设备能力相匹配的标准接口描述信息,生成所述目标设备的物联网应用的开发API文档,以基于所述物联网应用的开发API文档,开发用于控制所述目标设备的应用程序;
其中,所述设备能力和与所述设备能力相匹配的标准接口描述信息通过对市场上与所述设备品类相同的所有物联网设备的功能和技术参数进行抽象得到;
在由预先构建的数据库中提取出与所述设备品类和所述设备能力相匹配的标准接口描述信息之前,需要先构建各设备品类对应的标准接口描述文件,并将各设备品类对应的标准接口描述文件存储至数据库中,完成所述数据库的构建;
在构建设备品类对应的标准接口描述文件时,包括:对市场上隶属于当前设备品类的所有品牌和型号的物联网设备的能力和技术参数进行收集;根据隶属于当前设备品类的所有品牌和型号的物联网设备的能力,生成当前设备品类对应的设备能力列表,该设备能力列表中包括市场上所有同品类物联网设备的所有设备能力;针对能力列表中的每种能力,分析隶属于当前设备品类的所有品牌和型号的物联网设备针对该种能力设置的技术参数,总结出通用的技术参数,并根据通用的技术参数生成每种能力的标准能力接口信息,将每种能力的标准能力接口信息与当前设备品类的能力列表中的对应能力进行关联,即可得到包括当前设备品类的所有能力以及各种能力的标准能力接口信息的标准接口描述文件,即当前设备品类的标准接口描述文件;
所述描述文件获取模块,在由预先构建的数据库中提取出与所述设备品类和所述设备能力相匹配的标准接口信息的操作时,具体用于:由所述数据库中获取与所述设备品类所对应的标准接口描述文件;然后,由所述标准接口描述文件中提取出与各种所述能力对应的标准接口描述信息,作为与所述设备品类和所述设备能力相匹配的标准接口信息;
所述开发装置还包括软件SDK生成模块,所述软件SDK生成模块,用于基于与所述设备品类和所述设备能力相匹配的与所述设备品类和所述设备能力相匹配的标准接口描述信息,生成实现所述设备能力的软件SDK;
所述开发装置还包括硬件SDK生成模块,所述硬件SDK生成模块,用于基于与所述设备品类和所述设备能力相匹配的标准接口描述信息,生成适配所述软件SDK的硬件驱动层代码;
其中,所述软件SDK用于接收所述应用程序发送的能力控制指令,并在接收到所述能力控制指令后,将所述能力控制指令对应转换成符合通信协议的标准消息,并将所述标准消息发送至所述目标设备,所述目标设备在接收到所述标准消息后,通过与所述软件SDK适配的硬件驱动层代码将接收到的所述标准消息转换为与目标设备相匹配的目标消息,这样,所述目标设备便可以响应所述目标消息执行相应的能力控制操作。
4.根据权利要求3所述的装置,其特征在于,所述软件SDK生成模块包括第一生成模块和第二生成模块;
所述第一生成模块,用于基于与所述设备品类和所述设备能力相匹配的标准接口描述信息,生成所述设备品类的声明代码、数据上报方法调用函数以及实现每种所述设备能力的调用函数;
所述第二生成模块,用于根据所述设备品类的声明代码、数据上报方法调用函数以及实现每种所述设备能力的调用函数,生成所述目标设备对应的软件SDK。
5.一种物联网应用的开发设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令时实现权利要求1至2中任意一项所述的方法。
6.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至2中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410032204.7A CN117555527B (zh) | 2024-01-09 | 2024-01-09 | 物联网应用的开发方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410032204.7A CN117555527B (zh) | 2024-01-09 | 2024-01-09 | 物联网应用的开发方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117555527A CN117555527A (zh) | 2024-02-13 |
CN117555527B true CN117555527B (zh) | 2024-04-02 |
Family
ID=89818874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410032204.7A Active CN117555527B (zh) | 2024-01-09 | 2024-01-09 | 物联网应用的开发方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117555527B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108156029A (zh) * | 2017-12-20 | 2018-06-12 | 中国电子科技集团公司信息科学研究院 | 物联网能力集成和组合系统及能力集成和组合方法 |
CN108200190A (zh) * | 2018-01-26 | 2018-06-22 | 青岛国信发展(集团)有限责任公司 | 基于云计算的物联网数据服务系统和方法 |
CN109495584A (zh) * | 2018-12-18 | 2019-03-19 | 浩云科技股份有限公司 | 物联网设备接入方法、装置、设备及介质 |
CN112019609A (zh) * | 2020-08-18 | 2020-12-01 | 深圳市汇川技术股份有限公司 | 基于物联网的设备监控方法、装置、设备及计算机介质 |
CN112738042A (zh) * | 2020-12-22 | 2021-04-30 | 上海上实龙创智能科技股份有限公司 | 一种基于mqtt协议的物联网设备模型及其数据穿透方法 |
CN113900633A (zh) * | 2020-07-06 | 2022-01-07 | 上海际链网络科技有限公司 | 物联网场景的低代码开发方法及装置、存储介质、开发平台 |
CN114461294A (zh) * | 2021-12-24 | 2022-05-10 | 广东智联蔚来科技有限公司 | 快速构建应用服务的方法、计算机装置及存储介质 |
CN115776515A (zh) * | 2022-11-15 | 2023-03-10 | 支付宝(杭州)信息技术有限公司 | 一种软件服务提供方法、装置及设备 |
CN115988061A (zh) * | 2022-12-20 | 2023-04-18 | 上海商米科技集团股份有限公司 | 物联网设备的服务调用方法、装置和电子设备 |
-
2024
- 2024-01-09 CN CN202410032204.7A patent/CN117555527B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108156029A (zh) * | 2017-12-20 | 2018-06-12 | 中国电子科技集团公司信息科学研究院 | 物联网能力集成和组合系统及能力集成和组合方法 |
CN108200190A (zh) * | 2018-01-26 | 2018-06-22 | 青岛国信发展(集团)有限责任公司 | 基于云计算的物联网数据服务系统和方法 |
CN109495584A (zh) * | 2018-12-18 | 2019-03-19 | 浩云科技股份有限公司 | 物联网设备接入方法、装置、设备及介质 |
CN113900633A (zh) * | 2020-07-06 | 2022-01-07 | 上海际链网络科技有限公司 | 物联网场景的低代码开发方法及装置、存储介质、开发平台 |
CN112019609A (zh) * | 2020-08-18 | 2020-12-01 | 深圳市汇川技术股份有限公司 | 基于物联网的设备监控方法、装置、设备及计算机介质 |
CN112738042A (zh) * | 2020-12-22 | 2021-04-30 | 上海上实龙创智能科技股份有限公司 | 一种基于mqtt协议的物联网设备模型及其数据穿透方法 |
CN114461294A (zh) * | 2021-12-24 | 2022-05-10 | 广东智联蔚来科技有限公司 | 快速构建应用服务的方法、计算机装置及存储介质 |
CN115776515A (zh) * | 2022-11-15 | 2023-03-10 | 支付宝(杭州)信息技术有限公司 | 一种软件服务提供方法、装置及设备 |
CN115988061A (zh) * | 2022-12-20 | 2023-04-18 | 上海商米科技集团股份有限公司 | 物联网设备的服务调用方法、装置和电子设备 |
Non-Patent Citations (3)
Title |
---|
Development of Voice Commands in Digital Signage for Improved Indoor Navigation Using Google Assistant SDK;David Sheppard等;《2019 IEEE Sensors Applications Symposium (SAS)》;20190506;第1-5页 * |
物联网通用应用层架构设计;侯忠华;《物联网技术》;20110915;第1卷(第7期);第34-36 * |
赵光哲等编著.《工业机器人技术及应用》.机械工业出版社,2020,第103-104页. * |
Also Published As
Publication number | Publication date |
---|---|
CN117555527A (zh) | 2024-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113412457B (zh) | 场景推送方法、装置、系统、电子设备以及存储介质 | |
CN105471686B (zh) | 终端控制方法、装置及系统 | |
CN102932695B (zh) | 一种遥控方法、智能终端及智能遥控系统 | |
US20190229943A1 (en) | System and method for crowdsourcing generalized smart home automation scenes | |
WO2020223854A1 (zh) | 设备配网方法、装置、电子设备及存储介质 | |
CN110780598B (zh) | 一种智能设备控制方法、装置、电子设备及可读存储介质 | |
CN113253625A (zh) | 智能家居控制方法、装置、设备及存储介质 | |
CN109614101B (zh) | 页面生成方法、系统、装置、计算机设备及存储介质 | |
CN109617963B (zh) | 设备控制方法、装置以及物联网系统 | |
CN105306318A (zh) | 智能场景配置方法、装置和服务器 | |
CN113677071A (zh) | 灯具控制方法、装置、电子设备及存储介质 | |
CN110784367A (zh) | 一种智能设备的配网方法及系统 | |
WO2017187664A1 (ja) | 機器制御システム、管理装置、機器制御方法、および制御プログラム | |
CN110531951B (zh) | 画面输出模式调整方法、装置、设备、系统及存储介质 | |
CN104717135B (zh) | 一种智能家居家庭网关的实现方法及装置 | |
CN117555527B (zh) | 物联网应用的开发方法、装置、设备和存储介质 | |
CN115066074A (zh) | 一种灯具匹对控制可视化的方法及装置 | |
CN106851373B (zh) | 一种机顶盒终端设备的控制方法及装置 | |
CN111221609A (zh) | 一种数据处理方法、系统及存储介质 | |
CN112464771A (zh) | 一种虚拟遥控器的生成方法、装置、终端设备及介质 | |
CN110308897B (zh) | 一种用于红外遥控的脚本设计方法 | |
CN115524990A (zh) | 基于数字孪生的智能家居控制方法及装置、系统、介质 | |
CN117555810B (zh) | 物联网应用的虚拟调试方法、装置、设备和存储介质 | |
CN117556578B (zh) | 图形化生成物联网应用的方法、装置、设备及存储介质 | |
CN115803736A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |