发明内容
鉴于所述问题,提出了本申请以便提供克服所述问题或者至少部分地解决所述问题的一种多模式数据采集方法及系统,包括:
一种多模式数据采集方法,所述方法用于网关对终端设备进行数据采集;
所述方法包括;
获取接入网络的网络参数,并依据所述网络参数类型确定所述接入网络的网络类型;其中,所述网络类型包括移动网络模式和以太网模式;
依据所述网络类型和所述网路参数确定接入的终端设备是否进入就绪状态;
当所述终端设备进入就绪状态时,对所述终端设备进行时钟同步,并对所述终端设备数据进行采集。
进一步的,所述获取接入网络的网络参数,并依据所述网络参数类型确定所述接入网络的网络类型的步骤包括:
对系统参数进行初始化,获得SPI通道参数或MODEM通道参数,其中,所述SPI通道参数和所述MODEM通道参数为互斥的有效数据;
当所述SPI通道参数有效时,所述接入网络的网络类型确定为以太网模式;当所述MODEM通道参数有效时,所述接入网络的网络类型确定为移动网络模式。
进一步的,所述依据所述网络类型和所述网络参数确定接入的终端设备是否进入就绪状态的步骤,包括:
当所述网络类型为所述移动网络模式时,确定对应于所述移动网络模式的通信波特率,并向MQTT服务端发送注册请求;其中,MQTT服务端用于完成网络注册并返回完成信息;
当接到注册完成信息,则登录MQTT服务端并获取MQTT服务端发送的移动网络就绪报告;
依据所述移动网络就绪报告和预设的信道参数、功率参数以及速度参数的网络参数,确定接入的终端设备是否进入就绪状态;
或,
依据所述以太网模式,从系统中的存储单元获取预设的flash文件;
依据预设的flash文件配置IP地址、网关、端口模式、端口号以及NTP服务端地址,获得以太网就绪报告;
依据所述以太网就绪报告,检测并确定接入的终端设备是否进入就绪状态。
进一步的,当所述终端设备进入就绪状态时,对所述终端设备进行时钟同步,并对所述终端设备数据进行采集的步骤,包括:
当所述终端设备进入就绪状态时,获取NTP时钟数据,并依据所述NTP时钟数据,对所述终端设备进行NTP时钟同步;
依据同步的NTP时钟,对所述终端设备数据以轮询方式进行采集。
进一步的,还包括:当终端设备未进入就绪状态,则依据所述网络参数,等待终端设备入网,并重新检测已入网的所述终端设备是否进入就绪状态。
进一步的,所述当所述终端设备进入就绪状态时,对所述终端设备进行时钟同步,并对所述终端设备数据进行采集之后的步骤,还包括:
上报采集的终端设备数据至云端。
进一步的,所述工作模式还包括有线网络模式、NB-IoT通信网络模式和ZigBee网络模式。
进一步的,所述移动网络模式包括4G网络模式和5G网络模式。
一种多模式数据采集系统,所述系统用于网关对终端设备进行数据采集;
所述系统包括:
网络确定模块,用于获取接入网络的网络参数,并依据所述网络参数类型确定所述接入网络的网络类型;
状态确定模块,用于依据所述网络类型和所述网络参数确定接入的终端设备是否进入就绪状态;
数据采集模块,用于当所述终端设备进入就绪状态时,对所述终端设备进行时钟同步,并对所述终端设备数据进行采集。
一种设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的多模式数据采集方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的多模式数据采集方法的步骤。
本申请具有以下优点:
在本申请的实施例中,通过获取接入网络的网络参数,并依据所述网络参数类型确定所述接入网络的网络类型;其中,所述网络类型包括移动网络模式和以太网模式;依据所述网络类型和所述网络参数确定接入的终端设备是否进入就绪状态;当所述终端设备进入就绪状态时,对所述终端设备进行时钟同步,并对所述终端设备数据进行采集。通过上述方法解决现有技术中使用RS232,RS485有线方式采集受到布线的限制,以及使用固定IP地址,不能随意配置网络参数,使用不够灵活。多模式采集数据,组网灵活,从而实现数据的灵活采集,使用LoRa无线方式通信,距离长、范围广,不受数据传输线缆的制约。
具体实施方式
为使本申请的所述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请任一实施例中,MQTT(Message Queuing TelemetryTransport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,适用于物联网、小型设备、移动应用等;LoRa(Long Range Radio,远距离无线电),其最大特点就是在同样的功耗条件下比其他无线方式传播的距离更远,实现了低功耗和远距离的统一,它在同样的功耗下比传统的无线射频通信距离扩大3-5倍;NTP(NetworkTime Protocol,网络时间协议)被广泛用于将计算机同步到Internet时间服务器或其他来源;SPI(Serial Peripheral Interface,串行外设接口)是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,越来越多的芯片集成了这种通信协议,比如AT91RM9200;flash是也叫闪存,它是可读写的存储器,在系统重新启动或关机之后仍能保存数据,其内部可存储firmware(固件),通常用于嵌入式领域,泛指运行于硬件之上的操作系统软件,刷固件或者更新固件是指删除原系统,更换新的系统软件。
解决现有技术中使用RS232,RS485有线方式采集受到布线的限制,以及使用固定IP地址,不能随意配置网络参数,使用不够灵活。使用LoRa无线方式通信,距离长、范围广,不受数据传输线缆的制约。
参照图1,示出了本申请一实施例提供的一种多模式数据采集方法;
所述方法包括:
S110、获取接入网络的网络参数,并依据所述网络参数类型确定所述接入网络的网络类型;其中,所述网络类型包括移动网络模式和以太网模式;
S120、依据所述网络类型和所述网络参数确定接入的终端设备是否进入就绪状态;
S130、当所述终端设备进入就绪状态时,对所述终端设备进行时钟同步,并对所述终端设备数据进行采集。
在本申请的实施例中,获取接入网络的网络参数,并依据所述网络参数类型确定所述接入网络的网络类型;其中,所述网络类型包括移动网络模式和以太网模式;依据所述网络类型和所述网络参数确定接入的终端设备是否进入就绪状态;当所述终端设备进入就绪状态时,对所述终端设备进行时钟同步,并对所述终端设备数据进行采集。通过上述方法解决现有技术中使用RS232,RS485有线方式采集受到布线的限制,以及使用固定IP地址,不能随意配置网络参数,使用不够灵活。多模式采集数据,组网灵活,从而实现数据的灵活采集,使用LoRa无线方式通信,距离长、范围广,不受数据传输线缆的制约。
下面,将对本示例性实施例中一种多模式数据采集方法作进一步地说明。
如所述步骤S110获取接入网络的网络参数,并依据所述网络参数类型确定所述接入网络的网络类型。
在本申请一实施例中,可以结合下列描述进一步说明步骤S110所述“获取接入网络的网络参数,并依据所述网络参数类型确定所述接入网络的网络类型”的具体过程。
如下列步骤所述对系统参数进行初始化,获得SPI通道参数或MODEM通道参数,其中,所述SPI通道参数和所述MODEM通道参数为互斥的有效数据;
如下列步骤所述,当所述SPI通道参数有效时,所述工作模式确定为以太网模式。
作为一种示例,所述SPI通道参数包括的SPI_SCK数据,SPI_MISO数据以及SPI_MOSI数据;所述MODEM通道参数包括MODEM_TX数据以及MODEM_RX数据,当SPI通道参数有效时,MODEM通道参数为无效数据;当MODEM通道参数为有效数据时,述工作模式确定为移动网络模式,SPI通道参数为无效数据,使之在同一时刻仅使用一种模式,关闭另外一种模式,从而在达到多模式下,实现节能的技术效果。
需要说明的是,通过SPI通道,使以太网模式在通信时,保障通信的速度和通信效率。
在本申请一实施例中,如所述步骤S120所述,依据所述网络类型和所述网络参数确定接入的终端设备是否进入就绪状态。
如下列步骤所述,当所述网络类型为所述移动网络模式时,确定对应于所述移动网络模式的通信波特率,并向MQTT服务端发送注册请求;其中,MQTT服务端用于完成网络注册并返回完成信息;当接到注册完成信息,则登录MQTT服务端并获取MQTT服务端发送的移动网络就绪报告;依据所述移动网络就绪报告和预设的信道参数、功率参数以及速度参数的网络参数,确定接入的终端设备是否进入就绪状态;
在本申请一实施例中,依据所述网络类型和所述网络参数确定接入的终端设备是否进入就绪状态。
如下列步骤所述,依据所述以太网模式,从系统中的存储单元获取预设的flash文件;依据预设的flash文件配置IP地址、网关、端口模式、端口号以及NTP服务端地址,获得以太网就绪报告;依据所述以太网就绪报告,检测并确定接入的终端设备是否进入就绪状态。
在一具体实施例虽,通过配置好网络参数的网络,解析flash文件,并依据解析后的所述flash文件,配置所述网关LoRa模组的通信参数,其中,所述通信参数包括信道、功率、速度参数;依据所述通信参数,检测已入网的所述终端设备,若存在已入网的终端设备,则确认入网的终端设备,并接收就绪状态。
作为一种示例,例如通过解析存储在flash存储器中的配置文件,获得配置参数项,通过配置参数项的具体参数,完成网络参数配置,例如,配置网络IP地址段为C类的192.168.0.0/24的地址、通信速度为4Mbps等,在该地址范围内,扫描信道中是否检测到已入网的设备;若存在已入网的终端设备,则确认入网的终端设备,并接收就绪状态。
需要说明的是,通过两种模式中的任一种实现数据采集时,当网络模式为移动网络时,则配置该网络模式下的通信波特率,并注册网络;依据注册结果确认连接状态,并登录MQTT服务端,获得配置好网络参数的移动网络;当所述网络模式为以太网模式时,则从系统中的存储单元获取预设的flash文件;依据所述flash文件配置IP地址、网关、端口模式、端口号以及NTP服务端地址,获得配置好网络参数的以太网络;其中,flash文件包括存储在flash存储器中的配置文件;通过NTP服务地址,获得同步时钟,从而使系统运行的时钟与网络时钟同步。
如所述步骤S130所述当所述终端设备进入就绪状态时,对所述终端设备进行时钟同步,并对所述终端设备数据进行采集。
在本申请一实施例中,可以结合下列描述进一步说明步骤S130所述“当所述终端设备进入就绪状态时,对所述终端设备进行时钟同步,并对所述终端设备数据进行采集”的具体过程。
当所述终端设备进入就绪状态时,获取NTP时钟数据,并依据所述NTP时钟数据,对所述终端设备进行NTP时钟同步;依据同步的NTP时钟,对所述终端设备数据以轮询方式进行采集。
在本申请一实施例中,还包括:当终端设备未进入就绪状态,则依据所述网络参数,等待终端设备入网,并重新检测已入网的所述终端设备是否进入就绪状态。
在上述实施例中,当不存在已入网的终端设备时,依据通信参数例如,设置的通信信道进行检测,等待终端设备入网;若系统中有新加入的设备,此时,检测通信信道时便能检测到设备,并更新已入网的设备列表,然后检测入设备列表中的已入网设备状态是否正常,以及是否为就绪状态。
在本申请一实施例中,当所述终端设备进入就绪状态时,对所述终端设备进行时钟同步,并对所述终端设备数据进行采集之后还包括:通过所述配置好网络参数的网络,周期性上报采集的终端设备数据至云端。
上述实施例中,通轮询方式查询终端设备数据,依序询问每一个终端设备的数据并进行采集,采集结束后再访问下一个终端设备,接着不断周而复始,使得对终端设备数据的采集无遗漏;通过上传采集的终端设备数据至云端,从而保障数据的可能被远端网络访问、下载,通过云端存储还使数据不会因本地存储设备故障造成数据丢失的风险。
在本申请一实施例中,所述工作模式还包括有线网络模式、NB-IoT通信网络模式和ZigBee网络模式。
上述实施例中,通过有线网络模式、NB-IoT通信网络模式和ZigBee网络模式模式使得本申请应用于网关对终端设备进行数据采集,可以支持更多的模式,使其网络连接方式更为灵活。
在本申请一实施例中,所述移动网络模式包括4G网络模式和5G网络模式。由于4G的速度能达到10-100Mbp,通过4G网络能够保障网络的速率;还能够支持5G模式,当需要更高要求的网络响应时,可将移动网络模式设定5G模式,从而使其能适应更大数据量的需求。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
示出了本申请一实施例提供的一种多模式数据采集系统;所述系统用于网关对终端设备进行数据采集;
所述系统具体包括:
网络确定模块210,用于获取接入网络的网络参数,并依据所述网络参数类型确定所述接入网络的网络类型;
状态确定模块220,用于依据所述网络类型和所述网络参数确定接入的终端设备是否进入就绪状态;
数据采集模块230,用于当所述终端设备进入就绪状态时,对所述终端设备进行时钟同步,并对所述终端设备数据进行采集。
在本申请一实施例中,所述参数初始化模块210,包括:
初始化子模块,用于对系统参数进行初始化,获得SPI通道参数或MODEM通道参数,其中,所述SPI通道参数和所述MODEM通道参数为互斥的有效数据;当所述SPI通道参数有效时,所述接入网络的网络类型确定为以太网模式;当所述MODEM通道参数有效时,所述接入网络的网络类型确定为移动网络模式。
在本申请一实施例中,所述网络配置模块220,包括:
第一网络子模块,用于当所述网络类型为所述移动网络模式时,确定对应于所述移动网络模式的通信波特率,并向MQTT服务端发送注册请求;其中,MQTT服务端用于完成网络注册并返回完成信息;
第一信息处理子模块,用于当接到注册完成信息,则登录MQTT服务端并获取MQTT服务端发送的移动网络就绪报告;
第一状态确认子模块,用于依据所述移动网络就绪报告和预设的信道参数、功率参数以及速度参数的网络参数,确定接入的终端设备是否进入就绪状态。
在本申请一实施例中,所述网络配置模块220,还包括:
第二网络子模块,用于依据所述以太网模式,从系统中的存储单元获取预设的flash文件;
第二信息处理子模块,用于依据预设的flash文件配置IP地址、网关、端口模式、端口号以及NTP服务端地址,获得以太网就绪报告;
第二状态确认子模块,用于依据所述以太网就绪报告,检测并确定接入的终端设备是否进入就绪状态。
在本申请一实施例中,所述状态检测模块230,包括:
时钟同步子模块,用于当所述终端设备进入就绪状态时,获取NTP时钟数据,并依据所述NTP时钟数据,对所述终端设备进行NTP时钟同步;
数据采集子模块,用于依据同步的NTP时钟,对所述终端设备数据以轮询方式进行采集。
在本申请一实施例中,还包括,上报模块,用于通过所述配置好网络参数的网络,周期性上报采集的终端设备数据至云端。
参照图3,示出了本申请的一种多模式数据采集方法的计算机设备,具体可以包括如下:
上述计算机设备12以通用计算设备的形式表现,计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,内存28,连接不同系统组件(包括内存28和处理单元16)的总线18。
总线18表示几类总线18结构中的一种或多种,包括存储器总线18或者存储器控制器,外围总线18,图形加速端口,处理器或者使用多种总线18结构中的任意总线18结构的局域总线18。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线18,微通道体系结构(MAC)总线18,增强型ISA总线18、音视频电子标准协会(VESA)局域总线18以及外围组件互连(PCI)总线18。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
内存28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器30和/或高速缓存存储器32。计算机设备12可以进一步包括其他移动/不可移动的、易失性/非易失性计算机体统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(通常称为“硬盘驱动器”)。尽管图3中未示出,可以提供用于对可移动非易失性磁盘(如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质界面与总线18相连。存储器可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块42,这些程序模块42被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其他程序模块42以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本申请所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24、摄像头等)通信,还可与一个或者多个使得操作人员能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其他计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过I/O接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN)),广域网(WAN)和/或公共网络(例如因特网)通信。如图3所示,网络适配器20通过总线18与计算机设备12的其他模块通信。应当明白,尽管图3中未示出,可以结合计算机设备12使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元16、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统34等。
处理单元16通过运行存储在内存28中的程序,从而执行各种功能应用以及数据处理,例如实现本申请实施例所提供的一种多模式数据采集方法。
也即,上述处理单元16执行上述程序时实现:对系统参数进行初始化,并依据所述初始化的参数确定工作模式,其中,所述工作模式包括,移动网络模式和以太网模式;依据所述移动网络模式或所述以太网模式,对网络进行初始化,获得配置好网络参数的网络;通过配置好网络参数的网络,初始化网关LoRa模组,并确认所述网关LoRa模组中的终端设备进入就绪状态;通过所述网关LoRa模组,获取NTP时钟数据;并依据所述NTP时钟数据,对所述网关和所述终端设备进行时钟同步;通过轮询方式对所述终端设备数据进行采集。
在本申请一实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有实施例提供的一种多模式数据采集方法。
也即,给程序被处理器执行时实现:对系统参数进行初始化,并依据所述初始化的参数确定工作模式,其中,所述工作模式包括,移动网络模式和以太网模式;依据所述移动网络模式或所述以太网模式,对网络进行初始化,获得配置好网络参数的网络;通过配置好网络参数的网络,初始化网关LoRa模组,并确认所述网关LoRa模组中的终端设备进入就绪状态;通过所述网关LoRa模组,获取NTP时钟数据;并依据所述NTP时钟数据,对所述网关和所述终端设备进行时钟同步;通过轮询方式对所述终端设备数据进行采集。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言——诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在操作人员计算机上执行、部分地在操作人员计算机上执行、作为一个独立的软件包执行、部分在操作人员计算机上部分在远程计算机上执行或者完全在远程计算机或者服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到操作人员计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种多模式数据采集方法及系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。