低功耗无线通讯传输方法技术

技术编号:20801604 阅读:45 留言:0更新日期:2019-04-06 15:29
本发明专利技术揭示了一种低功耗无线通讯传输方法,包括如下步骤:S1、数据定义步骤,将每次通过无线发送的数据定义为一个帧;S2、发送方步骤,发送方与接收方就各自的压缩及数据收发能力进行协商,获取数据并进行压缩及拆包处理,随后将处理完成后得到的数据帧发送至接收方;S3、接收方步骤,接收方接收来自发送方的数据帧,随后对数据帧进行拼包及解压处理,获取完整的数据并向发送方发送确认信息。本发明专利技术保证了数据的可靠传输,有效地减少了发送的数据量,缩短了数据发送时间,提高了传输效率。

Low Power Wireless Communication Transmission Method

The invention discloses a low-power wireless communication transmission method, which includes the following steps: S1, data definition step, which defines data transmitted by wireless as a frame at a time; S2, sender step, sender and receiver negotiate their respective compression and data transmission capabilities, acquire data, compress and unpack data, and then process the data frame after processing. Send to the receiver; S3, the receiver step, the receiver receives the data frame from the sender, and then the data frame is processed by splicing and decompression to obtain the complete data and send confirmation information to the sender. The invention ensures the reliable transmission of data, effectively reduces the amount of data sent, shortens the data transmission time and improves the transmission efficiency.

