法律状态公告日
法律状态信息
法律状态
2020-05-05
授权
授权
2017-10-27
实质审查的生效 IPC(主分类):H04L29/08 申请日:20170516
实质审查的生效
2017-09-29
公开
公开
技术领域
本发明属于物联网设备运行控制方法,涉及一种通过配置文件控制物联网设备分模式运行的方法。
背景技术
很多物联网设备,尤其是用于数据采集监测应用的物联网设备,往往被设计为以极低的占空比间歇采集传输数据以降低功耗。这种设计方案虽然有利于提升设备使用电池持续工作的时间,但不利于用户与设备的交互。比如,在部署设备时,用户希望设备能够快速发送数据以检测安装是否正确;在维护设备时,用户往往希望能够与设备进行点对点无延迟交互以检测设备故障。文献[1]Ming Xia,Yabo Dong,Wenyuan Xu,Xiangyang Li andDongming Lu.MC2:Multimode>2:用于长期监测无线传感器网络的多模式以用户为中心的设计.ACM传感器网络汇刊,第10卷,第3期,2014.)提出了一种物联网设备分模式运行的方法,即设备可以根据应用或用户操作命令,切换模式并运行相应的功能模块,从而在不干扰监测应用性能的同时,提升用户操作效率。然而,该方法在很大程度上提高了设备固件开发的复杂度。因为开发者不仅要开发多个功能模块,还要编写根据应用或用户操作命令进行模式模块切换运行的逻辑。同时,也导致了较大的设备固件更新开销。
发明内容
为了克服已有物联网设备分模式运行方式开发开销较大、设备固件更新开销较大的不足,本发明提供了一种开发开销较小、设备固件更新开销较小的通过配置文件控制物联网设备分模式运行的方法。
本发明解决其技术问题所采用的技术方案是:
一种通过配置文件控制物联网设备分模式运行的方法,开发者将配置文件发送到物联网设备上,物联网设备根据配置文件,在检测到应用或用户操作命令时,自动配置运行模式并控制功能模块工作;
该方法包括开发计算机上运行的开发环境与在物联网设备上运行的中间件软件;
所述开发环境接收开发者提供的配置信息进行处理,同时接收开发者提供的模块实现代码进行编译,并将处理后形成的配置文件与编译后形成的模块实现库分离发送至物联网设备;
所述物联网设备中间件软件在收到配置文件与模块实现库后,根据配置文件所包含的配置信息,首先根据默认模式ID,运行默认模式;当探测到操作系统事件时,与命令配置列表中每条命令配置的命令接口、命令类型和命令数据三个字段进行逐条匹配,检测是否有命令,并返回准确的命令ID;然后,根据命令ID和当前模式ID,在操作配置列表中检索对应的操作配置,并根据检索到的操作配置中指定的下一个模式ID,停止当前模式,并停止当前模式下所有的模块,然后运行指定的下一个模式。
进一步,所述开发计算机上运行的开发环境中,配置文件包含四部分内容:模式配置列表、模块配置列表、命令配置列表和操作配置列表。
再进一步,所述模式配置列表包含一个默认模式ID,以及多个模式配置,每个模式配置包括模式ID和模式名称。
所述模块配置列表包含多个模块配置,每个模块配置包括模块ID、模块名称、父模式ID、依赖模块ID列表、参数列表、模块实现函数名称和模块实现函数地址。
所述命令配置列表包含多个命令配置,每个命令配置包括命令ID、命令接口、命令类型和命令数据。
所述操作配置列表包含多个操作配置,每个操作配置包括:命令ID、当前模式ID和下一个模式ID。
在开发计算机上运行的开发环境将模块配置与模块实现库绑定方法包括以下步骤:开发者向开发环境提供模块实现代码和配置信息,其中包括了模块实现函数名称。开发环境对模块实现代码进行编译,并在编译后生成的MAP文件中寻找该名称函数的地址,并将获得的地址赋值给模块配置中的模块实现函数地址。
更进一步,在物联网设备上运行的中间件软件中,模式的运行方法如下:根据配置信息,将模式所属的所有模块分为运行和准备两个列表;首先将所有依赖模块ID列表不为空的模块加入到准备列表,并将所有依赖模块ID列表为空的模块加入到运行列表中进行并发调度运行;在运行模块时,中间件软件将运行模块配置中模块实现函数地址所指向的在模块实现库中的函数,并将模块配置中参数列表中的参数传递给该函数;然后不断检测准备列表中模块所依赖的所有模块是否已执行完毕,是则将该模块加入到运行列表中进行并发调度运行。所有执行完毕的模块将从运行列表中移除。
本发明的技术构思为:为了降低物联网设备分模式运行的开发代价,本发明提供了一种通过配置文件控制物联网设备分模式运行的方法。开发者只需要编写模式和模块的运行配置文件,物联网设备即可以按照此配置文件,自动管理模式和模块,并在检测到应用和用户操作命令时,自动切换模式和模块运行。因此本方法能够大幅度降低开发开销。同时,由于仅需要发送配置文件进行模式模块运行机制的更新,因此本方法还能够大幅度降低设备固件更新的开销。
本发明的有益效果主要表现在:开发开销较小、设备固件更新开销较小。
附图说明
图1是通过配置文件控制物联网设备分模式运行方法的示意图。
图2是配置文件构成图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1,一种通过配置文件控制物联网设备分模式运行的方法,开发者将配置文件发送到物联网设备上,物联网设备根据配置文件,在检测到应用或用户操作命令时,自动配置运行模式并控制功能模块工作;
该方法包括开发计算机上运行的开发环境与在物联网设备上运行的中间件软件;
所述开发环境接收开发者提供的配置信息进行处理,同时接收开发者提供的模块实现代码进行编译,并将处理后形成的配置文件与编译后形成的模块实现库分离发送至物联网设备;
所述物联网设备中间件软件在收到配置文件与模块实现库后,根据配置文件所包含的配置信息,首先根据默认模式ID,运行默认模式;当探测到操作系统事件时,与命令配置列表中每条命令配置的命令接口、命令类型和命令数据三个字段进行逐条匹配,检测是否有命令,并返回准确的命令ID;然后,根据命令ID和当前模式ID,在操作配置列表中检索对应的操作配置,并根据检索到的操作配置中指定的下一个模式ID,停止当前模式,并停止当前模式下所有的模块,然后运行指定的下一个模式。
进一步,参照图2,所述开发计算机上运行的开发环境中,配置文件包含四部分内容:模式配置列表、模块配置列表、命令配置列表和操作配置列表。
再进一步,所述模式配置列表包含一个默认模式ID,以及多个模式配置,每个模式配置包括模式ID和模式名称。
所述模块配置列表包含多个模块配置,每个模块配置包括模块ID、模块名称、父模式ID、依赖模块ID列表、参数列表、模块实现函数名称和模块实现函数地址。
所述命令配置列表包含多个命令配置,每个命令配置包括命令ID、命令接口、命令类型和命令数据。
所述操作配置列表包含多个操作配置,每个操作配置包括:命令ID、当前模式ID和下一个模式ID。
在开发计算机上运行的开发环境将模块配置与模块实现库绑定方法包括以下步骤:开发者向开发环境提供模块实现代码和配置信息,其中包括了模块实现函数名称。开发环境对模块实现代码进行编译,并在编译后生成的MAP文件中寻找该名称函数的地址,并将获得的地址赋值给模块配置中的模块实现函数地址。
更进一步,在物联网设备上运行的中间件软件中,模式的运行方法如下:根据配置信息,将模式所属的所有模块分为运行和准备两个列表;首先将所有依赖模块ID列表不为空的模块加入到准备列表,并将所有依赖模块ID列表为空的模块加入到运行列表中进行并发调度运行;在运行模块时,中间件软件将运行模块配置中模块实现函数地址所指向的在模块实现库中的函数,并将模块配置中参数列表中的参数传递给该函数;然后不断检测准备列表中模块所依赖的所有模块是否已执行完毕,是则将该模块加入到运行列表中进行并发调度运行。所有执行完毕的模块将从运行列表中移除。
机译: 物联网物联网物联网物联网物联网物联网物联网物联网设备的信任指数提供设备,物联网设备的信任指数提供方法,物联网设备的信任信息管理设备,物联网设备的信任信息管理方法,基于物联网设备的协作系统信任指数一种基于信任指数的物联网设备协作方法
机译: 物联网物联网物联网物联网物联网物联网物联网物联网设备的信任指数提供设备,物联网设备的信任指数提供方法,物联网设备的信任信息管理设备,物联网设备的信任信息管理方法,基于物联网设备的协作系统信任指数一种基于信任指数的物联网设备协作方法
机译: 允许用户设备(UE)在配置为支持UE灵活TDD模式的网络中执行UE灵活时分双工(TDD)模式通信的方法,其中基站(BS)以全双工模式运行,UE以半双工模式运行,以及相同的用户设备(UE)