本发明属于数据采集,具体为一种基于状态机原理采集传感器数据的方法。
背景技术:
1、带传感器的终端设备在各行各业以及日常生活中得到了广泛应用,例如手机、遥控器、洗衣机等。这些设备上通常集成了多种传感器,然而,由于传感器的数量和成本限制,获取的数据精度可能会受到影响,从而影响设备功能的正常运行。
2、为了解决这一问题,滤波技术是一种常用且有效的方法。通过对传感器获取的数据进行滤波,可以提升数据的准确性。然而,滤波过程需要额外的计算资源和时间,如果处理器在获取和处理大量传感器数据时占用了过多的时间,会减少对其他业务逻辑的执行时间,进而影响设备的基本功能,无法满足实时性要求。特别是对于数据处理能力较弱的低端处理器来讲,这一问题更加突出。
技术实现思路
1、本发明的目的在于提供一种基于状态机原理采集传感器数据的方法,基于状态机原理的传感器数据采集方法有效解决了上述背景技术中提出这一问题。本方法基于传感器的采集原理,并结合软件的实时操作,在确保其他业务逻辑正常执行的前提下,对传感器数据进行采集、滤波、排序和筛选。这样不仅可以获取更加准确、高效的数据结果,还能降低成本,并具备以下优点:稳定性高、操作简单、灵敏度高且不受外界环境影响。
2、为了实现上述目的,本发明提供如下技术方案:一种基于状态机原理采集传感器数据的方法,利用低端处理器芯片运用状态机原理获取传感器数据;
3、具体过程包括:状态机处理流程、传感器准备处理流程、开启传感器检测流程、查询传感器采集完成状态流程、获取传感器原始数据流程、传感器数据处理流程;
4、各流程分别具体为:
5、(一)状态机处理流程具体为:
6、字符代表的含义如下:
7、status:状态机运行的当前状态;
8、status1:传感器准备状态;
9、status2:开启传感器检测状态;
10、status3:查询传感器采集完成状态;
11、status4:获取传感器原始数据状态;
12、status5:传感器数据处理状态;
13、5个状态分别对应状态机的5个状态或步骤,每次执行一个状态或步骤;
14、(二)传感器准备处理流程具体为:
15、字符代表的含义如下:
16、status:状态机运行的当前状态;
17、status1:传感器准备状态;
18、status2:开启传感器检测状态;
19、count_wakeup:唤醒传感器次数的计数;
20、count_err_wakeup:认定的唤醒传感器失败的计数;
21、具体分步说明:
22、s1,唤醒休眠的传感器;
23、s2,判断传感器是否被唤醒;
24、s3,传感器未被唤醒;status仍为status1;count_wakeup+1;
25、s4,传感器被唤醒;status变为status2;count_wakeup重置为0;
26、s5,判断唤醒传感器次数的计数是否到达认定的唤醒传感器失败的计数;
27、s6,如计数达到,则认定传感器损坏;
28、(三)开启传感器检测流程,具体为:
29、字符代表的含义如下:
30、status:状态机运行的当前状态;
31、status3:查询传感器采集完成状态;
32、具体分步说明:
33、s1,操作传感器开启测量;
34、s2,status变为status3;
35、(四)查询传感器采集完成状态流程,具体为:
36、字符代表的含义如下:
37、status:状态机运行的当前状态;
38、status3:查询传感器采集完成状态;
39、status4:获取传感器原始数据状态;
40、count_detectfinish;检测传感器是否完成测量的次数;
41、count_err_detect:认定传感器检测传失败的计数;
42、具体分步说明:
43、s1,判断传感器是否完成检测;
44、s2,传感器未完成检测;status仍为status3;count_detectfinish+1;
45、s3,传感器完成检测;status变为status4;count_detectfinish重置为0;
46、s4,判断检测传感器是否完成测量的次数是否超过认定传感器检测传失败的计数;
47、s5,如超过计数,则认定传感器损坏;
48、(五)获取传感器原始数据流程,具体为:
49、字符代表的含义如下:
50、status:状态机当前的状态值;
51、status2:开启传感器检测状态;
52、status4:获取传感器原始数据状态;
53、status5:传感器数据处理状态;
54、count_getresult:获取传感器原始数据的次数;
55、count_err_getresult:认定获取传感器原始数据失败的次数;
56、num_effectivedata:有效数据的个数;
57、threshold_effectivedata:有效数据的个数阀值;
58、具体分步说明:
59、s1,获取传感器原始数据;
60、s2,判断是否成功获取传感器原始数据;
61、s3、status仍为status4;count_getresult+1;
62、s4,判断获取的传感器原始数据是否合法;
63、s5,status仍为status4;count_getresult+1;
64、s6,判断获取传感器原始数据的次数是否超过认定获取传感器原始数据失败的次数;
65、s7,如超过次数,则认定传感器损坏;
66、s8,判断有效数据是否超过有效数据的个数阀值;
67、s9,status仍为status4;
68、s10;status变为status5;
69、(六)传感器数据处理流程,具体为:
70、字符代表的含义如下:
71、status:状态机当前的状态值;
72、status1:唤醒休眠的传感器;
73、具体分步说明:
74、s1,对获取的传感器数据进行排序,筛选等处理,得到最终的结果,传感器进入休眠等;
75、s2,将状态机状态值status置为status1。
76、优选的,所述的低端处理器芯片是单片机,所述的单片机其电源电压应保持为5v或3.3v,所述单片机包含时钟电路。
77、优选的,传感器数据包含高精度的特性,所述传感器数据具有范围限制。
78、优选的,传感器数据采集包含数据质量要求,所述传感器数据包含实时性要求。
79、优选的,传感器状态机具有状态定义明确性,所述传感器状态机具有状态转移逻辑清晰性。
80、优选的,业务逻辑包含领域实体定义,所述业务逻辑包含状态业务规则制定。
81、优选的,所述的传感器原始数据包含数据范围限制,所述传感器原始数据具有数据精度要求。
82、优选的,所述的有效数据具有数据稳定性,所述有效数据具有环境适应性。
83、本发明的有益效果如下:
84、在此加入了软件的实时操作,能够在保证其他业务逻辑正常执行的前提下,通过对传感器数据进行采集,滤波,排序,筛选等操作,在获取到更加准确高效的数据结果的同时,还具备稳定性高,操作简单,灵敏度高,不受外界环境影响等优点。
1.一种基于状态机原理采集传感器数据的方法,其特征在于,利用低端处理器芯片运用状态机原理获取传感器数据;
2.根据权利要求1所述的一种基于状态机原理采集传感器数据的方法,其特征在于:所述的低端处理器芯片是单片机,所述的单片机其电源电压应保持为5v或3.3v,所述单片机包含时钟电路。
3.根据权利要求1所述的一种基于状态机原理采集传感器数据的方法,其特征在于:传感器数据包含高精度的特性,所述传感器数据具有范围限制。
4.根据权利要求1所述的一种基于状态机原理采集传感器数据的方法,其特征在于:传感器数据采集包含数据质量要求,所述传感器数据包含实时性要求。
5.根据权利要求1所述的一种基于状态机原理采集传感器数据的方法,其特征在于:传感器状态机具有状态定义明确性,所述传感器状态机具有状态转移逻辑清晰性。
6.根据权利要求1所述的一种基于状态机原理采集传感器数据的方法,其特征在于:业务逻辑包含领域实体定义,所述业务逻辑包含状态业务规则制定。
7.根据权利要求1所述的一种基于状态机原理采集传感器数据的方法,其特征在于:所述的传感器原始数据包含数据范围限制,所述传感器原始数据具有数据精度要求。
8.根据权利要求1所述的一种基于状态机原理采集传感器数据的方法,其特征在于:所述的有效数据具有数据稳定性,所述有效数据具有环境适应性。
