掌桥专利:专业的专利平台
掌桥专利
首页

一种控制多设备运行的方法、系统、控制设备和存储介质

文献发布时间:2024-04-18 19:53:33


一种控制多设备运行的方法、系统、控制设备和存储介质

技术领域

本发明涉及设备控制技术领域,尤其涉及一种控制多设备运行的方法、系统、控制设备和存储介质。

背景技术

在现有的设备控制技术中,一个设备对应一组参数属性,一个MCU(Microcontroller Unit,微控制单元)只能管理一个设备的参数属性,如果需要管理多个设备就需要集成多个MCU,造价较高,且工艺复杂。而能够支持多个设备管理的标准数据库MySQL、Oracle等均需要使用带有操作系统的高级别芯片,同样会使得成本较高。

发明内容

基于此,有必要针对上述问题,提出了一种控制多设备运行的方法、系统、控制设备和存储介质,能够有效降低制造成本。

一种控制多设备运行的方法,应用设备控制系统,所述设备控制系统包括控制盒和多个可控设备,所述控制盒能够与每个所述可控设备通讯连接;

所述控制多设备运行的方法的步骤,包括:

所述控制盒进行初始化操作,构建设备地址数据库,所述设备地址数据库中存储有所述多个可控设备的设备参数属性信息,每个所述可控设备的设备参数属性信息存储于所述设备地址数据库中的一个存储地址上;

所述控制盒接收至少一个所述可控设备发送的协议数据,对所述协议数据进行数据校验;

当所述协议数据通过所述数据校验时,根据预设规则申请临时内存,所述临时内存用于存储临时运行数据;

获取目标运行逻辑,按照所述目标运行逻辑从所述设备地址数据库中获取所述临时运行数据,在所述临时内存中进行运算;

运算结束后,检查所述临时内存中的临时运行数据的有效性,并将通过检查的所述临时运行数据拷贝至所述设备地址数据库中。

其中,所述构建设备地址数据库的步骤,包括:

获取所述多个可控设备的设备属性列表和运行动态参数,申请固定内存空间,在所述固定内存空间内根据所述设备属性列表和所述运行动态参数构建所述设备地址数据库。

其中,所述构建设备地址数据库的步骤,包括:

构建数据库索引,所述数据库索引包括一级索引和二级索引;

所述一级索引用于指示所述可控设备地址标志,采用位变量表示;

所述二级索引用于指示设备属性、设备存储、设备出厂设置、固件识别码、扩展属性中的至少一个,采用数据分区操作码表示。

其中,所述构建数据库索引的步骤,包括:

所述一级索引的序列号代表所述可控设备在所述设备地址数据库中的虚拟地址的编号;

所述数据分区操作码范围为0-255,每个所述数据分区操作码能够支持0-255个寄存器读写。

其中,所述控制盒进行初始化操作的步骤,包括:

检查所述可控设备的设备参数属性信息是否有效;

若是,则构建所述设备地址数据库;

建立所述设备地址数据库的运行时序,根据所述运行时序检查所述设备地址数据库中的虚拟地址对应的可控设备的设备状态、所述一级索引、所述二级索和所述存储有可控设备的设备参数属性信息的存储地址。

其中,所述构建所述设备地址数据库的步骤之后,包括:

修改所述一级索引中的可控设备地址标志,并存储在闪存中,当检测到所述控制盒上电启动后,读取所述闪存中保存的数据并初始化所述设备地址数据库;或

根据所述数据分区操作码和寄存器编号对所述数据分区操作码对应的数据进行修改。

其中,在一个所述设备地址数据库中存储的设备参数属性信息对应的可控设备是同一类型的设备。

一种控制多设备运行的装置,应用设备控制系统,所述设备控制系统包括控制盒和多个可控设备,所述控制盒能够与每个所述可控设备通讯连接;

所述控制多设备运行的装置,包括:

初始模块,用于进行初始化操作,构建设备地址数据库,所述设备地址数据库中存储有所述多个可控设备的设备参数属性信息;

接收模块,用于接收至少一个所述可控设备发送的协议数据,对所述协议数据进行数据校验;

临时模块,用于当所述协议数据通过所述数据校验时,根据预设规则申请临时内存,所述临时内存用于存储临时运行数据;

运算模块,用于获取目标运行逻辑,按照所述目标运行逻辑从所述设备地址数据库中获取所述临时运行数据,在所述临时内存中进行运算;

存储模块,用于运算结束后,检查所述临时内存中的临时运行数据的有效性,并将通过检查的所述临时运行数据拷贝至所述设备地址数据库中。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上所述的步骤。

一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上所述的步骤。

采用本发明实施例,具有如下有益效果:

在设备地址数据库中存储有所述多个可控设备的设备参数属性信息,照所述目标运行逻辑从所述设备地址数据库中获取所述临时运行数据在所述临时内存中进行运算,能够实现一个MCU控制多个可设备运行,有效降低了多可控设备的控制系统的控制成本和制造成本。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

其中:

图1是本发明提供的控制多设备运行的方法的第一实施例的流程示意图;

图2是本发明提供的设备控制系统的结构示意图;

图3是是本发明提供的控制多设备运行的方法的第二实施例的流程示意图;

图4是本发明提供的设备属性列表的示意图;

图5是本发明提供的数据库索引的结构示意图;

图6是本发明提供的控制多设备运行的装置的结构示意图;

图7示出了一个实施例中计算机设备的内部结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请结合参阅图1和图2,图1是本发明提供的控制多设备运行的方法的第一实施例的流程示意图。图2是本发明提供的设备控制系统的结构示意图。设备控制系统10包括控制盒11和可控设备12,控制盒11能够根据预设的程序控制可控设备12工作,例如可控设备12为灯具,设备控制系统10为照明系统,控制盒11控制多个灯具按照预设规则进行点亮。控制盒11能够与每个可控设备12通讯连接,例如蓝牙连接或者无线网络连接。每个可控设备12对应一组参数属性,且该参数属性是已知的。

本发明提供的控制多设备运行的方法包括如下步骤:

S101:控制盒进行初始化操作,构建设备地址数据库,设备地址数据库中存储有多个可控设备的设备参数属性信息。

在一个具体的实施场景中,控制盒上电后进行初始化操作,初始化操作包括构建设备地址数据库,设备地址数据库中存储有多个可控设备的设备参数属性信息。每个可控设备的设备参数属性信息按照预设存储规则存储于对应的存储地址中。每个可控设备的设备参数属性信息存储于设备地址数据库中的一个存储地址上。控制盒在需要控制某个或某些可控设备时,可以提取这些可控设备对应的设备参数属性进行运算,从而对这些可控设备进行控制。

设备地址数据库构建后,其对应的存储空间就一直被设备地址数据库。根据控制盒中的MCU的性能决定设备地址数据库的大小,或者是决定设备地址数据库可以存放的设备参数属性信息的数量。在MCU内存允许的情况下,用户可以根据实际需求对设备地址数据库中的设备参数属性信息进行增删,从而对控制盒可以控制的可控设备进行增删。例如,控制盒不再控制一个可控设备,则获取该可控设备对应的存储地址,删除该存储地址上的数据,就实现了对可控设备的删除。再例如,控制盒需要增加一个可控设备,则为该可控设备按照预设规则分配一个存储地址,将该可控设备的设备参数属性信息存储在该存储地址上,就实现了对可控设备的增加。又例如,由于某些原因需要修改可控设备的设备参数属性信息,则可以找到该设备的存储地址,对存储地址上存储的数据进行修改,就完成了对某个可控设备的设备参数属性信息的修改。

需要说明的是,在本实施场景中,一个设备地址数据库中存储的设备参数属性信息对应的可控设备是同一类型的设备。不同类型的设备硬件不同,其设备参数属性信息的结构也不同,不能按照统一的存储方法进行存储,也不利于后续读取设备参数属性信息进行运算。

S102:控制盒接收至少一个可控设备发送的协议数据,对协议数据进行数据校验。

在一个具体的实施场景中,控制盒接收至少一个可控设备发送的协议数据,当可控设备处于工作状态时,会向外界发送自身的协议数据,例如蓝牙协议数据。协议数据包括帧头、帧号、通道号、操作码、操作数据、寄存器、json长度、json数据中的至少一个。

控制盒对接收到的每个协议数据进行校验,如果校验通过则与该可控设备建立通信连接。控制盒在接收到协议数据后先判断该发送该协议数据的设备是否是需要控制的可控设备,例如判断该设备的设备参数信息是否存储于设备地址数据库中。若该设备不是需要控制的可控设备,则丢弃协议数据,若该设备是需要控制的可控设备,则对该协议数据进行校验。校验数据的方式可以是检测该协议数据是否与控制盒中预存的协议检测数据匹配,若两者匹配则校验通过。

S103:当协议数据通过数据校验时,根据预设规则申请临时内存,临时内存用于存储临时运行数据。