【技术实现步骤摘要】
低功耗无线通讯传输方法
本专利技术涉及一种无线通讯传输方法,具体而言,涉及一种可减少数据发送量、缩短发送时间的低功耗无线通讯传输方法,属于计算机数据传输领域。
技术介绍
随着物联网和工业互联网的发展,Zigbee和BLE蓝牙等低功耗无线传输方式被大量应用。但在现有技术中,这些低功耗无线传输方式都存在着诸如传输速率低、传输距离近等缺点,在传输体量较大的数据或网络环境不佳时传输丢包率很高,影响上层业务。在日常饮用过程中,通常每个企业都会在Zigbee或BLE上封装自己的协议,这些自定义协议大多没有考虑传输的可靠性以及传输效率等问题,或者只是简单的通过发送后等待确认的机制来保证可靠传输。这样也就导致当无线信号很差、丢包率严重时,可能会出现数据丢失的情况,严重时会直接对后续业务造成影响。TCP协议是目前物联网和工业互联网领域内使用最多的传输协议之一,TCP协议通过接收和发送缓冲区、数据包序列以及ACK等机制,以保证数据是可靠有序的。但由于TCP协议是面向流的协议、没有包的概念,因此应用层处理起来十分麻烦。另外,由于Zigbee和BLE等低功耗无线终端设备多数都是微型或手持式嵌入式设备,采用电池供电,通常都采用低成本的芯片和硬件解决方案。这类设备大多无法运行TCP/IP协议栈,或者根本就没有现成的TCP/IP协议栈,因此TCP协议不适用于这样的环境。综上所述,如何在现有技术的基础上提出一种新的低功耗无线通讯传输方法,在存在丢包率的情况下实现可靠传输,也就成为了本领域内技术人员亟待解决的问题。
技术实现思路
鉴于现有技术存在上述缺陷,本专利技术提出了一种低功耗无线通讯传输方法,包括如下步骤:S1、数据定义步骤,将每次通过无线发送的数据定义为一个帧,每帧均包括格式一致的公共帧头,每帧内公共帧头后的内容与帧类型相关;S2、发送方步骤,发送方与接收方就各自的压缩及数据收发能力进行协商,发送方获取应用层数据并依据数据特征对数据进行选择性地压缩及拆包处理,随后将处理完成后得到的数据帧发送至接收方;S3、接收方步骤,接收方接收来自发送方的数据帧,随后依据数据帧特征对数据帧进行选择性地拼包及解压处理,最终获取完整的应用层数据并向发送方发送确认信息。优选地,S1中所述帧类型包括用于发送和接收双方协商的INIT帧和INITACK帧、用于记录数据的DATA帧以及用于数据反馈确认的DATAACK帧。优选地,S1中所述公共帧头包含两个字节内容为16进制FDFD的协议标志、一个字节的帧类型、一个字节的帧选项、两个字节的帧长度以及两个字节的CRC16校验值;优选地,所述帧类型的值为1~4,其对应关系如下,1对应INIT帧、2对应INITACK帧、3对应DATA帧、4对应DATAACK帧;所述帧选项内包含压缩位、数据包起始位及数据包结束位,所述帧选项的内容与每帧的特性相关,若该帧支持压缩,则压缩位为1、否则为0,若该帧为拆分数据包的起始帧,则数据包起始位为1、否则为0,若该帧为拆分数据包的结束帧,则数据包结束位为1、否则为0,若数据包仅包含一帧,则该帧的数据包起始位及数据包终止位均为1;所述帧长度为包含帧头在内的本帧长度;所述CRC16校验值为对本帧所有内容采用CRC16算法进行计算后获得的校验值。优选地,所述INIT帧内包含公共帧头,公共帧头内的帧类型为1、帧选项为0、帧长度固定为16,在公共帧头后依次为两个字节的发送长度、两个字节的接收长度以及一个字节的压缩标志,若该帧支持压缩,则压缩标志为1、否则为0,在压缩标志后为三个字节的保留字节。优选地,所述INITACK帧内包含公共帧头,公共帧头内的帧类型为2、帧选项为0、帧长度固定为16,在公共帧头后依次为两个字节的发送长度、两个字节的接收长度以及一个字节的压缩标志,若该帧支持压缩,则压缩标志为1、否则为0,在压缩标志后为三个字节的保留字节。优选地,所述DATA帧内包含公共帧头,在公共帧头后依次为两个字节的包序列号以及两个字节的帧序列号;包序列号和帧序列号二者均为从1开始的16位整数编号,当数值大于216-1时,从0开始重新计数,每个增加一个包或者帧,对应的包序列号或帧序列号加1。优选地,所述DATAACK帧内包含公共帧头,在公共帧头后依次为两个字节的连续帧序列号、两个字节的缺失空隙帧序号以及两个字节的重复帧序号。优选地,S2所述发送方步骤,具体包括:S201、在首次发送数据包前,发送方先向接收方发送INIT帧,INIT帧的内容根据发送方自身是否支持压缩、单次无线发送包大小和单次无线接收包大小进行填充,发送方在接收到INITACK帧之前,通过重发定时器重复发送INIT帧;S202、发送方收到来自接收方的INITACK帧后,停止INIT帧的发送,并根据INITACK帧的内容获取接收方是否支持压缩、单次无线发送包大小和单次无线接收包大小,然后根据双方的压缩能力决定是否支持压缩,再根据发送包大小和接收方接收包大小中的较小值作为单个发送帧的大小;S203、发送方拿到应用层的数据包后,判断数据包是否支持压缩,若支持压缩则对数据进行压缩处理,否则直接进入下一步;S204、判断数据包的大小是否大于发送帧的大小,若数据包的大小大于发送帧的大小则对数据包进行压缩处理,否则直接进入下一步;S205、在每个数据包前加上DATA帧头,组成数据帧;S206、将数据帧按照帧序列号顺序添加到发送缓冲区;S207、把发送缓冲区里的数据帧从头按序进行发送,如果缓冲区内有没发送过的数据帧,则优先发送,然后将已发送过的数据帧加上已发送标志,重新插入发送缓冲区内;S208、检查是否接收到来自接收方回复的确认帧,若收到确认帧,则进行数据确认处理,根据确认帧里的信息将已确认的数据帧从发送缓冲区中删除,否则直接进入下一步;S209、判断发送缓冲区是否为空,如果为空则标明数据已经发完,结束本次发送,否则直接进入下一步;S210、启动重发定时器,延时从S207开始对发送缓冲区内的数据帧进行重发。优选地,S3所述接收方步骤,具体包括:S301、接收方接收发送方发出的INIT帧,然后根据接收方自身是否支持压缩、单次无线发送包大小和单次无线接收包大小构造INITACK帧并回复发送方,每次收到INIT帧都需回复INITACK帧,直到收到的不是INIT帧而是DATA帧为止;S302、准备接收缓冲区并接收数据帧,对数据帧进行CRC计算,依据计算出的CRC结果和其他帧头信息判断本帧是否有效,若无效则直接丢弃处理,否则进入下一步;S303、将数据帧按照帧序列号顺序添加到接收缓冲区,同时停止确认帧定时器,随后记录已收到的数据帧序列号;S304、从接收缓冲区的头部开始判断是否有完整数据包,如果有则按照每帧的帧序列进行拼包处理,否则直接进入S207;S305、判断数据包是否为压缩数据包,如果是则进行解压处理,否则直接进入下一步;S306、删除接收缓冲区内已上传的完整数据包的所有数据帧;S307、根据接收到的数据帧信息生成确认帧;S308、判断接收缓冲区是否为空,如果是则结束本次接收,否则启动定时器延时从S307开始发送确认帧。与现有技术相比,本专利技术的优点主要体现在以下几个方面:本专利技术的传输方法通过缓冲区、序列号和确认包机制保证了数据的可靠传输。同时,为了适应不同本文档来自技高网...

【技术保护点】
1.一种低功耗无线通讯传输方法,其特征在于,包括如下步骤:S1、数据定义步骤,将每次通过无线发送的数据定义为一个帧,每帧均包括格式一致的公共帧头,每帧内公共帧头后的内容与帧类型相关;S2、发送方步骤,发送方与接收方就各自的压缩及数据收发能力进行协商,发送方获取应用层数据并依据数据特征对数据进行选择性地压缩及拆包处理,随后将处理完成后得到的数据帧发送至接收方;S3、接收方步骤,接收方接收来自发送方的数据帧,随后依据数据帧特征对数据帧进行选择性地拼包及解压处理,最终获取完整的应用层数据并向发送方发送确认信息。

【技术特征摘要】
1.一种低功耗无线通讯传输方法,其特征在于,包括如下步骤:S1、数据定义步骤,将每次通过无线发送的数据定义为一个帧,每帧均包括格式一致的公共帧头,每帧内公共帧头后的内容与帧类型相关;S2、发送方步骤,发送方与接收方就各自的压缩及数据收发能力进行协商,发送方获取应用层数据并依据数据特征对数据进行选择性地压缩及拆包处理,随后将处理完成后得到的数据帧发送至接收方;S3、接收方步骤,接收方接收来自发送方的数据帧,随后依据数据帧特征对数据帧进行选择性地拼包及解压处理,最终获取完整的应用层数据并向发送方发送确认信息。2.根据权利要求1所述的低功耗无线通讯传输方法,其特征在于:S1中所述帧类型包括用于发送和接收双方协商的INIT帧和INITACK帧、用于记录数据的DATA帧以及用于数据反馈确认的DATAACK帧。3.根据权利要求2所述的低功耗无线通讯传输方法,其特征在于:S1中所述公共帧头包含两个字节内容为16进制FDFD的协议标志、一个字节的帧类型、一个字节的帧选项、两个字节的帧长度以及两个字节的CRC16校验值。4.根据权利要求3所述的低功耗无线通讯传输方法,其特征在于:所述帧类型的值为1~4,其对应关系如下,1对应INIT帧、2对应INITACK帧、3对应DATA帧、4对应DATAACK帧;所述帧选项内包含压缩位、数据包起始位及数据包结束位,所述帧选项的内容与每帧的特性相关,若该帧支持压缩,则压缩位为1、否则为0,若该帧为拆分数据包的起始帧,则数据包起始位为1、否则为0,若该帧为拆分数据包的结束帧,则数据包结束位为1、否则为0,若数据包仅包含一帧,则该帧的数据包起始位及数据包终止位均为1;所述帧长度为包含帧头在内的本帧长度;所述CRC16校验值为对本帧所有内容采用CRC16算法进行计算后获得的校验值。5.根据权利要求3所述的低功耗无线通讯传输方法,其特征在于:所述INIT帧内包含公共帧头,公共帧头内的帧类型为1、帧选项为0、帧长度固定为16,在公共帧头后依次为两个字节的发送长度、两个字节的接收长度以及一个字节的压缩标志,若该帧支持压缩,则压缩标志为1、否则为0,在压缩标志后为三个字节的保留字节。6.根据权利要求3所述的低功耗无线通讯传输方法,其特征在于:所述INITACK帧内包含公共帧头,公共帧头内的帧类型为2、帧选项为0、帧长度固定为16,在公共帧头后依次为两个字节的发送长度、两个字节的接收长度以及一个字节的压缩标志,若该帧支持压缩,则压缩标志为1、否则为0,在压缩标志后为三个字节的保留字节。7.根据权利要求3所述的低功耗无线通讯传输方法,其特征在于:所述DATA帧内包含公共帧头,在公共帧头后依次为两个字节的包序列号以及两个字节的帧序列号;包序列号和帧序列号二者均为从1开始的16位整数编号,当数值大于216-1时,从0开始重新计数,每个增加一个包或者帧,对应的包序列号或帧序列号加1。8.根据权利要求3所述的低功耗无线通讯传输方法,其特征在于:所述DATAACK帧...

【专利技术属性】
技术研发人员:张玉斌包继华姜雪
申请(专利权)人:苏州德姆斯信息技术有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1