一种实现物联网模块的方法及装置
技术领域
本发明涉及计算机技术领域,特别涉及一种实现物联网模块的方法及装置。
背景技术
为了使得用户的生活更加便利,越来越多的智能家电需要入网。智能家电入网之后,用户可以通过手机对智能终端进行远程操控。具体地,智能家电与云平台相连,云平台与用户的手机相连。用户的手机与智能家电之间通过云平台进行交互。另外,云平台可以从智能家电收集用户的使用习惯,以进行相应的分析处理。
智能终端需要通过物联网模块连接云平台,而云平台可以有多种,例如:不同的电商平台具有不同的云平台。由于各个云平台的平台协议不同,对于同一款智能家电来说,为了能够连接到多个云平台,需要针对每个云平台开发一款物联网模块。举例来说,有三个云平台,分别是云平台A、云平台B、和云平台C;有一款空调,这款空调的不同的用户的需求可能不同,有些用户需要连接云平台A的空调,有些用户需要连接云平台B的空调,有些用户需要连接云平台C的空调,这时,就需要为这款空调开发三种物联网模块。
通过上述描述可见,现有技术中,实现物联网模块比较复杂。
发明内容
本发明实施例提供了一种实现物联网模块的方法及装置,能够更加简便地实现物联网模块。
一方面,本发明实施例提供了一种实现物联网模块的方法,包括:
预先针对至少一个云平台分别设置对应的应用功能模块的代码;
预先设置至少一个所述应用功能模块能够共用的基本功能模块的代码;
包括:
对所述基本功能模块的代码和每个所述应用功能模块的代码进行编译,生成固件,其中,所述固件中包括所述基本功能模块和每个所述应用功能模块;
将所述固件烧写到物联网模块中;
根据所述物联网模块需要连接的至少一个目标云平台,启动所述固件中每个所述目标云平台对应的目标应用功能模块。
进一步地,
该方法进一步包括:
预先在每个所述应用功能模块的代码中配置使能变量,其中,针对每个所述使能变量,在当前使能变量的值为使能值时,所述当前使能变量对应的应用功能模块被启动;
所述根据所述物联网模块需要连接的至少一个目标云平台,启动所述固件中每个所述目标云平台对应的目标应用功能模块,包括:
根据所述物联网模块需要连接的至少一个目标云平台,生成配置文件;
根据所述配置文件,将每个所述目标应用功能模块对应的使能变量的值设置为所述使能值。
进一步地,
针对每个所述使能变量,在当前使能变量的值为禁止值时,所述当前使能变量对应的应用功能模块被禁止启动;
每个所述应用功能模块的代码中的使能变量的值默认为所述禁止值。
进一步地,
所述基本功能模块的代码中包括:每个所述应用功能模块对应的接口的代码;
所述基本功能模块上包括:每个所述应用功能模块对应的接口,其中,针对每个所述接口,所述基本功能模块通过当前接口与所述当前接口对应的所述应用功能模块进行交互;
在所述固件烧写到物联网模块中之后,进一步包括:
启动每个所述目标应用功能模块对应的接口。
进一步地,
所述预先针对至少一个云平台分别设置对应的应用功能模块的代码,包括:
针对每个所述云平台,根据当前云平台对应的SDK(软件开发工具包,SoftwareDevelopment Kit),生成所述当前云平台对应的应用功能模块的代码。
进一步地,
所述应用功能模块,用于实现与对应的云平台的交互。
进一步地,
所述基本功能模块,用于与至少一个所述应用功能模块进行交互,与所述物联网模块所在的设备的电控进行交互。
另一方面,本发明实施例提供了一种实现物联网模块的装置,包括:
设置单元,用于针对至少一个云平台分别设置对应的应用功能模块的代码,以及设置至少一个所述应用功能模块能够共用的基本功能模块的代码;
编译单元,用于对所述基本功能模块的代码和每个所述应用功能模块的代码进行编译,生成固件,其中,所述固件中包括所述基本功能模块和每个所述应用功能模块;
烧写单元,用于将所述固件烧写到物联网模块中;
启动单元,用于根据所述物联网模块需要连接的至少一个目标云平台,启动所述固件中每个所述目标云平台对应的目标应用功能模块。
进一步地,
该装置进一步包括:
配置单元,用于在每个所述应用功能模块的代码中配置使能变量,其中,针对每个所述使能变量,在当前使能变量的值为使能值时,所述当前使能变量对应的应用功能模块被启动;
所述启动单元,用于根据所述物联网模块需要连接的至少一个目标云平台,生成配置文件;根据所述配置文件,将每个所述目标应用功能模块对应的使能变量的值设置为所述使能值。
进一步地,
针对每个所述使能变量,在当前使能变量的值为禁止值时,所述当前使能变量对应的应用功能模块被禁止启动;
每个所述应用功能模块的代码中的使能变量的值默认为所述禁止值。
进一步地,
所述基本功能模块的代码中包括:每个所述应用功能模块对应的接口的代码;
所述基本功能模块上包括:每个所述应用功能模块对应的接口,其中,针对每个所述接口,所述基本功能模块通过当前接口与所述当前接口对应的所述应用功能模块进行交互;
进一步包括:
接口配置单元,用于启动每个所述目标应用功能模块对应的接口。
进一步地,
所述设置单元,用于针对每个所述云平台,根据当前云平台对应的SDK,生成所述当前云平台对应的应用功能模块的代码。
进一步地,
所述应用功能模块,用于实现与对应的云平台的交互。
进一步地,
所述基本功能模块,用于与至少一个所述应用功能模块进行交互,与所述物联网模块所在的设备的电控进行交互。
在本发明实施例中,预先针对各个云平台设置对应的应用功能模块的代码,并设置共用的基本功能模块的代码,对所有的应用功能模块的代码和基本功能模块的代码进行编译,生成固件,该固件包括了各个云平台对应的应用功能模块和基本功能模块,该固件适用于各个云平台,当针对不同的云平台实现物联网模块时,无需对每个云平台编写全套的软件,只需根据需要连接的云平台,启动固件中对应的应用功能模块即可,该实现过程大大减少了工作量,能够更加简便地实现物联网模块。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种实现物联网模块的方法的流程图;
图2是本发明一实施例提供的另一种实现物联网模块的方法的流程图;
图3是本发明一实施例提供的一种实现物联网模块的装置的示意图;
图4是本发明一实施例提供的另一种实现物联网模块的装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种实现物联网模块的方法,该方法可以包括以下步骤:
步骤101:预先针对至少一个云平台分别设置对应的应用功能模块的代码;
步骤102:预先设置至少一个所述应用功能模块能够共用的基本功能模块的代码;
步骤103:对所述基本功能模块的代码和每个所述应用功能模块的代码进行编译,生成固件,其中,所述固件中包括所述基本功能模块和每个所述应用功能模块;
步骤104:将所述固件烧写到物联网模块中;
步骤105:根据所述物联网模块需要连接的至少一个目标云平台,启动所述固件中每个所述目标云平台对应的目标应用功能模块。
在本发明实施例中,预先针对各个云平台设置对应的应用功能模块的代码,并设置共用的基本功能模块的代码,对所有的应用功能模块的代码和基本功能模块的代码进行编译,生成固件,该固件包括了各个云平台对应的应用功能模块和基本功能模块,该固件适用于各个云平台,当针对不同的云平台实现物联网模块时,无需对每个云平台编写全套的软件,只需根据需要连接的云平台,启动固件中对应的应用功能模块即可,该实现过程大大减少了工作量,能够更加简便地实现物联网模块。
在本发明实施例中,应用功能模块的代码和基本功能模块的代码无需改变,可以在各个物联网模块中共用,这些代码均被编译,生成固件,固件中的基本功能模块在每个物联网模块中都会被启动,而固件中的各个应用功能模块根据需求启动,已经编写好的代码可以重复使用,大大减少了编写代码的工作量,提高了实现物联网模块的效率。
在本发明一实施例中,该方法进一步包括:预先在每个所述应用功能模块的代码中配置使能变量,其中,针对每个所述使能变量,在当前使能变量的值为使能值时,所述当前使能变量对应的应用功能模块被启动;
所述根据所述物联网模块需要连接的至少一个目标云平台,启动所述固件中每个所述目标云平台对应的目标应用功能模块,包括:
根据所述物联网模块需要连接的至少一个目标云平台,生成配置文件;
根据所述配置文件,将每个所述目标应用功能模块的使能变量的值设置为所述使能值。
在本发明实施例中,配置文件中包括每个应用功能模块对应的使能变量的值,其中,目标应用功能模块对应的使能变量的值为使能值。举例来说,有三个云平台,分别是云平台A、云平台B和云平台C;物联网模块需要连接云平台A,则生成配置文件,在配置文件中,云平台A对应的应用功能模块对应的使能变量的值为使能值,通过该配置文件对云平台A对应的应用功能模块对应的使能变量进行配置,启动云平台A对应的应用功能模块。
在本发明一实施例中,针对每个所述使能变量,在当前使能变量的值为禁止值时,所述当前使能变量对应的应用功能模块被禁止启动;
每个所述应用功能模块的代码中的使能变量的值默认为所述禁止值。
在本发明实施例中,固件中的各个应用功能模块默认是不启动中,用户可以根据需要,通过配置文件来启动相应的应用功能模块。
举例来说,使能值为1,禁止值为0。各个应用功能模块对应的使能变量的初始值为0。根据需要,物联网模块需要连接云平台A,这时,生成的配置文件中,云平台A对应的应用功能模块对应的使能变量的值为1,根据该配置文件,将云平台A对应的应用功能模块对应的使能变量的值设置为1,启动固件中云平台A对应的应用功能模块。
在本发明实施例中,每个应用功能模块的代码中的使能变量的值存储在物联网模块的FLASH中,通过配置文件配置目标应用功能模块对应的使能变量的值时,直接到物联网模块的FLASH中修改即可。举例来说,通过配置文件,需要将云平台A对应的应用功能模块对应的使能变量的值设置为1,这时,将物联网模块的FLASH中云平台A对应的应用功能模块对应的使能变量的值修改为1。
在本发明一实施例中,所述基本功能模块的代码中包括:每个所述应用功能模块对应的接口的代码;
所述基本功能模块上包括:每个所述应用功能模块对应的接口,其中,针对每个所述接口,所述基本功能模块通过当前接口与所述当前接口对应的所述应用功能模块进行交互;
在所述固件烧写到物联网模块中之后,进一步包括:
启动每个所述目标应用功能模块对应的接口。
在本发明实施例中,为了实现基本功能模块被各个应用功能模块共用,在基本功能模块上配置了各个应用功能模块对应的接口。由于各个云平台对应的应用功能模块与基本功能模块进行交互的接口可能是不同的,针对各个目标应用功能模块,启动对应的接口。
在本发明一实施例中,每个应用功能模块与其对应的接口可以共用一个使能变量,其中,针对每个使能变量,在当前使能变量的值为使能值时,当前使能变量对应的应用功能模块以及该应用功能模块对应的接口被启动,在当前使能变量的值为禁止值时,当前使能变量对应的应用功能模块以及该应用功能模块对应的接口被禁止启动。
通过配置文件可以同时对应用功能模块以及接口进行配置。具体地,根据物联网模块需要连接的至少一个目标云平台,生成配置文件;根据配置文件,将每个目标应用功能模块以及对应的接口的使能变量的值设置为使能值,以启动每个目标应用功能模块以及每个目标应用功能模块对应的接口。
举例来说,使能值为1,禁止值为0。云平台A与应用功能模块A对应,应用功能模块A与接口A对应,应用功能模块A与接口A共用使能变量A。使能变量A的初始值为0。根据需要,物联网模块需要连接云平台A,这时,生成的配置文件中,使能变量A的值为1,根据该配置文件,将使能变量A的值设置为1,启动固件中的应用功能模块A和接口A。
在本发明一实施例中,所述预先针对至少一个云平台分别设置对应的应用功能模块的代码,包括:
针对每个所述云平台,根据当前云平台对应的SDK,生成所述当前云平台对应的应用功能模块的代码。
在本发明实施例中,在生成当前云平台对应的应用功能模块时,将当前云平台对应SDK集成到当前云平台对应的应用功能模块中,通过该SDK实现该应用功能模块的各项功能。
在本发明一实施例中,所述应用功能模块,用于实现与对应的云平台的交互。
由于各个云平台的平台协议不同,因此,物联网模块与各个云平台进行交互需要遵循相应的平台协议,需要通过对应的应用功能模块来实现。这里的平台协议主要是指云平台的通信协议。
在本发明实施例中,应用功能模块主要实现配网数据解析、设备发现、控制指令处理、状态数据上报等功能。
具体地,配网数据解析功能主要是指在物联网模块需要连接网络时,通过应用功能模块接收外部发来的配网数据,对配网数据进行解析,以连接到网络。例如:外部的移动终端安装云平台A的APP,通过该APP发出配网数据,云平台A对应的应用功能模块接收到该配网数据,并进行解析,获取路由器的名称和密码,连接到网络。其中,配网数据可以包括路由器的名称和密码。
具体地,设备发现功能是指将物联网模块与外部的移动终端进行配对。例如:外部的移动终端安装云平台A的APP,通过该APP发送广播包启动发现流程,物联网模块中云平台A对应的应用功能模块收到广播包后,进行对应的回复,该APP收到回复后,发现成功,绑定该物联网模块,用户可以通过移动终端以及云平台A对物联网模块所在的设备进行控制。
具体地,控制指令处理功能是指物联网模块的应用功能模块对云平台发来的控制指令进行处理。其中,该控制指令可以是云平台直接发来的,也可以使用户通过移动终端发送给云平台,再由云平台转发给物联网模块的。应用功能模块在接收到云平台发来的控制指令后,对该控制指令进行解析,根据解析结果生成相应的内部指令,发送给基本功能模块,使得基本功能模块将内部指令发送给物联网模块所在的设备的处理部件,执行该内部指令。距离来说,用户通过移动终端向云平台A发出获取状态数据的控制指令,云平台A将该控制指令发送给云平台A对应的应用功能模块,该应用功能模块解析该控制指令,并生成内部指令,将内部指令发送给基本功能模块,基本功能模块将该内部指令发送给串口去执行,以获取物联网模块所在的设备的状态数据。
具体地,状态数据上报功能是指物联网模块将所在设备的状态数据上报给云平台。当需要将设备的状态数据上报时,应用功能模块按照对应的云平台的平台协议将状态数据处理后,发送给云平台。举例来说,为了响应云平台A的获取状态数据的控制指令,物联网模块的云平台A对应的应用功能模块接收到状态数据后,将该状态数据按照云平台A的平台协议进行打包,将生成的数据包发送给云平台A。
每个应用功能模块支持对应的云平台的平台协议。
在本发明一实施例中,所述基本功能模块,用于与至少一个所述应用功能模块进行交互,与所述物联网模块所在的设备的电控进行交互。
在发明实施例中,物联网模块处理通过应用功能模块与对应的云平台进行交互以外,还要完成一些基本功能,主要是与所在的设备的电控的交互。例如:所在的设备的处理器、传感器等设备。
在本发明实施例中,基本功能模块主要实现快连配网、网络连接、生产测试、时钟线程、与电控的串口通信等功能。
具体地,快连配网功能是指物联网模块进入快连配网状态时,抓取空中数据包,进行快连配网,以使移动终端的APP发出配网数据。
具体地,网络连接功能是指在应用功能模块解析出配网数据后,通过基本功能模块实现网络连接。例如:应用功能模块解析出路由器的名称和密码,基本功能模块根据该名称和密码实现网络连接。
具体地,生产测试功能是指通过基本功能模块实现对物联网模块所在的设备的生产测试。
具体地,与电控的串口通信功能是指通过串口与物联网模块所在的设备的电控进行交互。
如图2所示,本发明实施例提供了一种实现物联网模块的方法,该方法可以包括以下步骤:
步骤201:预先针对每个云平台,根据当前云平台对应的SDK,生成当前云平台对应的应用功能模块的代码,其中,在每个应用功能模块的代码中设置有使能变量,针对每个使能变量,在当前使能变量的值为使能值时,当前使能变量对应的应用功能模块被启动,在当前使能变量的值为禁止值时,当前使能变量对应的应用功能模块被禁止启动,每个应用功能模块的代码中的使能变量的值默认为禁止值。
具体地,可以将各个应用功能模块对应的使能变量的值保存到物联网模块的FLASH中。
举例来说,有三个云平台,分别是云平台A、云平台B和云平台C,根据云平台A对应的SDK设置云平台A对应的应用功能模块A的代码,根据云平台B对应的SDK设置云平台B对应的应用功能模块B的代码,根据云平台C对应的SDK设置云平台C对应的应用功能模块C的代码。在应用功能模块A的代码中设置有使能变量A,在应用功能模块B的代码中设置有使能变量B,在应用功能模块C的代码中设置有使能变量C。使能变量A、使能变量B和使能变量C的初始值均为禁止值,也就是说,应用功能模块A、应用功能模块B和应用功能模块C的初始状态都是禁止启动的。
举例来说,针对使能参数,使能值为1,禁止值为0。各个应用功能模块对应的使能变量的初始值为0。
步骤202:预先设置至少一个应用功能模块能够共用的基本功能模块的代码,基本功能模块的代码中包括:每个应用功能模块对应的接口的代码。
具体地,设置所有的应用功能模块能够共用的基本功能模块的代码。
举例来说,设置应用功能模块A、应用功能模块B和应用功能模块C能够共用的基本功能模块的代码。
基本功能模块上包括:每个应用功能模块对应的接口,其中,针对每个接口,基本功能模块通过当前接口与当前接口对应的应用功能模块进行交互。
举例来说,基本功能模块上包括:应用功能模块A对应的接口A、应用功能模块B对应的接口B和应用功能模块C对应的接口C。基本功能模块通过接口A与应用功能模块A进行交互,基本功能模块通过接口B与应用功能模块B进行交互,基本功能模块通过接口C与应用功能模块C进行交互。
举例来说,基本功能模块的代码中包括接口A的代码、接口B的代码和接口C的代码。
步骤203:对基本功能模块的代码和每个应用功能模块的代码进行编译,生成固件,其中,固件中包括基本功能模块和每个应用功能模块;基本功能模块中包括每个应用功能模块对应的接口,针对每个接口,基本功能模块通过当前接口与当前接口对应的应用功能模块进行交互。
具体地,对所有的代码进行编译。其中,对基本功能模块的代码进行编译,基本功能模块的代码中的每个应用功能模块对应的接口的代码都被编译。
举例来说,对基本功能模块的代码进行编译,对应用功能模块A的代码、应用功能模块B的代码和应用功能模块C的代码进行编译。在生成的固件中包括:基本功能模块、应用功能模块A、应用功能模块B和应用功能模块C,其中,基本功能模块中包括:接口A、接口B和接口C。
步骤204:将固件烧写到物联网模块中。
具体地,通过该步骤,物联网模块即可实现各个应用功能模块的功能以及基本功能模块的功能。
举例来说,通过该步骤,物联网模块即可实现应用功能模块A的功能、应用功能模块B的功能、应用功能模块C的功能以及基本功能模块的功能。
步骤205:根据物联网模块需要连接的至少一个目标云平台,生成配置文件。
具体地,配置文件中包括:目标应用功能模块对应的使能参数的值,并且,配置文件指定了目标应用功能模块对应的接口。
举例来说,物联网模型需要连接云平台A。那么,配置文件中包括:应用功能模块A对应的使能参数A的值,使能参数A的值为1。并且,配置文件指定了应用功能模块A对应的接口A。
步骤206:根据配置文件,将每个目标应用功能模块对应的使能变量的值设置为使能值,并启动每个目标应用功能模块对应的接口。
举例来说,根据配置文件,将使能参数A的值设置为1,并且,启动接口A。具体地,可以将物联网模块的FLASH中的使能参数A的值修改为1。这样,固件中启动了应用功能模块A,而应用功能模块B和应用功能模块C均没有被启动。物联网模块只能与云平台A进行交互。
当然,通过配置文件,可以同时启动固件中的多个应用功能模块,使得物联网模块能够支持与多个云平台进行交互。
在本发明实施例中,云平台可以是指各个电商的云平台。
在本发明实施例中,物联网模块所在的设备可以是家电,例如:空调、冰箱、洗衣机等家电。
通过本发明实施例可以实现物联网模块所在的设备的与单/多平台直连。
在本发明实施例中,预先设置至少一个应用功能模块的代码,以及基本功能模块的代码,在实现各种物联网模块时,无需重新编写整套的代码,对所有的代码进行编译后,只需通过配置文件启动至少一个目标应用功能模块,即可实现具有目标应用功能模块和基本功能模块的固件,进而实现需要的物联网模块,本发明实施例最大化复用代码,减少了工作量,缩短了实现同款设备与不同云平台进行交互的开发周期,缩短了测试周期,大大提高了供货效率,大大提高了同款设备在销售渠道上的灵活性。
举例来说,有三个云平台,分别是云平台A、云平台B、和云平台C;有一款空调,这款空调的不同的用户的需求可能不同,有些用户需要连接云平台A的空调,有些用户需要连接云平台B的空调,有些用户需要连接云平台C的空调。在实现空调中与各个云平台进行交互的物联网模块时,预先设置云平台A对应的应用功能模块A的代码、云平台B对应的应用功能模块B的代码、云平台C对应的应用功能模块C的代码和基本功能模块的代码,对应用功能模块A的代码、应用功能模块B的代码、应用功能模块C的代码和基本功能模块的代码进行编译,生成固件,将固件烧写到物联网模块中。要实现与云平台A进行交互的物联网模块,只需生成配置文件,通过配置文件启动固件中的应用功能模块A,即可实现能够与云平台A进行交互的物联网模块,满足了用户连接云平台A的需求。对于连接云平台B的物联网模块的实现,以及连接云平台C的物联网模块的实现,通过相同的方法来实现。在实现这同一款空调的三种物联网模块时,无需分别编写全套的固件,只需生成相应的配置文件即可。
在本发明实施例中,启动目标应用功能模块可以在生成测试的过程中实现。具体地,在物联网模块未进行生产测试前,由于使能变量的值均为禁止值,物联网模块只会启动基本功能模块;生产测试后,会启动基本功能模块与使能的目标应用功能模块。
在本发明实施例中,生成的固件为多协议全内置,也就是,该固件支持各个云平台的平台协议。当将所有使能变量设置为使能值后,内置的所有应用功能模块均有效。
在本发明实施例中,配置文件可以对所有应用功能模块的使能变量进行设置,当将其中一个应用功能模块的使能变量设置为使能值时,将实现单平台的直连控制;当将其中任意两个及以上的应用功能模块的使能变量设置为使能值时,将实现多平台的直连控制。
如图3、图4所示,本发明实施例提供了一种实现物联网模块的装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的一种实现物联网模块的装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的一种实现物联网模块的装置,包括:
设置单元401,用于针对至少一个云平台分别设置对应的应用功能模块的代码,以及设置至少一个所述应用功能模块能够共用的基本功能模块的代码;
编译单元402,用于对所述基本功能模块的代码和每个所述应用功能模块的代码进行编译,生成固件,其中,所述固件中包括所述基本功能模块和每个所述应用功能模块;
烧写单元403,用于将所述固件烧写到物联网模块中;
启动单元404,用于根据所述物联网模块需要连接的至少一个目标云平台,启动所述固件中每个所述目标云平台对应的目标应用功能模块。
在本发明实施例中,预先针对各个云平台设置对应的应用功能模块的代码,并设置共用的基本功能模块的代码,对所有的应用功能模块的代码和基本功能模块的代码进行编译,生成固件,该固件包括了各个云平台对应的应用功能模块和基本功能模块,该固件适用于各个云平台,当针对不同的云平台实现物联网模块时,无需对每个云平台编写全套的软件,只需根据需要连接的云平台,启动固件中对应的应用功能模块即可,该实现过程大大减少了工作量,能够更加简便地实现物联网模块。
在本发明一实施例中,该装置进一步包括:
配置单元,用于在每个所述应用功能模块的代码中配置使能变量,其中,针对每个所述使能变量,在当前使能变量的值为使能值时,所述当前使能变量对应的应用功能模块被启动;
所述启动单元,用于根据所述物联网模块需要连接的至少一个目标云平台,生成配置文件;根据所述配置文件,将每个所述目标应用功能模块对应的使能变量的值设置为所述使能值。
在本发明一实施例中,针对每个所述使能变量,在当前使能变量的值为禁止值时,所述当前使能变量对应的应用功能模块被禁止启动;
每个所述应用功能模块的代码中的使能变量的值默认为所述禁止值。
在本发明一实施例中,所述基本功能模块的代码中包括:每个所述应用功能模块对应的接口的代码;
所述基本功能模块上包括:每个所述应用功能模块对应的接口,其中,针对每个所述接口,所述基本功能模块通过当前接口与所述当前接口对应的所述应用功能模块进行交互;
进一步包括:
接口配置单元,用于启动每个所述目标应用功能模块对应的接口。
在本发明一实施例中,所述设置单元,用于针对每个所述云平台,根据当前云平台对应的SDK,生成所述当前云平台对应的应用功能模块的代码。
在本发明一实施例中,所述应用功能模块,用于实现与对应的云平台的交互。
在本发明一实施例中,所述基本功能模块,用于与至少一个所述应用功能模块进行交互,与所述物联网模块所在的设备的电控进行交互。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行本发明实施例提供的任意一种实现物联网模块的方法。
本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;
所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行本发明实施例提供的任意一种实现物联网模块的方法。
本发明各个实施例至少具有如下有益效果:
1、在本发明实施例中,预先针对各个云平台设置对应的应用功能模块的代码,并设置共用的基本功能模块的代码,对所有的应用功能模块的代码和基本功能模块的代码进行编译,生成固件,该固件包括了各个云平台对应的应用功能模块和基本功能模块,该固件适用于各个云平台,当针对不同的云平台实现物联网模块时,无需对每个云平台编写全套的软件,只需根据需要连接的云平台,启动固件中对应的应用功能模块即可,该实现过程大大减少了工作量,能够更加简便地实现物联网模块。
2、在本发明实施例中,应用功能模块的代码和基本功能模块的代码无需改变,可以在各个物联网模块中共用,这些代码均被编译,生成固件,固件中的基本功能模块在每个物联网模块中都会被启动,而固件中的各个应用功能模块根据需求启动,已经编写好的代码可以重复使用,大大减少了编写代码的工作量,提高了实现物联网模块的效率。
3、在本发明实施例中,预先设置至少一个应用功能模块的代码,以及基本功能模块的代码,在实现各种物联网模块时,无需重新编写整套的代码,对所有的代码进行编译后,只需通过配置文件启动至少一个目标应用功能模块,即可实现具有目标应用功能模块和基本功能模块的固件,进而实现需要的物联网模块,本发明实施例最大化复用代码,减少了工作量,缩短了实现同款设备与不同云平台进行交互的开发周期,缩短了测试周期,大大提高了供货效率,大大提高了同款设备在销售渠道上的灵活性。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。