在一个具体的实施场景中,当接收到的协议数据均通过数据校验时,根据预设规则申请临时内存,临时内存用于存储临时运行数据。预设规则包括根据需要控制的可控设备的数量或者控制可控设备运行的逻辑复杂程度选择临时内存的大小。临时内存在运行结束后将被释放。

S104:获取目标运行逻辑,按照目标运行逻辑从设备地址数据库中获取临时运行数据,在临时内存中进行运算。

在一个具体的实施场景中,获取目标运行逻辑,目标运行逻辑可以是用户事先编辑好,并存储于控制盒中的,也可以是用户在当前根据使用需求编辑并传输至控制盒的。按照目标运行逻辑从设备地址数据库中获取临时运行数据,在临时内存中进行运算。临时运行数据可以是某个或某些可控设备的至少设备参数属性信息。

S105:运算结束后,检查临时内存中的临时运行数据的有效性,并将通过检查的临时运行数据拷贝至设备地址数据库中。

在一个具体的实施场景中,当运算结束后,控制盒对可控设备的控制运行结束,需要释放临时内存。在释放临时内存之前,需要对临时内存中的临时运行数据进行有效性和完备性的检查,检测临时运行数据中对应于设备参数属性信息的数据是否发生了变化,如果发生了变化,则将变化后的设备参数属性信息的数据拷贝至设备地址数据库中,以替换原先的设备参数数据信息。

通过上述描述可知,在本实施例中在设备地址数据库中存储有多个可控设备的设备参数属性信息,照目标运行逻辑从设备地址数据库中获取临时运行数据在临时内存中进行运算,能够实现一个MCU控制多个可设备运行,有效降低了多可控设备的控制系统的控制成本和制造成本。

请参阅图3,图3是是本发明提供的控制多设备运行的方法的第二实施例的流程示意图。图3所示的步骤应用于图2所示的设备控制系统。

本发明提供的控制多设备运行的方法包括如下步骤:

S201:检查可控设备的设备参数属性信息是否有效。

在一个具体的实施场景中,根据出厂设置、客户需求等信息,检查控制盒中存储的可控设置的设备参数属性信息是否有效,若出现需要修改设备参数属性信息的情况,则修改设备属性列表中对应的设备参数属性信息,请结合参阅图4,图4是本发明提供的设备属性列表的示意图。

S202:构建设备地址数据库,构建数据库索引,数据库索引包括一级索引和二级索引。

在一个具体的实施场景中,根据设备属性列表和每个可控设备的运行动态参数建立设备地址数据库。在向设备地址数据库中存储设备参数属性信息时,构建构建数据库索引,数据库索引包括一级索引和二级索引。一级索引用于指示可控设备地址标志,采用位变量表示;二级索引用于指示设备属性(唯一识别码、地址、组信息)、设备存储(场景数据)、设备出厂设置(出厂设置数据)、固件识别码(设备固件数据)、扩展属性(设备编程数据)中的至少一个,采用数据分区操作码表示。在本实施场景中,将上述设备参数属性信息按照固定规则转换为字符串后,根据一级索引和二级索引存储在设备地址数据库中对应的地址上。请结合参阅图5,图5是本发明提供的数据库索引的结构示意图。

在后续运算时,如果需要使用某个或某些可控设备的设备参数属性信息,或者是需要修改某个或某些可控设备的设备参数属性信息,则可以根据一级索引和二级索引进行查找,能够更加快速的找到对应的数据,使得设备地址数据库的数据管理更加方便快捷。

在本实施场景中,一级索引采用位变量查询,能够尽量减少内存使用。同时位变量自带排序功能,能够降低存储的工作量,序列号代表设备地址数据库中虚拟地址的编号。例如,第1个字节代表8个bit,排序从0至7,虚拟地址编号同步;第2个字节代表8个bit,排序从8至15,虚拟地址编号同步;第128个字节代表8个bit,排序从1015至1023,虚拟地址编号同步。

在本实施场景中,二级索引为数据分区操作码,能够减少数据遍历查询的次数,加快读写速度。数据分区操作码的范围0-255,每个操作码后端可以支持0-255寄存器读写,单个设备数据库最大字节数量255*255=65535。

在其他实施场景中,如果需要对控制盒控制的可控设备进行增删,则可以修改一级索引中的可控设备地址标志,并将修改结果存储在闪存中,检测到控制盒上电启动后,读取闪存中保存的数据并初始化设备地址数据库。

在其他实施场景中,如果需要修改某个可控设备的设备参数属性信息,则可以基于二级索引的数据分区操作码进行处理,根据对应的数据分区操作码+寄存器编号(Json字符串)修改相对应的数据。

