一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于WiFi的数据采集与控制方法及系统与流程

2022-09-03 13:59:22 来源:中国专利 TAG:

基于wifi的数据采集与控制方法及系统
技术领域
1.本发明属于数据传输技术领域,具体而言,涉及基于wifi的数据采集与控制方法及系统。


背景技术:

2.当前物联网技术发展迅速,小到家里的电灯,大到火车飞机的行驶数据,物与物之间数据传输非常重要,数据传输的速率、系统工作的能耗指标以及实时本地数据的存储与上报,成为衡量系统优劣的因素。
3.1.wifi作为传输协议的一种,相较于蓝牙,zigbee等协议有着高速传输的特点,但工作能耗却一直居高不下,无法做到在保持高速传输的情况下兼具超低功耗的性能;
4.2.当前支持wifi低功耗的系统在进入低功耗后,无法保持wifi链路层中ap或station的连接;一方面,系统在唤醒后,无法及时的与ap或者站点(station)进行链路链接,使得整个会话时间被拉长,大大降低了数据传输的实时性;另一方面,由于wifi系统在休眠后的唤醒方式是通过链路层(beacon/信标帧)进行唤醒,会出现其他唤醒源误触发本地系统的唤醒。


技术实现要素:

5.本发明为了解决上述技术问题,提供了基于wifi的数据采集与控制方法及系统。
6.本发明通过以下技术方案实现:
7.第一方面,本公开提供了基于wifi的数据采集与控制方法,包括:
8.预设系统的各个工作状态与各个所述工作状态对应的各个功耗能级;
9.获取所述系统当前时段的所述工作状态与驱动条件;
10.所述系统根据所述当前时段的所述工作状态与所述驱动条件,确定下一时段的所述工作状态;
11.所述控制系统根据各个时段的所述工作状态进行各个时段的工作;
12.由访问接入点ap或外部设备向所述系统定时发送认证请求,保持所述系统的mac层与传输层的链路通信。
13.第二方面,本公开提供了基于wifi的数据采集与控制系统,包括数据采集单元、传输单元、控制管理单元与存储单元;
14.所述数据采集单元通过所述传输单元与所述控制管理单元电信号连接;所述传输单元与所述存储单元、外部设备电信号连接;
15.所述存储单元与所述控制管理单元电信号连接;
16.所述控制管理单元包括功耗管理单元与状态管理单元;
17.所述功耗管理单元包括动态电源管理单元,用于调节系统的功耗能级;所述状态管理单元用于调节系统的工作状态;所述动态电源管理单元与所述状态管理单元信号连接;
18.所述动态电源管理单元包括访问接入点ap、mac层与数据传输层;所述mac层接收所述访问接入点ap或者所述外部设备定时发送的认证请求,保持所述动态电源管理单元的mac层与传输层的链路通信。
19.本发明的有益效果在于:
20.(1)本发明根据驱动条件调整系统的工作状态,系统根据工作状态进行数据传输工作,在数据传输工作完成后,进入休眠状态,实现了系统的功耗的动态调整,达到减少功率损耗的效果;
21.(2)本发明通过对系统定时唤醒,能够保持mac层与传输层的链路通信,使得在唤醒后,能免去链路匹配的时间,进而快速的响应数据与传输数据。
22.在上述技术方案的基础上,本发明还可以做如下改进。
23.进一步,所述工作状态包括第一工作状态、第二工作状态与第三工作状态;所述功耗能级包括第一功耗能级、第二功耗能级与第三功耗能级;所述第一工作状态用于表征所述系统处于第一功耗能级的工作状态;所述第二工作状态用于表征所述系统处于第二功耗能级的工作状态;所述第三工作状态用于表征所述系统处于第三功耗能级的工作状态;所述第一功耗能级小于所述第二功耗能级,并且所述第二功耗能级小于所述第三功耗能级。
24.采用上述进一步方案的有益效果是,在工作过程中,系统不同的工作状态对应的功耗能级不同,根据控制系统的工作状态,实现功耗能级的调节,能够实现系统功耗的动态调整,减少功率损耗。
25.进一步,所述驱动条件为所述系统当前时段的所述工作状态满足设定时间长度或者所述系统接收到外部触发信号。
26.采用上述进一步方案的有益效果是,利用驱动条件与当前工作状态以及系统的数据传输工作完成情况,改变系统的工作状态,实现功耗的实时调整,减少功率损耗。
27.进一步,所述认证请求为广播管理帧或者所述外部设备的控制指令。
28.采用上述进一步方案的有益效果是,通过访问接入点ap定时发送广播管理帧或外部设备定时向系统发送控制指令,定时唤醒系统,避免出现唤醒耗时长,系统不能及时响应的问题。
29.进一步,所述外部触发信号包括网络定时控制信号、外部定时器信号、所述外部设备的周期性电平信号、所述外部设备的周期性引脚信号、所述外部设备的周期性串口信号以及所述外部设备的周期性引脚中断信号。
30.采用上述进一步方案的有益效果是,通过外部触发信号对系统进行唤醒,系统唤醒的方式多样,且简单易实现。
31.进一步,所述数据采集单元包括传感器单元;当所述传感器单元的队列全满或者达到设定数量时,所述传感器单元开启gpio中断,触发所述控制管理单元进行数据接收。
32.采用上述进一步方案的有益效果是,系统接收控制指令,并根据控制指令实现系统的工作状态的调整。
33.进一步,所述传输单元设置有写入单元、缓存单元、定时单元与发送单元;
34.所述写入单元的一端与所述数据采集单元、所述外部设备电信号连接;所述写入单元的另一端与所述缓存单元电信号连接;
35.所述写入单元、所述定时单元均与所述缓存单元电信号连接;所述缓存单元通过
所述发送单元与所述外部设备电信号连接;
36.所述缓存单元将所述数据采集单元采集的数据或者所述外部设备输入的数据保存为本地缓存数据,所述传输单元根据所述系统的工作状态对所述本地缓存数据进行传输,将所述本地缓存数据传输至所述存储单元或者将所述本地缓存数据发送至所述外部设备。
37.采用上述进一步方案的有益效果是,通过设置写入单元与发送单元,实现系统与数据采集单元、外部设备之间的数据连接;通过设置缓存单元防止数据丢失,提高数据传输效率。
38.进一步,所述数据采集单元包括传感器单元;当所述传感器单元的队列全满或者达到设定数量时,所述传感器单元开启gpio中断,触发所述控制管理单元进行数据接收。
39.采用上述进一步方案的有益效果是,控制管理单元根据传感器单元的gpio中断进行数据采集有利于合理利用系统资源。
40.进一步,所述缓存单元对采集的数据进行缓存,得到本地缓存数据;当所述缓存单元的缓存节点到达设定缓存容量后,所述缓存节点将所述本地缓存数据转发至外部存储设备备份,所述缓存节点释放数据传输同步信号,传输线程将对所述本地缓存数据根据私有协议,对所述本地缓存数据的缓存链表进行打包与封装,所述缓存单元将打包与封装后的所述本地缓存数据进行网络传输。
41.采用上述进一步方案的有益效果是,通过设置缓存单元防止数据丢失,提高数据传输效率。
42.进一步,该系统还包括指示单元;所述功耗管理单元与所述状态管理单元分别与所述指示单元电信号连接;所述指示单元用于显示所述系统的功耗能级与所述系统的工作状态。
43.采用上述进一步方案的有益效果是,通过指示单元对系统的功耗能级与工作状态进行显示,便于人员查看系统的工作状态。
附图说明
44.图1为本发明实施例1提供的基于wifi的数据采集与控制方法的原理图;
45.图2为本发明实施例1提供的功耗能级与工作状态变化的示意图;
46.图3为本发明实施例1中访问接入点ap定时发送beacon广播管理帧至mac层的示意图;
47.图4为本发明实施例1中系统的唤醒与休眠状态转换的示意图;
48.图5为本发明实施例2中基于wifi的数据采集与控制系统的原理图;
49.图6为本发明实施例2中传输单元的原理图。
50.图中:1-数据采集单元;2-传输单元;3-控制管理单元;4-存储单元;5-外部设备;6-功耗管理单元;7-状态管理单元;8-写入单元;9-缓存单元;10-定时单元;11-发送单元;s-系统。
具体实施方式
51.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例
中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
52.实施例1
53.作为一个实施例,为解决上述技术问题,本实施例提供基于wifi的数据采集与控制方法,如附图1所示,该方法包括:
54.预设系统s的各个工作状态与各个工作状态对应的各个功耗能级;
55.获取系统s当前时段的工作状态与驱动条件;
56.系统s根据当前时段的工作状态与驱动条件,确定下一时段的工作状态;
57.控制系统s根据各个时段的工作状态进行各个时段的工作;
58.由访问接入点ap或外部设备向系统s定时发送认证请求,保持系统s的mac层与传输层的链路通信。
59.在实际应用过程中,如附图2所示,status1,status2
……
status6
……
为传输单元随着时间进程的工作状态的变化,在不同的工作状态,会启用不同功耗能级,如图中的transfer(传输)能级、basic work(基础工作)能级与idle(空闲)能级。传输单元在休眠状态对应的工作状态为status1,传输单元在休眠状态的功耗能级最小;在系统s开机后,传输单元的工作状态处于status2,在status2的工作状态下,传输单元传根据功耗能级进行数据传输,数据传输量小于在status3的工作状态的数据传输量。传输单元数据准备就绪或者受到外部设备触发,开始进行数据传输工作,传输单元在第三功耗能级即transfer(传输)能级对应的功耗最大。当数据传输工作完成后,传输单元的工作状态status4恢复为第二工作状态,对应功耗能级为第二功耗能级即basic work(基础工作)功耗能级;数据传输工作结束后,在定时器设定时间若无数据传输任务,则传输单元的工作状态status5转为第一工作状态,对应的功耗能级为第一功耗能级即idle(休眠)功耗能级,系统s进入休眠状态,此时系统s功耗最小。采用上述方式,实现了传输单元功耗的动态调整,有利于减少功率损耗。
60.此外,如附图3所示,访问接入点ap定时发送beacon广播管理帧至mac层,以求得mac层的响应,经过基于802.11协议的wifi认证流程后,在mac层建立起链路通信,该链路是wifi传输单元与访问接入点ap认证的必要途径,也是tcp/udp的传输层进行数据传输的必要条件,现有技术传输单元的休眠,在mac层与传输层关闭时,将导致被唤醒后,需要重新建立mac层的链路与传输层的链路,将导致传输单元在整个唤醒过程中,耗时非常长,不能做到及时响应。本发明通过对系统s定时唤醒,保持mac层与传输层的链路通信,能够迅速的唤醒系统s进行数据传输工作。
61.系统s接收控制指令,根据控制指令调整工作状态。
62.本发明的有益效果在于:
63.(1)本发明根据驱动条件调整系统s的工作状态,根据系统s的工作状态进行数据传输工作,在数据传输工作完成后,进入休眠状态,实现了传输单元的功耗的动态调整,达到减少功率损耗的效果;
64.(2)本发明通过对传输单元定时唤醒,能够保持ap与station的链路连接,使得在唤醒后,能免去链路匹配的时间,进而快速的响应数据与传输数据。
65.可选的,工作状态包括第一工作状态、第二工作状态与第三工作状态;功耗能级包
括第一功耗能级、第二功耗能级与第三功耗能级;第一工作状态用于表征系统s处于第一功耗能级的工作状态;第二工作状态用于表征系统s处于第二功耗能级的工作状态;第三工作状态用于表征系统s处于第三功耗能级的工作状态;第一功耗能级小于第二功耗能级,并且第二功耗能级小于第三功耗能级。
66.可选的,驱动条件为系统s当前时段的工作状态满足设定时间长度或者系统s接收到外部触发信号。
67.在实际应用过程中,传输单元改变工作状态需要满足驱动条件,如附图4所示传输单元的唤醒与休眠状态转换的示意图,驱动条件可以是来自传输单元内部环境,也可以是来自外部设备。
68.(1)当驱动条件来自系统s内部环境时,如系统s内部设置的定时器的时间到达设定时间、数据传输准备工作就绪,系统s根据当前的工作状态与数据传输完成情况,决定下一个工作状态;例如:当定时器时间到达设定时间,需要进行数据传输工作时,系统s的工作状态为status3,直到数据传输工作完成,当数据传输工作完成后,系统s的工作状态为status4,当定时器时间再次到达设定时间,无数据传输任务,则系统s的工作状态为status5,系统s进入休眠状态;
69.(2)当驱动条件来自传输单元外部环境时,如系统s接收到外部设备发送的控制指令,改变当前工作状态;可选的,改变当前工作状态为休眠状态,达到强制休眠的效果,或者定时改变系统s的工作状态为休眠状态,达到定时休眠的效果;或者改变当前工作状态为第二工作状态或者第三工作状态,达到强制唤醒的效果。
70.可选的,外部触发信号包括网络定时控制信号、外部定时器信号、外部设备的周期性电平信号、外部设备的周期性引脚信号、外部设备的周期性串口信号以及外部设备的周期性引脚中断信号。
71.在实际应用过程中,通过外部触发信号对系统s进行唤醒,系统s唤醒的方式多样,且简单易实现。
72.可选的,认证请求为广播管理帧或者外部设备的控制指令。
73.在实际应用过程中,通过访问接入点ap定时发送广播管理帧或外部设备定时向系统s发送控制指令,定时唤醒系统s,避免出现唤醒耗时长,系统s不能及时响应的问题。可选的,对系统s定时唤醒的方法为:系统s通过在访问接入点ap设置发送广播管理帧的检测周期,保持mac层与传输层的链路通信,能够避免出现唤醒耗时长,传输单元不能做到及时响应的问题。
74.在实际应用过程中,通过定时唤醒传输单元,保持tcp/udp的传输层通信链路打开,继而实现传输单元的数据交互(包括传输单元接收外部设备的控制指令以及发送数据至外部设备),能够对传输层的数据进行负载解析,以便确定传输单元唤醒后执行的动作,提高了传输单元唤醒的灵活性。
75.可选的,将本地缓存数据传输至外部设备包括:当缓存节点到达设定缓存容量后,缓存节点将采集的数据转发并备份,缓存节点释放数据传输同步信号,传输线程将对本地缓存数据根据私有协议,对本地缓存数据的缓存链表进行打包与封装,将本地缓存数据基于dpm管理架构进行网络传输。
76.在数据接收端,主控mcu以信号量的方式等待缓存数据,当传感器fifo队列的事件
到来后,触发主控mcu响应gpio中断,在gpio中断中,从而释放同步信号,当主控mcu数据接收线程收到同步信号时,开始进行数据缓存,缓存工作如下:
77.(a)收到同步信号,释放信号量,开始创建缓存节点,缓存节点结构包含16个组的数据与当前缓存的时间戳,这里在每次采集数据后加时间戳,是保证数据的实时性,以便后续在数据提取时,可以以此时间戳建立时间轴,拟合时间维度上的数据变化过程,如附图所示。
78.(b)当缓存节点创建完成后,将缓存节点的首地址映射至dma(直接存储器)中,通过dma提取当前的数据;
79.(c)缓存节点后,缓存节点计数加一,根据当前的节点数,决定是否进行转发,当前的节点数达到设定值,则进行转发,否则不进行转发,转发的目的一种是上传服务器,另一种是转发到外部存储设备(如sd卡)备份。
80.数据备份,即是当传感器数据产生后,当缓存节点到达一定数量后,开始进行数据备份过程,sd卡与主控通信采用sdio协议进行,使用6线制进行数据传输,sd卡存储工作以存储空间和存储时间2个维度进行,使其能够快速,实时的对数据进行备份,当用户需要读取数据时,可以按照指令进行备份查阅。
81.存储空间:在sd卡中,可选的,以1mb大小作为第一个文件进行创建,按照一个sd卡存储为512mb的大小进行划分,保守划分460个文件进行数据存储,当一个文件存储数据大小超过1mb后,开始在下一个文件进行存储,当最后一个文件存储满了之后,开始覆盖第一个文件,如此进行循环存储,循环覆盖的功能。如果仅仅使用一个文件进行统一存储,等待存储量达到一定容量后,每次存储一次,遍历当前存储位置所花费的时间是非常长的,因此,以多个文件的方式统一存储便于索引,节约写入数据的时间,这种情况同样适用于下一次系统s开机的时候,多文件索引能够快速定位上次存储的文件与位置,节约了整个系统s的时间。
82.存储时间:在主控中,一次完整的数据备份过程包括:打开存储、写入数据与关闭存储,当整个过程中,没有关闭存储这个过程,无论存储多少数据sd卡最终都没有保存写入的数据,但在快速的数据流存储中,频繁的进行一个完整的存储过程,即打开存储与关闭存储,实际非常耗费存储时间,以4k采样率,10个节点为例子,每40ms需要进行一次存储操作,这样频繁地打开/关闭sd卡,产生了大量的存储时间,因此,我们需要在打开sd卡后,按照设定的时间作为节点,在这个时间段里,仅执行写入操作,当大于这个时间段,开始执行关闭sd卡,以实现保存数据。这样既能保证写入数据的时间,又能最大程度的备份数据,从而不被意外丢失(如断电,宕机等)。
83.针对数据备份的最大支持时间,例如以4k采样率进行采样,每4ms产生16组数据即148byte,每1s产生37k个字节,以sd卡480m计算,在不休眠,一直工作的情况下,可以保存3.6个小时的数据,即可以备份到前3.6个小时数据;如果有休眠操作,可以备份的时间维度可以更久。
84.实施例2
85.基于与本发明的实施例1中所示的方法相同的原理,本发明的实施例中还提供了基于wifi的数据采集与控制系统s,如附图5所示,该系统s包括数据采集单元1、传输单元2、控制管理单元3与存储单元4;
86.数据采集单元1通过传输单元2与控制管理单元3电信号连接;传输单元2与存储单元4、外部设备5电信号连接;
87.存储单元4与控制管理单元3电信号连接;
88.控制管理单元3包括功耗管理单元6与状态管理单元7;
89.功耗管理单元6包括动态电源管理单元,用于调节系统s的功耗能级;状态管理单元7用于调节系统s的工作状态;动态电源管理单元与状态管理单元7信号连接;
90.动态电源管理单元包括访问接入点ap、mac层与数据传输层;mac层接收访问接入点ap或者外部设备5定时发送的认证请求,保持动态电源管理单元的mac层与传输层的链路通信。
91.可选的,数据采集单元1包括传感器单元;当传感器单元的队列全满或者达到设定数量时,传感器单元开启gpio中断,触发控制管理单元3进行数据接收。
92.在实际应用过程中,数据采集单元1采用传感器如重力传感器等。
93.功耗管理单元6包括dpm管理单元,状态管理单元7检测系统s的工作状态,将系统s的工作状态反馈给dpm管理单元;当功耗管理单元6切换工作状态后,dpm管理单元改变功耗能级至该工作状态对应的功耗能级。
94.传感器与主控mcu以i2c的连接方式进行通信,通过传感器的gpio中断触发主控mcu进行数据采集,在传感器端,按照ad357传感器的功能属性,内部约有96个的轴数据的fifo队列,ad357为三轴传感器,因此,当fifo队列溢出时,最多可以存储96/3=32组三轴数据,以下有两种可执行的溢出事件:
95.(1)当fifo队列全满时,进行中断,通知主控mcu进行数据采集;
96.(2)当fifo队列未达到全满但达到设定数量时,进行中断,主控mcu进行数据采集。
97.考虑到传感器采样率较高,且传感器数据存储产生方式以流模式进行存数,全满触发,会丢失数据,因此,以第(2)种方式进行数据触发事件,且fifo溢出事件设置为fifo全满的1/2,即以16组3轴数据为一个采集节点单位。采样的单位计算方法包括:一个单轴数据,字长为3个字节;一组数据:包含x、y、z三轴数据,即3x3=9个字节;一次采集:包含16组数据,即16x9=144个字节;传输速率上,ad357支持i2c的高速传输速率(3.4mhz bit/s=425kb/s),以传感器的4k最高采样率来算,4k*9byte(一组数据9byte)=36kb/s的传输速率来说,满足要求。控制管理单元3根据传感器单元的gpio中断进行数据采集有利于合理利用系统s资源。
98.可选的,如附图6所示,传输单元2设置有写入单元8、缓存单元9、定时单元10与发送单元11;
99.写入单元8的一端与数据采集单元1、外部设备5电信号连接;写入单元8的另一端与缓存单元9电信号连接;
100.写入单元8、定时单元10均与缓存单元9电信号连接;缓存单元9通过发送单元11与外部设备5电信号连接;
101.缓存单元9将数据采集单元1采集的数据或者外部设备5输入的数据保存为本地缓存数据,传输单元2根据系统s的工作状态对本地缓存数据进行传输,将本地缓存数据传输至存储单元4或者将本地缓存数据发送至外部设备5。
102.在实际应用过程中,通过设置写入单元8与发送单元11,实现系统s与数据采集单
元1、外部设备5之间的数据连接;通过设置缓存单元9防止数据丢失,提高数据传输效率。可选的,数据采集单元1通过i2c协议与传输单元2电信号连接。
103.可选的,缓存单元9对采集的数据进行缓存,得到本地缓存数据;当缓存单元9的缓存节点到达设定缓存容量后,缓存节点将本地缓存数据转发至外部存储设备备份,缓存节点释放数据传输同步信号,传输线程将对本地缓存数据根据私有协议,对本地缓存数据的缓存链表进行打包与封装,缓存单元9将打包与封装后的本地缓存数据进行网络传输。通过设置缓存单元9防止数据丢失,提高数据传输效率。
104.可选的,该系统s还包括指示单元;功耗管理单元6与状态管理单元7分别与指示单元电信号连接;指示单元用于显示系统s的功耗能级与系统s的工作状态。
105.在实际应用过程中,通过指示单元对系统s的功耗能级与工作状态进行显示,便于人员查看系统s的工作状态。
106.可选的,缓存单元9加载有文件系统s。
107.在实际应用过程中,缓存单元9加载文件系统s,如fat32文件系统s或fat16文件系统s,使得传输单元2在数据传输完成后,方便快捷的导出存储单元4的数据,实现数据网络导出或者外部硬件设备导出;使得在传输单元2能够挂载更大容量的内存。
108.可选的,传输单元2设置还设置有指示处理器与定时器,用于指示传输单元2的工作状态;控制处理器与指示处理器电信号连接;指示处理器与定时器电信号连接。
109.在实际应用过程中,传输单元2的工作工作状态构成一个个可以组合的事件,通过led显示的过程,能够表征多种工作状态,如:当一个led执行亮/灭操作,它只能表征两种工作状态,当引入定时器,将led的指示过程化,那它可以表征多种工作状态,比如常亮、常灭、快闪、慢闪、亮5s后灭,或者其他,这样的过程表征方法,可以更加有效地指示传输单元2内部的工作状态。
110.背景与前景指示:背景指示是一个循环过程,是持续性、周期性的执行一种指示状态,前景指示是一次性的过程,优先级高于背景指示,当前景指示完成后,继续执行背景指示,如wifi站点连接成功后执行慢闪(背景指示),周期循环的进行,当socket网络连接成功后,执行常亮5s(前景指示),前景指示覆盖背景指示,执行完5s常亮后,继续指示慢闪状态。通过设置有指示处理器与定时器,用于指示传输单元2的工作状态,可以更加有效地指示传输单元2内部的状态。
111.以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献