CN116305744A - 传感器控制系统及传感器的监听方法 - Google Patents
传感器控制系统及传感器的监听方法 Download PDFInfo
- Publication number
- CN116305744A CN116305744A CN202211606741.5A CN202211606741A CN116305744A CN 116305744 A CN116305744 A CN 116305744A CN 202211606741 A CN202211606741 A CN 202211606741A CN 116305744 A CN116305744 A CN 116305744A
- Authority
- CN
- China
- Prior art keywords
- sensor
- target
- management module
- registration
- real
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01D—MEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
- G01D21/00—Measuring or testing not otherwise provided for
- G01D21/02—Measuring two or more variables by means not covered by a single other subclass
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供了一种传感器控制系统及传感器的监听方法,包括传感器管理模块,传感器管理模块包括真实传感器模型和虚拟传感器模型:传感器管理模块用于获取目标应用程序的注册请求,在生成注册成功的消息的情况下,读取目标传感器的传感器数据,真实传感器模型用于在目标传感器为真实传感器的情况下,读取目标传感器的传感器数据,虚拟传感器模型用于在目标传感器为虚拟传感器的情况下,通过与虚拟传感器关联的真实传感器读取虚拟传感器的数据,真实传感器模型包括第一引用计数单元,虚拟传感器模型包括第二引用计数单元。根据本申请实施例,将不同传感器抽象成相同的模型,使用统一的控制方法进行控制。
Description
技术领域
本申请属于传感器控制领域,尤其涉及一种传感器控制系统及传感器的监听方法。
背景技术
在嵌入式设备中,传感器占据了非常重要的地位,它们提供了诸如环境温度、湿度等对于设备能够正常运行至关重要的数据。
目前,传感器的各芯片厂商在读取传感器数据时,主要通过驱动程序将传感器数据挂载到虚拟文件系统上,再由用户程序去文件节点读取数据。由于各厂商的数据封装格式、数据的发送方式和使用方式不同,需要根据不同传感器的驱动程序去对应的文件位置读取传感器数据,因此,传感器数据的读取效率较低,监听控制传感器的效率较低。
发明内容
本申请实施例提供一种传感器控制系统及传感器的监听方法,能够解决现有技术中根据不同传感器的驱动程序去对应的文件位置读取传感器数据,导致传感器数据的读取效率较低的问题。
第一方面,本申请实施例提供一种传感器控制系统,传感器控制系统包括传感器管理模块,传感器管理模块包括真实传感器模型和虚拟传感器模型:
所述传感器管理模块用于获取目标应用程序的注册请求,所述注册请求用于请求注册目标传感器的数据,并在生成注册成功的消息的情况下,读取所述目标传感器的传感器数据,
所述真实传感器模型用于在目标传感器为真实传感器的情况下,读取所述目标传感器的传感器数据,
所述虚拟传感器模型是由至少一个真实传感器组合以及算法库构成的,所述虚拟传感器模型用于在目标传感器为虚拟传感器的情况下,通过与虚拟传感器关联的真实传感器读取所述虚拟传感器的数据,
所述真实传感器模型包括第一引用计数单元,在所述第一引用计数单元的引用计数从零变更为一时,激活真实传感器,在所述第一引用计数单元的引用计数从一变更为零时,关闭真实传感器;
所述虚拟传感器模型包括第二引用计数单元,在所述第二引用计数单元的引用计数从零变更为一时,激活虚拟传感器,在所述第二引用计数单元的引用计数从一变更为零时,关闭虚拟传感器。
在一些实施方式中,所述虚拟传感器模型包括关联真实传感器列表和算法库,
在基于所述关联真实传感器列表未检测到与虚拟传感器关联的真实传感器、和/或所述算法库中不包括与所述虚拟传感器对应的算法的情况下,将所述虚拟传感器从所述关联真实传感器列表中剔除。
在一些实施方式中,所述传感器控制系统还包括注册管理模块,所述注册管理模块用于接收目标应用程序发送的对目标传感器的数据的注册请求,所述注册请求包括目标应用程序的标识、目标传感器的类型和目标处理算法,
所述注册管理模块还用于基于所述注册请求,将所述目标应用程序的标识、目标传感器的类型和目标处理算法的对应关系存储在注册表中,
所述注册管理模块还用于向传感器管理模块发送所述注册请求,并接收传感器管理模块发送的注册成功的消息。
在一些实施方式中,所述注册管理模块还用于检测到回调表中所述目标应用程序注册所述目标传感器的计数为零时,删除所述目标传感器的数据的注册信息,所述回调表包括目标传感器的类型、目标应用程序的标识与所述目标应用程序注册所述目标传感器的计数之间的对应关系,所述注册信息包括所述目标应用程序的标识、目标传感器的类型和目标处理算法。
第二方面,本申请实施例提供一种传感器的监听方法,所述方法应用于传感器控制系统,所述传感器控制系统包括传感器管理模块和注册管理模块,所述方法包括:通过注册管理模块接收目标应用程序发送的对目标传感器的数据的注册请求,所述注册请求包括目标应用程序的标识、目标传感器的类型和目标处理算法,
通过注册管理模块基于所述注册请求,将所述目标应用程序的标识、目标传感器的类型和目标处理算法的对应关系存储在注册表中,
通过注册管理模块向传感器管理模块发送所述注册请求,
在所述传感器管理模块生成注册成功的消息的情况下,通过所述传感器管理模块读取所述目标传感器的传感器数据,
根据注册管理模块中的注册表中应用程序的标识、目标传感器的类型和目标处理算法的对应关系,获取与所述目标应用程序的标识和所述目标传感器的类型对应的目标处理算法,
通过注册管理模块基于所述目标处理算法向所述目标应用程序发送所述目标传感器的传感器数据,以实现所述目标应用程序对所述目标传感器的监听。
在一种实施方式中,所述传感器管理模块包括真实传感器模型,所述在所述传感器管理模块生成注册成功的消息的情况下,通过所述传感器管理模块读取所述目标传感器的传感器数据,包括:
在所述传感器管理模块生成注册成功的消息、且所述目标传感器为真实传感器的情况下,通过所述真实传感器模型读取所述目标传感器的传感器数据。
在一种实施方式中,所述传感器管理模块还包括虚拟传感器模型,所述在所述传感器管理模块生成注册成功的消息的情况下,通过所述传感器管理模块读取所述目标传感器的传感器数据,包括:
在所述传感器管理模块生成注册成功的消息、且目标传感器为虚拟传感器的情况下,通过所述虚拟传感器模型基于与虚拟传感器关联的真实传感器读取所述虚拟传感器的数据,所述虚拟传感器模型是由至少一个真实传感器组合以及算法库构成的。
在一种实施方式中,所述方法还包括:
基于与虚拟传感器关联的真实传感器产生的数据,通过所述算法库中与所述虚拟传感器对应的算法计算得到目标值,
当所述目标值超过预设阈值时,生成异常事件信息。
在一种实施方式中,所述方法还包括:
当检测到与所述虚拟传感器关联的真实传感器发生故障时,将所述虚拟传感器的工作状态变更为不可用状态。
在一种实施方式中,所述方法还包括:
通过注册管理模块接收至少两个应用程序对所述目标传感器发送的第一控制指令和第二控制指令,
在所述第一控制指令包括使能指令、激活指令、标定指令和校准指令中的一个,且所述第二控制指令包括禁用指令或关闭指令的情况下,基于所述第一控制指令控制所述目标传感器。
在一种实施方式中,所述方法还包括:
在所述第一控制指令和所述第二控制指令满足预设条件的情况下,基于所述第一控制指令和所述第二控制指令控制所述目标传感器,
其中,所述预设条件为所述第一控制指令和所述第二控制指令分别包括使能、激活、标定以及校准的指令中的一个,
或,
所述第一控制指令和所述第二控制指令分别包括禁用或关闭的指令。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:处理器以及存储有计算机程序指令的存储器;
处理器执行计算机程序指令时实现如第二方面的任一项实施例中所述的传感器的监听方法。
第四方面,本申请实施例提供了一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第二方面的任一项实施例中所述的传感器的监听方法。
第五方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备执行如第二方面的任一项实施例中所述的传感器的监听方法。
本申请实施例的传感器控制系统包括传感器管理模块,传感器管理模块包括真实传感器模型和虚拟传感器模型。传感器管理模块用于获取目标应用程序的注册请求,在生成注册成功的消息的情况下,读取目标传感器的传感器数据,真实传感器模型用于在目标传感器为真实传感器的情况下,读取目标传感器的传感器数据。虚拟传感器模型由至少一个真实传感器组合以及算法库构成,虚拟传感器模型用于在目标传感器为虚拟传感器的情况下,通过与虚拟传感器关联的真实传感器读取虚拟传感器的数据。真实传感器模型包括第一引用计数单元,虚拟传感器模型包括第二引用计数单元,用于控制激活或关闭传感器。这样,可以将不同传感器或传感器事件抽象成相同的传感器模型,使用统一的控制方法进行控制,无需改动上层软件代码即可对传感器模型进行拓展,降低了开发的时间成本,在后续对传感器控制时也可保证对传感器控制的唯一性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的传感器控制系统的架构图;
图2是本申请一个实施例提供的注册管理模块的结构示意图;
图3是本申请一个实施例提供的传感器的监听方法的流程示意图;
图4是本申请一个实施例提供的电子设备的结构示意图。
具体实施方式
下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
如背景技术所述,现有技术中存在需要根据不同传感器的驱动程序去对应的文件位置读取传感器数据,导致传感器数据的读取效率较低的问题。为了解决上述问题,本申请实施例提供了一种传感器控制系统,包括传感器管理模块,传感器管理模块包括真实传感器模型和虚拟传感器模型。传感器管理模块用于获取目标应用程序的注册请求,在生成注册成功的消息的情况下,读取目标传感器的传感器数据,真实传感器模型用于在目标传感器为真实传感器的情况下,读取目标传感器的传感器数据。虚拟传感器模型由至少一个真实传感器组合以及算法库构成,虚拟传感器模型用于在目标传感器为虚拟传感器的情况下,通过与虚拟传感器关联的真实传感器读取虚拟传感器的数据。真实传感器模型包括第一引用计数单元,虚拟传感器模型包括第二引用计数单元,用于控制激活或关闭传感器。这样,可以将不同传感器或传感器事件抽象成相同的传感器模型,使用统一的控制方法进行控制,无需改动上层软件代码即可对传感器模型进行拓展,降低了开发的时间成本,在后续对传感器控制时也可保证对传感器控制的唯一性,提高传感器数据的读取效率。下面首先对本申请实施例所提供的传感器控制系统进行介绍。
图1示出了本申请一个实施例提供的传感器控制系统的架构图。
如图1所示,传感器控制系统10可以包括传感器管理模块111,具体地,传感器控制系统10可以包括传感器控制模块11,传感器控制模块11可以包括传感器管理模块111,传感器管理模块111可以包括真实传感器模型和虚拟传感器模型:
传感器管理模块111用于获取目标应用程序的注册请求,注册请求用于请求注册目标传感器的数据,并在生成注册成功的消息的情况下,读取目标传感器的传感器数据。
这里的目标应用程序可以是任意第三方应用程序(Application,APP),目标传感器可以是任意类型的传感器,可以是真实传感器,也可以是虚拟传感器,真实传感器例如可以是加速传感器、角速度传感器等,虚拟传感器例如可以是碰撞事件传感器。
真实传感器模型用于在目标传感器为真实传感器的情况下,读取目标传感器的传感器数据。
虚拟传感器模型可以是由至少一个真实传感器组合以及算法库构成的,虚拟传感器模型用于在目标传感器为虚拟传感器的情况下,通过与虚拟传感器关联的真实传感器读取虚拟传感器的数据。
本申请实施例中对真实传感器模型和虚拟传感器模型的抽象过程可以包括如下步骤:
1、加载配置文件,获取传感器列表,传感器列表可以包括真实传感器和虚拟传感器;
2、对每个真实传感器进行抽象并使能,真实传感器模型结构可以包括使能方法、禁用方法、激活方法、关闭方法、标定方法、校准方法、传感器参数及属性以及引用计数,其中,传感器参数及属性可以包括获取传感器参数及属性方法、修改传感器属性方法。若某个真实传感器使能失败,则放弃本次抽象,该传感器会被剔除传感器列表,应用程序在获取可用的真实传感器时不会显示。
3、虚拟传感器可以是由一个或多个真实传感器组合以及算法库构成的,虚拟传感器模型结构可以包括使能方法、禁用方法、激活方法、关闭方法、标定方法、校准方法、虚拟传感器参数及属性以及引用计数,其中,虚拟传感器参数及属性可以包括关联真实传感器列表以及相关算法库。
虚拟传感器模型的参数及属性为关联的真实传感器列表和相关算法库,对虚拟传感器的控制都将转变为对与虚拟传感器相关的真实传感器的控制。例如,碰撞事件传感器的参数及属性为关联的加速度和角速度传感器,以及碰撞检测算法,通过与碰撞事件传感器关联的加速度和角速度传感器读取碰撞事件传感器的数据。
在一些实施例中,虚拟传感器模型可以包括关联真实传感器列表和算法库,
在基于关联真实传感器列表未检测到与虚拟传感器关联的真实传感器、和/或算法库中不包括与虚拟传感器对应的算法的情况下,将虚拟传感器从关联真实传感器列表中剔除。
示例性地,碰撞事件的虚拟传感器关联的真实传感器列表包括加速度和角速度两个真实传感器,以及碰撞检测算法。若未检测到与碰撞事件的虚拟传感器关联的当前系统可用的加速度和角速度传感器,或未检测到与碰撞事件的虚拟传感器对应的碰撞检测算法,则该碰撞事件的虚拟传感器不可用,将碰撞事件的虚拟传感器从关联真实传感器列表中剔除。由此,可以避免用户注册传感器数据后传感器不可用的情况。
真实传感器模型可以包括第一引用计数单元,在第一引用计数单元的引用计数从零变更为一时,激活真实传感器,在第一引用计数单元的引用计数从一变更为零时,关闭真实传感器。虚拟传感器模型可以包括第二引用计数单元,在第二引用计数单元的引用计数从零变更为一时,激活虚拟传感器,在第二引用计数单元的引用计数从一变更为零时,关闭虚拟传感器。
为了应对相同传感器被多次注册或者取消注册的情况,真实传感器模型和虚拟传感器模型的结构都有引用计数,分别对应第一引用计数单元和第二引用计数单元,只有当引用计数第一次增加到1时才会激活传感器,或者只有当引用计数第一次减少到零才会关闭传感器。
本申请实施例中,传感器控制系统可以包括传感器管理模块,传感器管理模块可以包括真实传感器模型和虚拟传感器模型。传感器管理模块用于获取目标应用程序的注册请求,在生成注册成功的消息的情况下,读取目标传感器的传感器数据,真实传感器模型用于在目标传感器为真实传感器的情况下,读取目标传感器的传感器数据。虚拟传感器模型由至少一个真实传感器组合以及算法库构成,虚拟传感器模型用于在目标传感器为虚拟传感器的情况下,通过与虚拟传感器关联的真实传感器读取虚拟传感器的数据。真实传感器模型包括第一引用计数单元,虚拟传感器模型包括第二引用计数单元,用于控制激活或关闭传感器。这样,可以将不同传感器或传感器事件抽象成相同的传感器模型,使用统一的控制方法进行控制,无需改动上层软件代码即可对传感器模型进行拓展,降低了开发的时间成本,在后续对传感器控制时也可保证对传感器控制的唯一性。
在一些实施例中,如图1所示,传感器控制系统10还可以包括注册管理模块112,具体地,传感器控制系统10可以包括传感器控制模块11,传感器控制模块11可以包括注册管理模块112。注册管理模块112用于接收目标应用程序发送的对目标传感器的数据的注册请求,注册请求可以包括目标应用程序的标识、目标传感器的类型和目标处理算法,
注册管理模块112还用于基于注册请求,将目标应用程序的标识、目标传感器的类型和目标处理算法的对应关系存储在注册表中,
注册管理模块112还用于向传感器管理模块111发送注册请求,并接收传感器管理模块111发送的注册成功的消息。
应用程序的监听和控制传感器的流程主要通过注册管理模块112,注册管理模块112负责注册管理、数据分发、控制过滤(整合)等功能。
注册请求可以用于请求注册目标传感器的数据,当目标应用程序发起注册目标传感器的数据时,将目标应用程序的标识、目标传感器的类型和目标处理算法的对应关系存储在注册表中,其中,目标应用程序的标识可以是能够唯一标识目标应用程序的字母、数字或符号,目标传感器的标识可以是能够唯一标识目标传感器的字母、数字或符号,在此不作限定。对应关系可以是目标应用程序的标识、目标传感器的标识和目标处理算法一一对应的关系。
传感器控制系统10还可以包括应用模块12。具体地,应用模块12可以包括应用程序1、应用程序2、应用程序3、……、应用程序N,其中,N为大于1的整数。应用模块12,用于向注册管理模块112发起注册传感器数据的请求。
作为一个示例,当应用程序A向注册管理模块发起注册(订阅)传感器1的数据时,通过注册管理模块将注册信息和注册标识(应用程序A的标识)记录在如图2所示的注册表中,即注册标识与注册信息的一一对应,其中,注册标识由注册管理模块自动生成,注册信息可以包括传感器1的标识和对应的数据处理函数,该注册表方便查看每个应用程序的注册情况。接着,向传感器管理模块发出注册请求,如果收到成功的回复,则表征激活传感器1,开始向应用程序A传递传感器1的数据。
作为另一个示例,若应用程序多次注册相同或不同的传感器数据或事件时,例如,应用程序A注册传感器事件1和传感器事件2,应用程序B注册传感器事件2和传感器事件3,此时注册表中为{{A--{1,2},cbA},{B--{2,3},cbB}}。若应用程序A再次注册传感器事件1和传感器事件3,此时的注册表为{{A--{1,2,3},cbA},{B--{2,3},cbB}},其中cb为应用程序提供的回调函数。
本申请实施例中,注册管理模块用于接收目标应用程序发送的对目标传感器的数据的注册请求,注册请求可以包括目标应用程序的标识、目标传感器的类型和目标处理算法,并基于注册请求,将目标应用程序的标识、目标传感器的类型和目标处理算法的对应关系存储在注册表中,进而向传感器管理模块发送注册请求,并接收传感器管理模块发送的注册成功的消息。这样,可以屏蔽应用程序与传感器之间的直接关联,应用程序控制或监听传感器需经过中间的注册管理模块,该注册管理模块保证了多个应用对于传感器控制的唯一性,又减少了数据传递的资源消耗。
在一些实施例中,注册管理模块还用于检测到回调表中目标应用程序注册目标传感器的计数为零时,删除目标传感器的数据的注册信息,回调表可以包括目标传感器的类型、目标应用程序的标识与目标应用程序注册目标传感器的计数之间的对应关系,注册信息可以包括目标应用程序的标识、目标传感器的类型和目标处理算法。
从回调表中可以获取目标应用程序注册目标传感器的计数,在计数为零时,删除目标传感器的数据的注册信息。这里的计数可以是目标应用程序注册目标传感器的次数,如计数归零,则取消对该目标传感器的数据的注册,即删除目标传感器的数据的注册信息,这里的注册信息可以包括目标应用程序的标识、目标传感器的类型和目标处理算法,以及三者之间的对应关系。
作为一个示例,如图2所示,在应用程序注册传感器的数据时,会维护一个回调表,回调表中包括注册信息,回调表可以认为是注册表的反向对应,便于查看每个传感器类型被注册的情况。具体地,回调表中存储每个传感器的数据对应的注册者(应用程序的标识),并额外维护每个注册者的引用计数,引用计数表征该注册者注册了该传感器的数据的次数。例如,如应用程序A注册传感器事件1和2,应用程序B注册传感器事件2和3,此时回调表中为{1--{A,1}},{2--{(A,1),(B,1)}},{3--{(B,1)}}。若应用程序A再次注册传感器事件1和3,回调表中为{1--{A,2}},{2--{(A,1),(B,1)}},{3--{(B,1),(A,1)}},若应用程序A取消注册传感器事件1和2,回调表中为{1--{A,1}},{2--{(B,1)}},{3--{(B,1),(A,1)}},此时传感器事件1和2的计数并未归零,因此,不删除传感器事件1和2的注册信息。只有计数归零时才会取消对该传感器数据或事件的注册,而每种传感器的数据即使被多个应用程序多次注册,每次数据回调时都只有一份数据。
本申请实施例中,注册管理模块还用于检测到回调表中目标应用程序注册目标传感器的计数为零时,删除目标传感器的数据的注册信息,通过计数可以应对相同传感器被多次注册或者取消注册的情况,使用计数的方式管理注册信息,只有当第一次注册和最后一次取消时该注册信息才会被真正添加或移除,便于整合各应用程序的注册信息,保证对传感器的监听的唯一性。
基于上述传感器控制系统的架构,下面结合图3对本申请实施例提供的传感器的监听方法进行详细说明,该传感器的监听方法可以应用于传感器控制系统,传感器控制系统可以包括传感器管理模块和注册管理模块。
图3示出了本申请一个实施例提供的传感器的监听方法的流程示意图。
如图3所示,该传感器的监听方法具体可以包括如下步骤:
S110,通过注册管理模块接收目标应用程序发送的对目标传感器的数据的注册请求,注册请求包括目标应用程序的标识、目标传感器的类型和目标处理算法。
S120,通过注册管理模块基于注册请求,将目标应用程序的标识、目标传感器的类型和目标处理算法的对应关系存储在注册表中。
S130,通过注册管理模块向传感器管理模块发送注册请求。
S140,在传感器管理模块生成注册成功的消息的情况下,通过传感器管理模块读取目标传感器的传感器数据。
S150,根据注册管理模块中的注册表中应用程序的标识、目标传感器的类型和目标处理算法的对应关系,获取与目标应用程序的标识和目标传感器的类型对应的目标处理算法。
S160,通过注册管理模块基于目标处理算法向目标应用程序发送目标传感器的传感器数据,以实现目标应用程序对目标传感器的监听。
本申请实施例中,通过传感器控制系统的注册管理模块接收目标应用程序发送的对目标传感器的数据的注册请求,并基于注册请求,将目标应用程序的标识、目标传感器的类型和目标处理算法的对应关系存储在注册表中。接着,通过注册管理模块向传感器管理模块发送注册请求,在传感器管理模块生成注册成功的消息的情况下,通过传感器管理模块读取目标传感器的传感器数据,根据注册管理模块中的注册表中应用程序的标识、目标传感器的类型和目标处理算法的对应关系,获取与目标应用程序的标识和目标传感器的类型对应的目标处理算法,从而通过注册管理模块基于目标处理算法向目标应用程序发送目标传感器的传感器数据,以实现目标应用程序对目标传感器的监听。这样,可以使用统一的传感器模型进行传感器的监听,并整合多个传感器的数据以及对应的处理算法,提高了传感器数据的读取效率,保证了对传感器的监听和控制的唯一性。
在一些实施例中,传感器管理模块可以包括真实传感器模型,S140具体可以包括:
在传感器管理模块生成注册成功的消息、且目标传感器为真实传感器的情况下,通过真实传感器模型读取目标传感器的传感器数据。
对于真实传感器,对设备的控制直接体现在传感器的设置上,数据监听则是直接从设备节点中按照对应格式读取数据,然后通过注册管理模块进行数据整合并发送。通过真实传感器模型可直接读取目标传感器的传感器数据。
示例性地,真实传感器模型的控制方法可以根据硬件平台灵活选择,可以通过读写挂载在虚拟文件系统(sysfs)上的文件节点对传感器进行控制或者获取传感器属性,例如,可以在加速度传感器的sysfs文件节点“acc/enable”中写入“1”,以使能传感器“允许”信号;或者从“acc/delay”节点读取当前传感器数据上报的延迟时间。
本申请实施例中,通过在传感器管理模块生成注册成功的消息、且目标传感器为真实传感器的情况下,通过真实传感器模型读取目标传感器的传感器数据,提高了对传感器数据读取的效率。
在一些实施例中,传感器管理模块还可以包括虚拟传感器模型,S140具体包括:
在传感器管理模块生成注册成功的消息、且目标传感器为虚拟传感器的情况下,通过虚拟传感器模型基于与虚拟传感器关联的真实传感器读取虚拟传感器的数据,虚拟传感器模型是由至少一个真实传感器组合以及算法库构成的。
虚拟传感器模型可以包括关联真实传感器列表和算法库,对设备的控制会转变为对与虚拟传感器对应的真实传感器依次发出控制指令,数据监听则是对与虚拟传感器对应的真实传感器进行数据读取。例如,碰撞事件传感器关联的真实传感器为加速度和角速度传感器,通过加速度和角速度传感器读取碰撞事件传感器的数据。
本申请实施例中,通过在传感器管理模块生成注册成功的消息、且目标传感器为虚拟传感器的情况下,通过虚拟传感器模型基于与虚拟传感器关联的真实传感器读取虚拟传感器的数据。这样,可以使对虚拟传感器的数据读取或控制转变为对该虚拟传感器相关联的真实传感器的数据读取或控制,实现了统一对传感器进行数据读取和控制,降低了数据传递的资源消耗。在一些实施例中,该传感器的监听方法还可以包括:
基于与虚拟传感器关联的真实传感器产生的数据,通过算法库中与虚拟传感器对应的算法计算得到目标值,
当目标值超过预设阈值时,生成异常事件信息。
通过算法库中与虚拟传感器对应的算法捕获并计算与虚拟传感器对应的真实传感器产生的数据,得到目标值,在目标值超过预设阈值的情况下,生成异常事件信息,其中,预设阈值可以是用户预先设置的异常事件对应的数值,异常事件信息可以适用于上报至目标应用程序的异常事件对应的提示信息。
由于注册管理模块对于异常事件的监听并不敏感,该实施例实现在传感器管理模块中。
作为一个示例,当碰撞事件对应的虚拟传感器被注册激活时,算法库中该虚拟传感器对应的检测碰撞的算法(如阈值模型),不断捕获加速度和角速度两个真实传感器的数据并计算,判断是否发生碰撞事件,例如计算得到的数值超过预设阈值,此时表征出现碰撞事件,生成提示信息进行上报。
本申请实施例中,通过基于与虚拟传感器关联的真实传感器产生的数据,通过算法库中与虚拟传感器对应的算法计算得到目标值,当目标值超过预设阈值时,生成异常事件信息,这样,可以通过对真实传感器的监听实现对虚拟传感器的监听,便于当发现出现异常事件时进行上报,提高了用户的体验。
在一种实施方式中,该传感器的监听方法还可以包括:
当检测到与虚拟传感器关联的真实传感器发生故障时,将虚拟传感器的工作状态变更为不可用状态。
当检测到真实传感器发生故障时,该真实传感器对应的虚拟传感器也将处于不可用状态,即将虚拟传感器的工作状态变更为不可用状态。
作为一个示例,若检测到加速度和角速度两个真实传感器中任意一个传感器发生故障,则查询到加速度和角速度两个真实传感器对应的碰撞事件的虚拟传感器,将碰撞事件的虚拟传感器的工作状态变更为不可用状态。
本申请实施例中,通过当检测到与虚拟传感器关联的真实传感器发生故障时,将虚拟传感器的工作状态变更为不可用状态。这样,可以实时监听真实传感器的工作状态,并根据真实传感器控制对应的虚拟传感器的工作状态,实现了对虚拟传感器的控制。
在一些实施例中,该传感器的监听方法还可以包括:
通过注册管理模块接收至少两个应用程序对目标传感器发送的第一控制指令和第二控制指令,
在第一控制指令包括使能指令、激活指令、标定指令以及校准指令中的一个,且第二控制指令包括禁用指令或关闭指令的情况下,基于第一控制指令控制目标传感器。
第一控制指令和第二控制指令可以是用于控制目标传感器的使能、激活、标定、校准、禁用以及关闭的指令。若不同的应用程序对同一个传感器发出不同的控制指令,即第一控制指令和第二控制指令,第一控制指令为使能、激活、标定以及校准的指令中的一个,且第二控制指令为禁用或关闭的指令,则第一控制指令和第二控制指令相互矛盾,无法同时实现,需要选择正向指令控制目标传感器,即基于第一控制指令控制目标传感器。
另外,第一控制指令还可以包括设置精度、设置延迟等指令。
作为一个示例,当不同应用程序对同一个传感器发出不同的指令,注册管理模块会首先判断是否可以同时满足要求,如果可以满足则直接对该传感器进行控制,若两个控制指令相互矛盾无法同时满足,则会选择更加积极的指令控制该传感器,然后在注册管理模块对未被执行的指令进行补偿,以保证控制的唯一性。例如,应用程序和应用程序B对同一个传感器分别下达了使能和禁用指令,注册管理模块最终下达的指令为使能,同时对应用程序B表现的该传感器状态为禁用,直至应用程序B下发使能指令后,该应用程序B才可以监听该传感器的数据。
本申请实施例中,通过注册管理模块接收至少两个应用程序对目标传感器发送的第一控制指令和第二控制指令,并在第一控制指令包括使能指令、激活指令、标定指令以及校准指令中的一个,且第二控制指令包括禁用指令或关闭指令的情况下,基于第一控制指令控制目标传感器。这样,在对目标传感器的两个控制指令无法同时满足时,选择更加积极的指令控制目标传感器,可以保证控制的唯一性。
在一些实施例中,该传感器数据的获取方法还可以包括:
在第一控制指令和第二控制指令满足预设条件的情况下,基于第一控制指令和第二控制指令控制目标传感器,
预设条件为第一控制指令和第二控制指令分别包括使能指令、激活指令、标定指令以及校准指令中的一个,
或,
第一控制指令和第二控制指令分别包括禁用指令或关闭指令。
在第一控制指令包括使能指令、激活指令、标定指令以及校准指令中的一个,且第二控制指令包括使能指令、激活指令、标定指令以及校准指令中的一个的情况下,第一控制指令和第二控制指令可以同时满足,此时基于第一控制指令和第二控制指令控制目标传感器;在第一控制指令包括禁用指令或关闭指令,且第二控制指令包括禁用指令或关闭指令的情况下,第一控制指令和第二控制指令可以同时满足,此时基于第一控制指令和第二控制指令控制目标传感器。
本申请实施例中,通过在第一控制指令和第二控制指令满足预设条件的情况下,基于第一控制指令和第二控制指令控制目标传感器,预设条件为第一控制指令和第二控制指令分别包括使能指令、激活指令、标定指令以及校准指令中的一个,或,第一控制指令和第二控制指令分别包括禁用指令或关闭指令。这样,在对目标传感器的两个控制指令可以同时满足时,实现以两个指令控制同时控制目标传感器。
图4示出了本申请实施例提供的电子的硬件结构示意图。
在电子设备可以包括处理器401以及存储有计算机程序指令的存储器402。
具体地,上述处理器401可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器402可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器402可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器402可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器402可在综合网关容灾设备的内部或外部。在特定实施例中,存储器402是非易失性固态存储器。
存储器可包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本公开的一方面的方法所描述的操作。
处理器401通过读取并执行存储器402中存储的计算机程序指令,以实现上述实施例中的任意一种传感器的监听方法。
在一个示例中,电子设备还可包括通信接口403和总线410。其中,如图4所示,处理器401、存储器402、通信接口403通过总线410连接并完成相互间的通信。
通信接口403,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。
总线410包括硬件、软件或两者,将传感器的监听设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线410可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
该电子设备可以基于获取目标应用程序的数据请求,数据请求用于请求读取目标传感器的数据,数据请求包括目标应用程序的标识和目标传感器的标识执行本申请实施例中的传感器的监听方法,从而实现结合图3描述的传感器的监听方法。
另外,结合上述实施例中的传感器的监听方法,本申请实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种传感器的监听方法。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
上面参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程传感器数据的获取装置的处理器,以产生一种机器,使得经由计算机或其它可编程传感器数据的获取装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
以上所述,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。
Claims (11)
1.一种传感器控制系统,其特征在于,所述传感器控制系统包括传感器管理模块,所述传感器管理模块包括真实传感器模型和虚拟传感器模型:
所述传感器管理模块用于获取目标应用程序的注册请求,所述注册请求用于请求注册目标传感器的数据,并在生成注册成功的消息的情况下,读取所述目标传感器的传感器数据,
所述真实传感器模型用于在目标传感器为真实传感器的情况下,读取所述目标传感器的传感器数据,
所述虚拟传感器模型是由至少一个真实传感器组合以及算法库构成的,所述虚拟传感器模型用于在目标传感器为虚拟传感器的情况下,通过与虚拟传感器关联的真实传感器读取所述虚拟传感器的数据,
所述真实传感器模型包括第一引用计数单元,在所述第一引用计数单元的引用计数从零变更为一时,激活真实传感器,在所述第一引用计数单元的引用计数从一变更为零时,关闭真实传感器,
所述虚拟传感器模型包括第二引用计数单元,在所述第二引用计数单元的引用计数从零变更为一时,激活虚拟传感器,在所述第二引用计数单元的引用计数从一变更为零时,关闭虚拟传感器。
2.根据权利要求1所述的系统,其特征在于,所述虚拟传感器模型包括关联真实传感器列表和算法库,
在基于所述关联真实传感器列表未检测到与虚拟传感器关联的真实传感器、和/或所述算法库中不包括与所述虚拟传感器对应的算法的情况下,将所述虚拟传感器从所述关联真实传感器列表中剔除。
3.根据权利要求1所述的系统,其特征在于,所述传感器控制系统还包括注册管理模块,所述注册管理模块用于接收目标应用程序发送的对目标传感器的数据的注册请求,所述注册请求包括目标应用程序的标识、目标传感器的类型和目标处理算法,
所述注册管理模块还用于基于所述注册请求,将所述目标应用程序的标识、目标传感器的类型和目标处理算法的对应关系存储在注册表中,
所述注册管理模块还用于向传感器管理模块发送所述注册请求,并接收传感器管理模块发送的注册成功的消息。
4.根据权利要求3所述的系统,其特征在于,所述注册管理模块还用于检测到回调表中所述目标应用程序注册所述目标传感器的计数为零时,删除所述目标传感器的数据的注册信息,所述回调表包括目标传感器的类型、目标应用程序的标识与所述目标应用程序注册所述目标传感器的计数之间的对应关系,所述注册信息包括所述目标应用程序的标识、目标传感器的类型和目标处理算法。
5.一种传感器的监听方法,其特征在于,所述方法应用于传感器控制系统,所述传感器控制系统包括传感器管理模块和注册管理模块,所述方法包括:
通过注册管理模块接收目标应用程序发送的对目标传感器的数据的注册请求,所述注册请求包括目标应用程序的标识、目标传感器的类型和目标处理算法,
通过注册管理模块基于所述注册请求,将所述目标应用程序的标识、目标传感器的类型和目标处理算法的对应关系存储在注册表中,
通过注册管理模块向传感器管理模块发送所述注册请求,
在所述传感器管理模块生成注册成功的消息的情况下,通过所述传感器管理模块读取所述目标传感器的传感器数据,
根据注册管理模块中的注册表中应用程序的标识、目标传感器的类型和目标处理算法的对应关系,获取与所述目标应用程序的标识和所述目标传感器的类型对应的目标处理算法,
通过注册管理模块基于所述目标处理算法向所述目标应用程序发送所述目标传感器的传感器数据,以实现所述目标应用程序对所述目标传感器的监听。
6.根据权利要求5所述的方法,其特征在于,所述传感器管理模块包括真实传感器模型,所述在所述传感器管理模块生成注册成功的消息的情况下,通过所述传感器管理模块读取所述目标传感器的传感器数据,包括:
在所述传感器管理模块生成注册成功的消息、且所述目标传感器为真实传感器的情况下,通过所述真实传感器模型读取所述目标传感器的传感器数据。
7.根据权利要求5所述的方法,其特征在于,所述传感器管理模块还包括虚拟传感器模型,所述在所述传感器管理模块生成注册成功的消息的情况下,通过所述传感器管理模块读取所述目标传感器的传感器数据,包括:
在所述传感器管理模块生成注册成功的消息、且目标传感器为虚拟传感器的情况下,通过所述虚拟传感器模型基于与虚拟传感器关联的真实传感器读取所述虚拟传感器的数据,所述虚拟传感器模型是由至少一个真实传感器组合以及算法库构成的。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
基于与虚拟传感器关联的真实传感器产生的数据,通过所述算法库中与所述虚拟传感器对应的算法计算得到目标值,
当所述目标值超过预设阈值时,生成异常事件信息。
9.根据权利要求7或8所述的方法,其特征在于,所述方法还包括:
当检测到与所述虚拟传感器关联的真实传感器发生故障时,将所述虚拟传感器的工作状态变更为不可用状态。
10.根据权利要求5所述的方法,其特征在于,所述方法还包括:
通过注册管理模块接收至少两个应用程序对所述目标传感器发送的第一控制指令和第二控制指令,
在所述第一控制指令包括使能指令、激活指令、标定指令和校准指令中的一个,且所述第二控制指令包括禁用指令或关闭指令的情况下,基于所述第一控制指令控制所述目标传感器。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
在所述第一控制指令和所述第二控制指令满足预设条件的情况下,基于所述第一控制指令和所述第二控制指令控制所述目标传感器,
其中,所述预设条件为所述第一控制指令和所述第二控制指令分别包括使能指令、激活指令、标定指令以及校准指令中的一个,
或,
所述第一控制指令和所述第二控制指令分别包括禁用指令或关闭指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211606741.5A CN116305744A (zh) | 2022-12-13 | 2022-12-13 | 传感器控制系统及传感器的监听方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211606741.5A CN116305744A (zh) | 2022-12-13 | 2022-12-13 | 传感器控制系统及传感器的监听方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116305744A true CN116305744A (zh) | 2023-06-23 |
Family
ID=86783994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211606741.5A Pending CN116305744A (zh) | 2022-12-13 | 2022-12-13 | 传感器控制系统及传感器的监听方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116305744A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117131791A (zh) * | 2023-10-27 | 2023-11-28 | 德特赛维技术有限公司 | 一种基于大数据平台的模型评估方法、系统和存储介质 |
-
2022
- 2022-12-13 CN CN202211606741.5A patent/CN116305744A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117131791A (zh) * | 2023-10-27 | 2023-11-28 | 德特赛维技术有限公司 | 一种基于大数据平台的模型评估方法、系统和存储介质 |
CN117131791B (zh) * | 2023-10-27 | 2024-01-23 | 德特赛维技术有限公司 | 一种基于大数据平台的模型评估方法、系统和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11636196B2 (en) | Misuse detection method, misuse detection electronic control unit, and misuse detection system | |
US10277598B2 (en) | Method for detecting and dealing with unauthorized frames in vehicle network system | |
US20190260790A1 (en) | Anomaly detection electronic control unit, onboard network system, and anomaly detection method | |
CN116305744A (zh) | 传感器控制系统及传感器的监听方法 | |
US11444891B2 (en) | Electronic control unit, abnormality determination program, and abnormality determination method | |
US11543488B2 (en) | Optical safety sensor | |
US11841942B2 (en) | Anomaly detection device and anomaly detection method | |
US10966095B2 (en) | Vehicle network intrusion detection device, system including the same, and method thereof | |
JP2019220770A (ja) | 電子制御装置、監視方法、プログラム及びゲートウェイ装置 | |
US11296970B2 (en) | Method for detecting a disruption in a vehicle's communication system by checking for abnormalities in communication | |
CN106274805B (zh) | 汽车电子钥匙及其方法、汽车控制器及其方法、及系统 | |
CN112959860B (zh) | 一种胎压传感器信息处理方法、装置及设备 | |
JP2018166309A (ja) | 車載ネットワークシステム、電子制御装置、通信方法およびコンピュータプログラム | |
CN109963075B (zh) | 智能型运动侦测装置及其相关判断方法 | |
KR20140126360A (ko) | 전기 진단 도구 | |
JP6913869B2 (ja) | 監視装置、監視システムおよびコンピュータプログラム | |
US11144327B2 (en) | Method for operating a control unit, and device having an associated control unit | |
CN114694335B (zh) | 监控控制方法、装置和系统 | |
JP2020506376A (ja) | 存在および不在を判定すること | |
US20230282040A1 (en) | Monitoring apparatus and monitoring method | |
CN113347272B (zh) | 一种报文处理方法、装置、存储介质和设备 | |
US8719482B2 (en) | Electronic device with bus sharing function | |
CN115016434B (zh) | 一种台架和整车数据联动方法以及电子设备 | |
CN112311616B (zh) | 数据通信频率统计方法、装置及存储介质 | |
US20220118990A1 (en) | Electronic control system, device, and method |
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 |