S203:建立设备地址数据库的运行时序,根据运行时序检查设备地址数据库中的虚拟地址对应的可控设备的设备状态、一级索引、二级索和存储有可控设备的设备参数属性信息的存储地址。

在一个具体的实施场景中,建立设备地址数据库的运行时序,各个可控设备对应的存储地址之间扫描间隔最小0.01ms,最大间隔10ms。按照顺序/时序遍历扫描,一直监控可控设备运行状态。在本实施场景中,根据运行时序检查设备地址数据库中的虚拟地址对应的可控设备的设备状态、一级索引、二级索和存储有可控设备的设备参数属性信息的存储地址。

S204:接收至少一个可控设备发送的协议数据,对协议数据进行数据校验。

S205:当协议数据通过数据校验时,根据预设规则申请临时内存,临时内存用于存储临时运行数据。

S206:获取目标运行逻辑,按照目标运行逻辑从设备地址数据库中获取临时运行数据,在临时内存中进行运算。

S207:运算结束后,检查临时内存中的临时运行数据的有效性,并将通过检查的临时运行数据拷贝至设备地址数据库中。

在一个具体的实施场景中,步骤S204-S207与本发明提供的控制多设备运行的方法的步骤S102-S105基本一致,此处不再进行赘述。

通过上述描述可知,在本实施例中,设备地址数据库中设置有构建数据库索引,数据库索引包括一级索引和二级索引;一级索引用于指示可控设备地址标志,采用位变量表示;二级索引用于指示设备属性、设备存储、设备出厂设置、固件识别码、扩展属性中的至少一个,采用数据分区操作码表示,能够方便对设备地址数据库进行增删、修改等数据管理。

请参阅图6,图6是本发明提供的控制多设备运行的装置的结构示意图。控制多设备运行的装置20应用于图2所示的设备控制系统。控制多设备运行的装置20包括:初始模块21、接收模块22、临时模块23、运算模块24和存储模块25。

初始模块21用于进行初始化操作,构建设备地址数据库,设备地址数据库中存储有多个可控设备的设备参数属性信息;接收模块22用于接收至少一个可控设备发送的协议数据,对协议数据进行数据校验;临时模块23用于当协议数据通过数据校验时,根据预设规则申请临时内存,临时内存用于存储临时运行数据;运算模块24用于获取目标运行逻辑,按照目标运行逻辑从设备地址数据库中获取临时运行数据,在临时内存中进行运算;存储模块25用于运算结束后,检查临时内存中的临时运行数据的有效性,并将通过检查的临时运行数据拷贝至设备地址数据库中。

初始模块21用于获取多个可控设备的设备属性列表和运行动态参数,申请固定内存空间,在固定内存空间内根据设备属性列表和运行动态参数构建设备地址数据库。

初始模块21用于构建数据库索引,数据库索引包括一级索引和二级索引;一级索引用于指示可控设备地址标志,采用位变量表示;二级索引用于指示设备属性、设备存储、设备出厂设置、固件识别码、扩展属性中的至少一个,采用数据分区操作码表示。

初始模块21用于一级索引的序列号代表可控设备在设备地址数据库中的虚拟地址的编号;数据分区操作码范围为0-255,每个数据分区操作码能够支持0-255个寄存器读写。

初始模块21用于检查可控设备的设备参数属性信息是否有效;若是,则构建设备地址数据库;建立设备地址数据库的运行时序,根据运行时序检查设备地址数据库中的虚拟地址对应的可控设备的设备状态、一级索引、二级索和存储有可控设备的设备参数属性信息的存储地址。

初始模块21用于修改一级索引中的可控设备地址标志,并存储在闪存中,当检测到控制盒上电启动后,读取闪存中保存的数据并初始化设备地址数据库;或根据数据分区操作码和寄存器编号对数据分区操作码对应的数据进行修改。

初始模块21用于在一个设备地址数据库中存储的设备参数属性信息对应的可控设备是同一类型的设备。

通过上述描述可知,在本实施例中控制多设备运行的装置在设备地址数据库中存储有多个可控设备的设备参数属性信息,照目标运行逻辑从设备地址数据库中获取临时运行数据在临时内存中进行运算,能够实现一个MCU控制多个可设备运行,有效降低了多可控设备的控制系统的控制成本和制造成本。

图7示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是终端,也可以是服务器。如图7所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现年龄识别方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行年龄识别方法。本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上所述的步骤

在一个实施例中,提出了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上所述的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

技术分类

06120116339371