CN108601049B - 一种通信多层状态控制方法及系统 - Google Patents
一种通信多层状态控制方法及系统 Download PDFInfo
- Publication number
- CN108601049B CN108601049B CN201810388017.7A CN201810388017A CN108601049B CN 108601049 B CN108601049 B CN 108601049B CN 201810388017 A CN201810388017 A CN 201810388017A CN 108601049 B CN108601049 B CN 108601049B
- Authority
- CN
- China
- Prior art keywords
- data
- network
- buffer area
- communication
- detecting
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/10—Flow control between communication endpoints
- H04W28/14—Flow control between communication endpoints using intermediate storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/16—Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
- H04W28/18—Negotiating wireless communication parameters
- H04W28/22—Negotiating communication rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种通信多层状态控制方法,S1:对通信链路进行初始化并检测通信设备状态;S2:检测注册运营商网络,探测信号强度并接受运营商APN名称;S3:维护与服务器的TCP/IP网络连接,PDP上下文环境使能,配置默认PDP环境注册码,打开包交换网络,获得本机地址并与服务器建立连接;S4:在规定间隔的时间内检测网络传输模式,将采集的数据存放到缓冲区中,在数据存储完成后如果由于网络传输速率过低没有将缓冲区中的数据发送出去,则根据最新的采集数据对缓冲区中的数据进行更新,同时根据网络传输模式的相应传输速率,将缓冲区中的数据按相同频率通过网络发送出去。
Description
技术领域
本发明涉及一种通信多层状态控制方法及系统。
背景技术
物联网设备的主要功能就是通信,其在采集数据后,一般要通过运营商网络发送数据,在PCB板上,一般做成通信模块,通过uart总线发送AT命令的形式与MCU(微控制器)进行联系。而目前市面上常见的模块是基于GPRS或3G的网络功能,但随着应用环境的升级,越来越多的系统要求大量的数据采集传输,需要有更高传输速率的通信方法。
许多方案提出了用LTE模块进行数据传输,这样可以利用5G/LTE的高速数据通路进行数据通信,市面上也有许多基于LTE的模块,它们基本上利用类似传统GPRS/3G的方式对5G/LTE进行操作,只是速度更快一些。
但是在LTE通信时,个别信号较差的区域会出现降级现象,有LTE通信降到3G甚至GPRS进行传输,而数据源的产生速度还是按LTE通信的速度进行,造成数据的累积无法发送。另外有些恶劣的通信环境下会导致通信断路,如果处理不好,终端会失去与服务器的连接,所以必须有一种能够回退,重连的机制,使终端能够与服务器建立连接。
发明内容
为克服现有技术问题,本发明提供一种通信多层状态控制方法及系统。
一种通信多层状态控制方法,
S1:通过MCU对通信链路进行初始化并检测通信设备状态;
S2:通过通信链路层状态机检测注册运营商网络,探测信号强度并接受运营商APN名称;
S3:通过通信链路层状态机维护与服务器的TCP/IP网络连接,PDP上下文环境使能,配置默认PDP环境注册码,打开包交换网络,获得本机地址并与服务器建立连接;
S4:通过判断器在规定间隔的时间内检测网络传输模式,并利用working调度器将采集的数据存放到缓冲区中,在数据存储完成后如果由于网络传输速率过低没有将缓冲区中的数据发送出去,则根据最新的采集数据对缓冲区中的数据进行更新,同时根据网络传输模式的相应传输速率,将缓冲区中的数据按相同频率通过网络发送出去。
优选的是,每个采集设备采集的数据存放到缓冲区对应的位置中并持续更新。
优选的是,所述网络传输模式包括5G/LTE、3G和GPRS。
优选的是,对通信链路进行初始化时如果通信设备中的一个没有正常打开则重启通信设备。
优选的是,对采集的数据进行筛选,减少单位时间内采集端的数据,并将数据存放到缓冲区中,以减少缓冲区存储的数据字节数的大小。
一种通信多层状态控制系统,
包括网络发送端和信息配置端;
所述网络发送端用于对通信链路进行初始化并检测通信设备状态,检测注册运营商网络,探测信号强度并接受运营商APN名称;维护与服务器的TCP/IP网络连接,PDP上下文环境使能,配置默认PDP环境注册码,打开包交换网络,获得本机地址并与服务器建立连接;
所述信息配置端用于在规定间隔的时间内检测网络传输模式,将采集的数据存放到缓冲区中,在数据存储完成后如果由于网络传输速率过低没有将缓冲区中的数据发送出去,则根据最新的采集数据对缓冲区中的数据进行更新,同时根据网络传输模式的相应传输速率,将缓冲区中的数据按相同频率通过网络发送出去。
优选的是,每个采集设备采集的数据存放到缓冲区对应的位置中并持续更新。
优选的是,所述网络传输模式包括5G/LTE、3G和GPRS。
优选的是,对通信链路进行初始化时如果通信设备中的一个没有正常打开则重启通信设备。
优选的是,对采集的数据进行筛选,减少单位时间内采集端的数据,并将数据存放到缓冲区中,以减少缓冲区存储的数据字节数的大小。
本发明的有益效果:
本发明提供的通信多层状态控制方法及系统,通过将数据与相应的通信模式相匹配,根据通信模式确定通信速率,并对缓冲区种的数据持续更新,根据通信速率将缓冲区种的数据发送出去,实现数据发送的优化,防止在低传输速率下数据堵塞造成系统瘫痪。
附图说明
图1为本发明的通信多层状态控制方法及系统的总状态机工作示意图;
图2为本发明的通信多层状态控制方法及系统的通信链路层子状态机工作示意图;
图3为本发明的通信多层状态控制方法及系统的working子状态机工作示意图;
图4为本发明的通信多层状态控制方法及系统的数据传送队列工作示意图;
图5为本发明的通信多层状态控制方法及系统的working流程示意图;
图6为本发明的通信多层状态控制方法及系统的系统结构示意图。
具体实施方式:
下面结合附图对本发明做进一步说明:本发明基于LTE模块的多层状态机控制机制,通过AT命令对LTE模块进行操作,在主控MCU芯片上运行一个多层状态机,该状态机始终保持着对整体运行流程的管控。MCU上会有多种数据来源,在单位时间内形成发送队列,通过LTE模块发送给服务器。
一种通信多层状态控制方法,
S1:通过MCU对通信链路进行初始化并检测通信设备状态;
S2:通过通信链路层状态机检测注册运营商网络,探测信号强度并接受运营商APN名称;
S3:通过通信链路层状态机维护与服务器的TCP/IP网络连接,PDP上下文环境使能,配置默认PDP环境注册码,打开包交换网络,获得本机地址并与服务器建立连接;
S4:通过判断器在规定间隔的时间内检测网络传输模式,并利用working调度器将采集的数据存放到缓冲区中,在数据存储完成后如果由于网络传输速率过低没有将缓冲区中的数据发送出去,则根据最新的采集数据对缓冲区中的数据进行更新,同时根据网络传输模式的相应传输速率,将缓冲区中的数据按相同频率通过网络发送出去。
发送缓冲区为固定大小,每个数据源都有自身的缓冲区,如can总线缓冲区,uart缓冲区,在发送的时刻,MCU会把数据源缓冲区的数据拷贝到发送缓冲区,每个数据源能够拷贝到发送缓冲区的大小有上限,如can总线缓冲区能够拷贝到发送缓冲区的最大长度为600字节。
当通信模式为5G/LTE时,发送的频率较高,数据缓冲区每次收满数据时,都能及时赶上发送的时间点,这些数据会拷贝到发送缓冲区并发送出去。如果通信模式是3G,则发送频率降为一半,数据缓冲区收满数据时,可能没有赶到发送数据点,这时后来的数据会将原先的数据覆盖,这次数据收满时,就会赶上发送时间点,可以发送缓冲区中的数据。当通信模式为GPRS时,发送频率降为LTE时的四分之一,这样数据源中的数据可能只能发送数据量的四分之一,由于实际环境中数据源中的数据变化不是很大,在通信状况不好时允许舍弃一些数据。
如图1所示,对于步骤S1,用于通信的总状态机,在经过开机、初始化、开启GPS之后,会进入到两个子状态机分别为GPS子状态机和GPRS子状态机。在遇到错误时会关闭模块重新启动。总状态机状态描述如下:
如图2所示,本发明的通信链路层状态机由三个状态机环组成,分别用I,II和III标识,I环负责注册运营商网络,II环负责与服务器建立连接,并对连接过程进行维护,III环负责对数据通信过程进行维护,图中的err表示当前状态失效时应返回的状态。
对于步骤S2,I环的功能是负责开机和实时处理与运营商的联系,其各个状态的描述如下:
对于步骤S3,当网络注册成功后,从CGREG状态进入II环,该环的功能是维护与服务器的TCP/IP网络连接,它的各个状态的描述如下:
在建立了稳定的TCP连接后,系统由状态机环III来控制,环III的状态主要就是由working状态控制,其内部构成另外一层状态机,如图3所示,
该层状态机的各个状态描述如下:
这部分状态机由working调度器进行调度,判断器要定时查询网络模式和与服务器的连接状态,网络模式分为5G/LTE/3G/GPRS三种,对应由高到低三种不同的传输速率。
在实际使用过程中,MCU通过can、RS485、RS232等总线从传感器获取大量数据,这些数据要通过一定的策略发送给远程服务器,而现在信息系统要求传输的数据量越来越大,但无线信道不能一直保证有高速的数据上传速率,当前通信良好,为LTE信道时,系统可以采用最大速率采样,而当信号不好,系统自动降为3G通信时,采用一般的采样速率,但如果为GPRS通信时,采样率需要进一步降低,为解决这一问题,需要对数据源的数据产生速率进行筛选,并保证传输队列的稳定。
如图4所示,MCU的总线连接不同的传感器,这些总线构成数据源,传来大量数据,这些数据经过排队在队列中等待发送,其中Sn代表数据源,Pn代表数据源发送速率。
本发明为每种设备设置了固定的缓冲区,后来的数据可以覆盖前面的数据,如果通信链路处在LTE通信状态下,缓冲区的数据可以被及时发送,但如果处在3G或GPRS状态下,发送频率会降低,缓冲区中只有里发送时刻最近的数据会被发送,具体地如图5所示:
working判断器采用分时方法进行调度,它维护一个时刻变量Tick,每个定时器中断到来时,Tick加1,其中,方案定义的几种特殊时刻如下:
NSMODTICK:询问发送模式的时刻;
CNCTTICK:询问连接情况的时刻;
MAXTICK为一个周期内总共的时刻数,当Tick到达这一刻时,进行清零操作,从而完成一个调度周期,在这个周期内进行数据量的发送;
当Tick到达NSMODTICK时刻时,working状态开始判断当前的网络模式,不同的网络模式决定了不同的发送频率;
当Tick到达CNCTTICK时,working状态判断当前服务器的连接模式,检查与服务器的连接是否正常;
Tick在其它时刻时,则处于CIPSEND状态,为发送数据做准备,一般当Tick为偶数时发送命令,当收到“>;”时,Tick正好处在奇数,这时发送具体数据,根据不同的网络模式选择发送的时刻点。
即,首先将数据存储到缓冲区中,并对数据进行更新,如果为5G/LTE方式则在数据存储到缓冲区中后即可将数据发送出去,如果为3G方式则缓冲区的数据进行持续更新,然后根据3G模式的发送数据的频率将数据发送出去,如果为GPRS除了对缓冲区的数据进行持续更新外,对采集的数据进行筛选,减少单位时间内采集端的数据,并将数据存放到缓冲区中减少缓冲区存储的数据字节数的大小,例如可以间隔地将独立的数据提取出来,如此减小缓冲区中的数据大小。在发送一段时间后,检测当前的网络模式,以此确定传输的速率,将传输速率与缓冲区的更新数据的速率相匹配。
本发明同时提供一种通信多层状态控制系统,
包括网络发送端和信息配置端;
所述网络发送端用于对通信链路进行初始化并检测通信设备状态,检测注册运营商网络,探测信号强度并接受运营商APN名称;维护与服务器的TCP/IP网络连接,PDP上下文环境使能,配置默认PDP环境注册码,打开包交换网络,获得本机地址并与服务器建立连接;
所述信息配置端用于在规定间隔的时间内检测网络传输模式,将采集的数据存放到缓冲区中,在数据存储完成后如果由于网络传输速率过低没有将缓冲区中的数据发送出去,则根据最新的采集数据对缓冲区中的数据进行更新,同时根据网络传输模式的相应传输速率,将缓冲区中的数据按相同频率通过网络发送出去。
每个采集设备采集的数据存放到缓冲区对应的位置中并持续更新。
所述网络传输模式包括5G/LTE、3G和GPRS。
对通信链路进行初始化时如果通信设备中的一个没有正常打开则重启通信设备。
对采集的数据进行筛选,减少单位时间内采集端的数据,并将数据存放到缓冲区中,以减少缓冲区存储的数据字节数的大小。
具体地,如图6所示,本发明采用STM32F407芯片为主MCU,使用SIM7600C模块为LTE通信模块,两者采用UART总线进行通信,MCU控制状态机的执行和队列长度,以便及时调整数据源的数据到达速率,默认的波特率为115200。
首先定义状态机环,采用枚举类型:
然后定义状态机的数据结构
本实现方案中将特殊时刻设置如下:
#define NSMODTICK 10
#define CNCTTICK 20
#define MAXTICK 64
每个时钟周期产生的数据都会存放在g_sendbuff缓冲区中,等待tick轮转至发送节点时,发送缓冲区内数据并清空缓冲区。每隔NSMODTICK查询当前网络状态,每隔CNCTTICK查询当前服务器连接状态,
每次定时器时钟中断到来,都来对状态机进行判断,分析,确定下一步执行状态,状态主要的实现的关键函数如下:
void GsmStatcMachine();//状态机实现函数,每次时钟都会调用
void.Lte_state(u8 tick);//网络子状态机,实现对通信链路的维护,由三个环状状态机组成。
Void working_judgcr();//工作状态判断器,实现对工作层的维护和数据发送
void ProccssRxBuff();//解析并处理接收缓冲区数据
void Post+Gprsstatc(u8 flag);//根据LTE模块回复消息更新状态。
以上所述的实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。
Claims (10)
1.一种通信多层状态控制方法,其特征在于:
S1:通过MCU对通信链路进行初始化并检测通信设备状态;
S2:通过通信链路层状态机检测注册运营商网络,探测信号强度并接受运营商APN名称;
S3:通过通信链路层状态机维护与服务器的TCP/IP网络连接,PDP上下文环境使能,配置默认PDP环境注册码,打开包交换网络,获得本机地址并与服务器建立连接;
S4:通过判断器在规定间隔的时间内检测网络传输模式,并利用working调度器将采集的数据存放到缓冲区中,在数据存储完成后如果由于网络传输速率过低没有将缓冲区中的数据发送出去,则根据最新的采集数据对缓冲区中的数据进行更新,同时根据网络传输模式的相应传输速率,将缓冲区中的数据按相同频率通过网络发送出去。
2.根据权利要求1所述的通信多层状态控制方法,其特征在于:每个采集设备采集的数据存放到缓冲区对应的位置中并持续更新。
3.根据权利要求1所述的通信多层状态控制方法,其特征在于:所述网络传输模式包括5G、LTE、3G和GPRS。
4.根据权利要求1所述的通信多层状态控制方法,其特征在于:对通信链路进行初始化时如果通信设备中的一个没有正常打开则重启通信设备。
5.根据权利要求1所述的通信多层状态控制方法,其特征在于:对采集的数据进行筛选,减少单位时间内采集端的数据,并将数据存放到缓冲区中,以减少缓冲区存储的数据字节数的大小。
6.一种通信多层状态控制系统,其特征在于:
包括网络发送端和信息配置端;
所述网络发送端用于对通信链路进行初始化并检测通信设备状态,检测注册运营商网络,探测信号强度并接受运营商APN名称;维护与服务器的TCP/IP网络连接,PDP上下文环境使能,配置默认PDP环境注册码,打开包交换网络,获得本机地址并与服务器建立连接;
所述信息配置端用于在规定间隔的时间内检测网络传输模式,将采集的数据存放到缓冲区中,在数据存储完成后如果由于网络传输速率过低没有将缓冲区中的数据发送出去,则根据最新的采集数据对缓冲区中的数据进行更新,同时根据网络传输模式的相应传输速率,将缓冲区中的数据按相同频率通过网络发送出去。
7.根据权利要求6所述的通信多层状态控制系统,其特征在于:每个采集设备采集的数据存放到缓冲区对应的位置中并持续更新。
8.根据权利要求6所述的通信多层状态控制系统,其特征在于:所述网络传输模式包括5G、LTE、3G和GPRS。
9.根据权利要求6所述的通信多层状态控制系统,其特征在于:对通信链路进行初始化时如果通信设备中的一个没有正常打开则重启通信设备。
10.根据权利要求6所述的通信多层状态控制系统,其特征在于:对采集的数据进行筛选,减少单位时间内采集端的数据,并将数据存放到缓冲区中,以减少缓冲区存储的数据字节数的大小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810388017.7A CN108601049B (zh) | 2018-04-26 | 2018-04-26 | 一种通信多层状态控制方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810388017.7A CN108601049B (zh) | 2018-04-26 | 2018-04-26 | 一种通信多层状态控制方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108601049A CN108601049A (zh) | 2018-09-28 |
CN108601049B true CN108601049B (zh) | 2020-01-17 |
Family
ID=63609774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810388017.7A Active CN108601049B (zh) | 2018-04-26 | 2018-04-26 | 一种通信多层状态控制方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108601049B (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102244773B (zh) * | 2011-06-21 | 2013-06-05 | 浙江万里学院 | 一种基于窄变带宽网络的实时视频流传输方法 |
CN102695295B (zh) * | 2012-05-22 | 2014-12-24 | 北京建筑技术发展有限责任公司 | 分布式数据采集控制系统及应用该系统的方法 |
CN104574096A (zh) * | 2013-10-29 | 2015-04-29 | 上海沐风数码科技有限公司 | 基于3g通讯技术的网商平台物联网智能设备系统 |
-
2018
- 2018-04-26 CN CN201810388017.7A patent/CN108601049B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108601049A (zh) | 2018-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112383416B (zh) | 基于KubeEdge和EdgeX Foundry的智能边缘设备控制平台 | |
CN111031034A (zh) | 多协议融合边缘计算网关 | |
KR20220083851A (ko) | 사물 인터넷 시스템에서 데이터를 전송하는 방법 및 장치, 게이트웨이 디바이스와 이의 저장 매체 | |
CN101578832B (zh) | 用于向无线设备传送系统状态信息变化的装置和方法 | |
KR102613089B1 (ko) | 사물 인터넷 데이터 전송 방법 및 시스템 | |
CN106900042B (zh) | 一种树型传感器网络自组网的传感器节点 | |
CN110209514A (zh) | 在嵌入式传感器接入平台实现dds服务的方法 | |
CN104184786A (zh) | 面向林区环境的无线传感器云网关系统 | |
CN113691497A (zh) | 一种基于KubeEdge和EdgeOS的物联网设备控制架构和方法 | |
EP3881521B1 (en) | Prioritized low power neighboring node discovery in an iot network | |
CN110138490A (zh) | 一种时钟竞争的方法与装置 | |
US11949983B2 (en) | Transmission and confirmation of camera configuration data and commands through a network | |
CN102377657A (zh) | 用于航班信息一体化管理系统的外部数据引接系统 | |
CN111585876A (zh) | 低功率网关 | |
CN108601049B (zh) | 一种通信多层状态控制方法及系统 | |
CN103973489A (zh) | 一种异构设备集中监控系统 | |
CN113783870A (zh) | 一种基于智慧路杆的远程多回路网关及其使用方法 | |
CN102006610A (zh) | 一种物联网系统中节点的动态调整方法 | |
CN110519016B (zh) | 一种基于实时优先级动态调整的三网合一数据发送方法 | |
CN102045255A (zh) | 民用小型飞机航空电子系统数据流控制方法 | |
CN113364838B (zh) | 一种基于mqtt的设备自组网方法及系统 | |
CN106231694A (zh) | 一种嵌入式无线传感网络网关 | |
CN208873275U (zh) | 铁路监测数据收发器 | |
JPH07160562A (ja) | インテリジェントネットワークシステムのデータベース管理方法および装置 | |
CN113015197A (zh) | 监控系统及监控方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |