一种蓝牙通讯交互的控制方法.pdf

上传人:1****2 文档编号:1679946 上传时间:2018-07-04 格式:PDF 页数:11 大小:610.28KB
返回 下载 相关 举报
摘要
申请专利号:

CN201510282145.X

申请日:

2015.05.28

公开号:

CN104836659A

公开日:

2015.08.12

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04L 9/00申请日:20150528|||公开

IPC分类号:

H04L9/00; H04B5/02

主分类号:

H04L9/00

申请人:

神州融安科技(北京)有限公司

发明人:

李登峰

地址:

100086北京市海淀区中关村南大街2号A座701-702

优先权:

专利代理机构:

北京爱普纳杰专利代理事务所(特殊普通合伙)11419

代理人:

何自刚

PDF下载: PDF下载
内容摘要

本申请公开了一种蓝牙通讯交互的控制方法,包括:智能移动设备通过蓝牙向智能密码设备发送数据包,数据包由命令头和数据域组成;智能密码设备收到数据包后,首先校验命令头,然后校验数据域,如果校验命令头成功,则智能密码设备执行业务指令,返回业务指令结果,并返回状态包,状态包包括状态包头,如果校验命令头错误,则智能密码设备不执行业务指令,返回状态包头;智能密码设备将状态包通过蓝牙通讯发送给智能移动设备;智能移动设备校验状态包,判断状态包头的首字节是第一字节数,还是第二字节数,智能密码设备执行业务指令。本发明的优点是:采用命令数据的加密通讯,提升数据通讯的机密性,有效抵抗传输过程中对敏感信息的窃取和篡改。

权利要求书

权利要求书1.  一种蓝牙通讯交互的控制方法,其特征在于,包括:智能移动设备通过蓝牙向智能密码设备发送数据包,所述数据包由命令头和数据域组成;智能密码设备收到数据包后,首先校验命令头,然后校验数据域,如果校验命令头成功,则智能密码设备执行业务指令,返回业务指令结果,并返回状态包,所述状态包包括状态包头,如果校验命令头错误,则智能密码设备不执行业务指令,直接返回状态包头;智能密码设备将所述状态包通过蓝牙通讯发送给智能移动设备;智能移动设备校验状态包,判断状态包头的首字节是第一字节数,还是第二字节数,如果是第一字节数,则标识当前通讯错误;如果是第二字节数,则标识当前通讯成功,智能密码设备执行业务指令。2.  根据权利要求1所述的蓝牙通讯交互的控制方法,其特征在于,所述命令头为10个字节,首字节的范围为0x00-0xFF,包括数据长度,标识码,CRC校验位,保留位。3.  根据权利要求1所述的蓝牙通讯交互的控制方法,其特征在于,所述状态包头为10个字节,首字节的范围为0x00-0xFF,包括数据长度,标识码,CRC校验位,保留位。4.  根据权利要求3所述的蓝牙通讯交互的控制方法,其特征在于,所述状态包还包括数据域。5.  根据权利要求4所述的蓝牙通讯交互的控制方法,其特征在于,还包括所述智能移动设备从状态包数据域中获取业务指令的执行结果。6.  根据权利要求2所述的蓝牙通讯交互的控制方法,其特征在于,所述CRC校验包括:发送蓝牙指令数据包的CRC计算步骤,接收通讯成功数据 的CRC计算步骤,以及接收通讯错误数据的CRC计算步骤。7.  根据权利要求6所述的蓝牙通讯交互的控制方法,其特征在于,所述发送蓝牙指令数据包的CRC计算步骤包括:设置命令头首字节是0x00-0xFF之间的某固定字节;第一个字节为非X值时,X即字节数1,智能密码设备无响应或返回错误;第二和第三字节是整个数据包的长度,包括命令头和数据域;第四个字节是标识码T,单字节,发送和接收的一致,用于对发送和接收的通讯数据对比;中间的四个0x00字节,暂时保留,使用时置为0;第九和第十字节是CRC校验位,计算CRC校验位时,是对命令头和数据域一起计算,其中命令头的第九和第十是存放CRC值的,此两个字节以0参与计算CRC。8.  根据权利要求6所述的蓝牙通讯交互的控制方法,其特征在于,所述接收通讯成功数据的CRC计算步骤包括:设置接收通讯成功的状态包,所述状态包由包头和数据域组成,包头是10字节,数据域由智能密码设备执行结果决定;状态包头首字节是0x00-0xFF之间的某固定字节;第一个字节为R值时,表示蓝牙通讯正常;第二和第三字节是整个数据包的长度,包括包头和数据域;第四个字节是标识码T,单字节,与发送数据包中标识码一致,用于对发送和接收的通讯数据对比;中间的四个0x00字节,暂时保留,使用时置为0;第九和第十字节是CRC校验位,将此两个字节以0参与计算CRC,并对状态包头和数据域一起计算,最后与状态包头的第九和第十是存放的CRC值做比较。9.  根据权利要求6所述的蓝牙通讯交互的控制方法,其特征在于,所述 接收通讯错误数据的CRC计算步骤包括:设置接收通讯错误的状态包,所述状态包只有包头,没有数据域,包头是10字节;状态包头首字节是0x00-0xFF之间的某固定字节,与通讯成功的字节数不能相同;第一个字节为E值时,表示蓝牙通讯异常;第二和第三字节是状态包的长度,只有状态包头,10字节固定为0x0A00;第四个字节是标识码T,单字节,与发送数据包中标识码一致,用于对发送和接收的通讯数据对比;第五个字节0x00,暂时保留,使用时置为0;第六和第七字节是发送数据包的长度;第九和第十字节是CRC校验位,将此两个字节以0参与计算CRC,并对状态包计算,最后与状态包头的第九和第十是存放的CRC值做比较。

说明书

说明书一种蓝牙通讯交互的控制方法
技术领域
本发明涉及一种蓝牙通讯交互的控制方法。
背景技术
蓝牙通讯的设计初衷是方便移动设备与配件之间进行低成本、低功耗的无线通信连接,现在已经成为IEEE802.15标准。一般蓝牙系统结构由底层硬件模块、中间协议层和应用层三部分组成,底层硬件模块包括基带层、链路管理层和射频层,上层软件模块和底层硬件模块接口之间的信息和数据通过主机控制接口(HCI)的解释进行传递,中间协议层通常包括逻辑链路控制与适配协议、服务发现协议、串口仿真协议等,应用层一般是对应于各种应用模型和应用程序。现有技术蓝牙交互时,依赖蓝牙协议本身的安全机制,显著缺点是:存在蓝牙数据丢失的情况,尤其是在移动智能设备与智能密码设备之间进行通讯时,存在数据被截取和破解的风险。
发明内容
本发明的目的在于克服上述不足,提供一种蓝牙通讯交互的控制方法,其使用方便,能够有效提升蓝牙通讯交互的安全性。
为了实现上述目的,本发明采用的技术方案为:一种蓝牙通讯交互的控制方法,其特征在于,包括:智能移动设备通过蓝牙向智能密码设备发送数据包,所述数据包由命令头和数据域组成;智能密码设备收到数据包后,首先校验命令头,然后校验数据域,如果校验命令头成功,则智能密码设备执行业务指令,返回业务指令结果,并返回状态包,所述状态包包括状态包头,如果校验命令头错误,则智能密码设备不执行业务指令,直接返回状态包头;智能密码设备将所述状态包通过蓝牙通讯发送给智能移动设备;智能移动设备校验状态包,判断状态包头的首字节是第一字节数,还是第二字节数,如 果是第一字节数,则标识当前通讯错误;如果是第二字节数,则标识当前通讯成功,智能密码设备执行业务指令。
本发明的有益效果为:
第一,实现简单,在蓝牙协议本身基础上,通讯的数据可以支持链路加密,保护数据的机密性,通过蓝牙协议解决移动智能设备与智能密码设备之间的匹配、连接和数据通讯,通讯的数据具有防重放功能,在数据包头中,加入标志位,每次通讯后变化,如加1或加随机数,下次通讯时,连续十次标志位不能相同,否则中断连接,重新连接。
第二,应用广泛,通过CRC校验方式,提升了数据通讯的完整性,可以有效弥补蓝牙设备通讯时,减少因距离的变化或信号干扰引起的通讯中断;采用命令数据的加密通讯,提升数据通讯的机密性,有效抵抗传输过程中对敏感信息的窃取和篡改。能够支持和适应蓝牙2.1、蓝牙3.0、蓝牙4.0等移动智能设备,具有广泛的通用性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本发明的蓝牙通讯交互的控制方法流程图。
具体实施方式
如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本 申请的保护范围当视所附权利要求所界定者为准。
请参照图1,本发明的蓝牙通讯交互的控制方法包括:智能移动设备通过蓝牙向智能密码设备发送数据包,所述数据包由命令头和数据域组成;智能密码设备收到数据包后,首先校验命令头,然后校验数据域,如果校验命令头成功,则智能密码设备执行业务指令,返回业务指令结果,并返回状态包,所述状态包包括状态包头,如果校验命令头错误,则智能密码设备不执行业务指令,直接返回状态包头;智能密码设备将所述状态包通过蓝牙通讯发送给智能移动设备;智能移动设备校验状态包,判断状态包头的首字节是第一字节数,还是第二字节数,如果是第一字节数,则标识当前通讯错误;如果是第二字节数,则标识当前通讯成功,智能密码设备执行业务指令。
优选地,首先完成智能移动设备与智能密码设备之间的蓝牙连接。
智能移动设备通过蓝牙向智能密码设备发送数据包,数据包由命令头和数据域组成,命令头是10个字节,以字节数1【0x00-0xFF之间某值】开头,并包括数据长度,标识码,CRC校验位,保留位。数据长度指命令头和数据域的总长度,标识码在一次数据包发送和接收交互时要一致,CRC校验位是对整个数据包计算。
智能密码设备收到数据包,首先校验命令头,包括首字节是否为协商的字节数1,若不是,则不响应或返回错误。检查接收的实际数据长度与命令头中的数据长度是否一致,若不一致,则返回错误。检查CRC校验位,按照协商的CRC计算规则,对数据包计算CRC,并与命令头中的CRC校验位比对,若不一致,则返回错误。命令头校验成功后,智能密码设备读取数据域,数据域中存放的是实际的业务指令,准备由智能密码设备执行对应的业务指令,并返回执行结果。
如果在上一步中,校验命令头已经错误,则智能密码设备不执行数据域中的业务指令,直接返回状态包头,数据域为空,状态包头以第一字节数开头,并包括返回的数据长度,标识码,接收的数据长度,CRC校验位,保留位。如果校验命令头成功,则智能密码设备执行业务指令,并返回业务指令结果,返回状态包,由状态包头和数据域组成,状态包头总长度10字节,以第二字节数开头,并包括数据长度,标识码,CRC校验位,保留位。数据域是业务执行结果。
智能密码设备将状态包通过蓝牙通讯发送给智能移动设备。
智能移动设备首先校验状态包头。检测状态包头的首字节,检查接收的实际数据长度与状态包头中的数据长度是否一致;检查标识码与发送数据包中的标识码是否一致;检查CRC校验位,按照协商的CRC计算规则,对数据包计算CRC,并与命令头中的CRC校验位比对。判断状态包头的首字节是第一字节数,还是第二字节数,如果以第一字节数开头,表示当前通讯是错误;如果是第二字节数开头,标识通讯成功,并且智能密码设备执行了业务指令,智能移动设备可以从状态包数据域中获取业务指令的执行结果。
一次蓝牙通讯完成。
本实施例的字节数1,第一字节数,第二字节数,都是单字节值,范围为0x00-0xFF之间的任意数,在项目中可以自定义,要求第一字节数和第二字节数不能相同。
数据包和状态包格式
蓝牙包类型分为两类:数据包和状态包。传输起始为一个10字节的命令头,定义如下:
智能移动设备_to_智能密码设备数据包命令头:
偏移量字节长度描述01标记,0x00-0xFF之间的某固定字节112整个数据包长度,小端。31标识码44保留82CRC校验码
通讯异常时,智能密码设备_to_智能移动设备状态包头:


通讯正常时,智能密码设备_to_智能移动设备状态包头:
偏移量字节长度描述01标记,0x00-0xFF之间的某固定字节312返回的数据包长度,小端。31标识码(来自智能移动设备)44保留82CRC校验码
作为具体的实施例,发送蓝牙指令数据包和CRC计算过程为:

数据包命令头是10字节,数据域长度根据各命令有关。
命令头首字节是0x00-0xFF之间的某固定字节,在本发明技术方案定型时,该值是确定的,例如0x6F。
数据包命令头格式示例:6F 0D00 00 00000000 69B3+CMDData
第一个字节为非X值时,X即字节数1,智能密码设备无响应或返回错 误。
第二和第三字节是整个数据包的长度(小端),包括命令头和数据域CMDData。
第四个字节是标识码T,单字节,发送和接受的一致,可用于对发送和接收的通讯数据对比,避免误收其他数据。通讯时该值由智能移动设备指定,第一次是随机数,此后按一定规律变化。
中间的四个0x00字节,暂时保留,使用时置为0,当为非0值时,也认为合法。
第九和第十字节是CRC校验位。计算CRC校验位时,是对命令头和数据域一起计算,其中命令头的第九和第十是存放CRC值的,此两个字节以0参与计算CRC。
CMDData是期望智能密码设备执行的业务命令。
优选地,接收通讯成功数据的CRC计算过程为:

接收通讯成功的状态包有包头和数据域组成,包头是10字节,数据域由智能密码设备执行结果决定。
状态包头首字节是0x00-0xFF之间的某固定字节,在本发明技术方案定型时,该值是确定的,例如0x80。
状态包头格式示例:80 0D00 00 00000000 69B3+CMDData
第一个字节为R值时,即第二字节数,表示蓝牙通讯正常。
第二和第三字节是整个数据包的长度(小端),包括包头和数据域 ReData。
第四个字节是标识码T,单字节,与发送数据包中标识码一致,可用于对发送和接收的通讯数据对比,避免误收其他数据。通讯时该值由智能移动设备指定,第一次是随机数,此后按一定规律变化。
中间的四个0x00字节,暂时保留,使用时置为0,当为非0值时,也认为合法。
第九和第十字节是CRC校验位。在智能移动设备验证CRC校验位时,按照规则,将此两个字节以0参与计算CRC,并对状态包头和数据域一起计算,最后与状态包头的第九和第十是存放的CRC值做比较。
ReData是智能密码设备执行业务命令后返回的结果数据。
优选地,接收通讯错误数据的CRC计算过程为:

接收通讯错误的状态包只有包头,没有数据域,包头是10字节。
状态包头首字节是0x00-0xFF之间的某固定字节,与通讯成功的字节数不能相同,在本发明技术方案定型时,该值是确定的,例如0x96。
状态包头格式示例:96 0D00 00 00000000 462A
第一个字节为E值时,即第一字节数,表示蓝牙通讯异常。
第二和第三字节是状态包的长度(小端),只有状态包头,10字节固定为0x0A00。
第四个字节是标识码T,单字节,与发送数据包中标识码一致,可用于对发送和接收的通讯数据对比,避免误收其他数据。通讯时该值由智能移动 设备指定,第一次是随机数,此后按一定规律变化。
第五个字节0x00,暂时保留,使用时置为0,当为非0值时,也认为合法。
第六和第七字节是发送数据包的长度,以便于查找出错指令的数据包。
第九和第十字节是CRC校验位。在智能移动设备验证CRC校验位时,按照规则,将此两个字节以0参与计算CRC,并对状态包计算,最后与状态包头的第九和第十是存放的CRC值做比较。
本发明的有益效果为:
第一,实现简单,在蓝牙协议本身基础上,通讯的数据可以支持链路加密,保护数据的机密性,通过蓝牙协议解决移动智能设备与智能密码设备之间的匹配、连接和数据通讯,通讯的数据具有防重放功能,在数据包头中,加入标志位,每次通讯后变化,如加1或加随机数,下次通讯时,连续十次标志位不能相同,否则中断连接,重新连接。
第二,应用广泛,通过CRC校验方式,提升了数据通讯的完整性,可以有效弥补蓝牙设备通讯时,减少因距离的变化或信号干扰引起的通讯中断;采用命令数据的加密通讯,提升数据通讯的机密性,有效抵抗传输过程中对敏感信息的窃取和篡改。能够支持和适应蓝牙2.1、蓝牙3.0、蓝牙4.0等移动智能设备,具有广泛的通用性。
上述说明示出并描述了本申请的若干优选实施例,但如前所述,应当理解本申请并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述申请构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围,则都应在本申请所附权利要求的保护范围内。

一种蓝牙通讯交互的控制方法.pdf_第1页
第1页 / 共11页
一种蓝牙通讯交互的控制方法.pdf_第2页
第2页 / 共11页
一种蓝牙通讯交互的控制方法.pdf_第3页
第3页 / 共11页
点击查看更多>>
资源描述

《一种蓝牙通讯交互的控制方法.pdf》由会员分享,可在线阅读,更多相关《一种蓝牙通讯交互的控制方法.pdf(11页珍藏版)》请在专利查询网上搜索。

本申请公开了一种蓝牙通讯交互的控制方法,包括:智能移动设备通过蓝牙向智能密码设备发送数据包,数据包由命令头和数据域组成;智能密码设备收到数据包后,首先校验命令头,然后校验数据域,如果校验命令头成功,则智能密码设备执行业务指令,返回业务指令结果,并返回状态包,状态包包括状态包头,如果校验命令头错误,则智能密码设备不执行业务指令,返回状态包头;智能密码设备将状态包通过蓝牙通讯发送给智能移动设备;智能移。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1