CN107592607A - 一种蓝牙复合设备及其通信方法 - Google Patents

一种蓝牙复合设备及其通信方法 Download PDF

Info

Publication number
CN107592607A
CN107592607A CN201710799936.9A CN201710799936A CN107592607A CN 107592607 A CN107592607 A CN 107592607A CN 201710799936 A CN201710799936 A CN 201710799936A CN 107592607 A CN107592607 A CN 107592607A
Authority
CN
China
Prior art keywords
bluetooth
service
equipment complex
broadcast
bluetooth equipment
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.)
Granted
Application number
CN201710799936.9A
Other languages
English (en)
Other versions
CN107592607B (zh
Inventor
陆舟
于华章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN201710799936.9A priority Critical patent/CN107592607B/zh
Publication of CN107592607A publication Critical patent/CN107592607A/zh
Application granted granted Critical
Publication of CN107592607B publication Critical patent/CN107592607B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本发明涉及蓝牙通信领域,特别涉及一种蓝牙复合设备及其通信方法;蓝牙复合设备预置有蓝牙服务,每个蓝牙服务都有唯一标识和与唯一标识所对应的指令解析方法;该蓝牙复合设备的通信方法具体包括:蓝牙复合设备组织并广播蓝牙广播数据包,蓝牙广播数据包中声明该设备为多服务设备;当蓝牙复合设备接收连接请求时与发送连接请求的蓝牙设备建立连接;并等待接收所述蓝牙设备发送的指令;当蓝牙复合设备接收到操作指令时,根据操作指令中的唯一标识确定指令解析方法,根据指令解析方法解析操作指令中的有效指令数据,并执行相应操作;本发明提供了两种或者多种功能集中在一个蓝牙设备上的通信方法,功能更加多样化,降低了蓝牙设备的成本。

Description

一种蓝牙复合设备及其通信方法
技术领域
本发明涉及蓝牙通信领域,尤其涉及一种蓝牙复合设备及其通信方法。
背景技术
复合设备是指一种能完成两个或多个不同设备的功能的设备。
蓝牙(Bluetooth):是一种无线技术标准,可实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换(使用2.4—2.485GHz的ISM波段的UHF无线电波)。
现有的蓝牙设备功能单一,当用户需要使用两个不同功能的蓝牙设备时,需要分别与两个蓝牙设备进行连接,操作复杂,用户体验差。
发明内容
本发明的目的是克服现有技术的缺陷,提供一种蓝牙复合设备及其通信方法。
本发明是通过下述技术方案实现的:蓝牙复合设备预置有蓝牙服务,每个蓝牙服务都有唯一标识和与所述唯一标识所对应的指令解析方法;
蓝牙复合设备预置有蓝牙服务,每个蓝牙服务都有唯一标识和与唯一标识所对应的指令解析方法;本发明提供一种蓝牙复合设备的工作方法,包括:
步骤S1、蓝牙复合设备组织并广播蓝牙广播数据包,蓝牙广播数据包中声明该设备为多服务设备;
步骤S2、蓝牙复合设备接收连接请求,并与发送连接请求的蓝牙设备建立连接;
步骤S3、蓝牙复合设备等待接收蓝牙设备发送的指令;
步骤S4、当蓝牙复合设备接收到操作指令时,蓝牙复合设备根据操作指令中的指令头包含的蓝牙服务的唯一标识确定指令解析方法,根据指令解析方法解析操作指令中的有效指令数据,并执行相应操作;返回步骤S3。
本发明提供一种蓝牙复合设备,包括:
蓝牙广播模块,用于组织并广播蓝牙广播数据包,蓝牙广播数据包中声明该设备为多服务设备;
接收模块,用于接收连接请求;用于接收蓝牙设备发送的指令;
建立连接模块,用于当接收模块接收到所述连接请求后,与发送连接请求的蓝牙设备建立连接;
执行模块,用于当接收模块接收到的指令为操作指令时,根据操作指令指令头中的唯一标识确定指令解析方法,根据指令解析方法解析操作指令中的有效指令数据,并执行相应操作。
本发明的有益效果在于:本发明提供了两种或者多种功能集中在一个蓝牙设备上的通信方法,功能更加多样化,降低了蓝牙设备的成本。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1中提供的一种蓝牙复合设备的通信方法的流程图;
图2为本发明实施例2中提供的一种蓝牙复合设备的通信方法的流程图;
图3为本发明实施例3中提供的一种蓝牙复合设备的通信方法的流程图;
图4为本发明实施例4中提供的一种蓝牙复合设备的通信方法的流程图;
图5为本发明实施例5中提供的蓝牙复合设备的方框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本实施例提供一种蓝牙复合设备的通信方法,参见图1,所述蓝牙复合设备中预置有蓝牙服务,每个蓝牙服务都有唯一的蓝牙服务标识以及与所述蓝牙服务标识所对应的指令解析方法;蓝牙复合设备执行如下操作:
步骤S1、蓝牙复合设备组织并广播蓝牙广播数据包,该蓝牙广播数据包中声明该设备为多服务设备;
具体的,蓝牙广播数据包包括若干个广播数据单元;每个广播数据单元的第一个字节为长度值Len,广播数据单元剩余的部分为Len个字节的数据部分,数据部分的第一个字节为广播数据单元的类型AD Type;
本实施例中,蓝牙复合设备支持两种蓝牙服务,分别为蓝牙KEY服务和蓝牙读卡器服务;且蓝牙KEY服务的唯一标识为0X 11 01,蓝牙读卡器服务的唯一标识为0X 11 02;
可选的,步骤S1具体为:蓝牙复合设备根据蓝牙复合设备信息和该蓝牙复合设备支持的蓝牙服务个数组织蓝牙广播数据包,并广播该蓝牙广播数据包。
具体的,步骤S1具体包括:
蓝牙复合设备将第一预设值0X01和低功耗蓝牙模式信息0X05顺序拼接,计算拼接结果的长度作为蓝牙复合设备信息广播数据单元的长度0X02,将蓝牙复合设备信息广播数据单元的长度、第一预设值和低功耗蓝牙模式信息顺序拼接得到蓝牙复合设备信息广播数据单元0X 02 01 05;OX01为第一预设值,用于表明该广播数据单元的类型为蓝牙复合设备信息广播数据单元;
当前蓝牙复合设备支持两个蓝牙服务,蓝牙设备将第二预设值OX FF、第三预设值OX 6E 09和蓝牙服务个数0X 02顺序拼接,计算拼接结果的长度作为蓝牙服务个数广播数据单元的长度0X 04,将蓝牙服务个数广播数据单元的长度、第二预设值、第三预设值和蓝牙服务个数顺序拼接得到蓝牙服务个数广播数据单元;具体为:OX 04 FF 6E 09 02;OX FF为第二预设值,用于表明该广播数据单元的类型为蓝牙服务个数广播数据单元;
蓝牙复合设备将蓝牙复合设备信息广播数据单元0X 02 01 05和蓝牙服务个数广播数据单元OX 04 FF 6E 09 02顺序拼接,将拼接结果用0补齐得到长度为31字节的蓝牙广播数据包;具体为:0X 02 01 05 04 FF 6E 09 02 00 00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00 00 00;
需要说明的是,蓝牙广播数据包的长度为31个字节,若所有蓝牙广播数据单元的数据长度不足31字节则需用0将剩余字节数补齐。
需要说明的是,蓝牙服务个数广播数据单元表明该设备为多服务设备;
可选的,步骤S1具体为:蓝牙复合设备根据蓝牙复合设备信息和该蓝牙复合设备支持的所有蓝牙服务的唯一标识组织蓝牙广播数据包,并广播该蓝牙广播数据包;
具体的,蓝牙复合设备将第一预设值0X01和低功耗蓝牙模式信息0X05顺序拼接,计算拼接结果的长度作为蓝牙复合设备信息广播数据单元的长度0X02,将蓝牙复合设备信息广播数据单元的长度、第一预设值和低功耗蓝牙模式信息顺序拼接得到蓝牙复合设备信息广播数据单元0X 02 01 05;OX01为第一预设值,用于表明该广播数据单元的类型为蓝牙复合设备信息广播数据单元;
蓝牙复合设备将第四预设值0X02和蓝牙KEY服务的唯一标识OX 11 01顺序拼接,计算拼接结果的长度作为蓝牙服务类型广播数据单元的长度OX 03,将蓝牙复合类型广播数据单元的长度、第四预设值和蓝牙KEY服务的唯一标识顺序拼接得到蓝牙服务类型广播数据单元,具体为:OX 03 02 11 01;OX01为第四预设值,用于表明该广播数据单元的类型为蓝牙服务类型广播数据单元;
蓝牙复合设备将第四预设值0X02和蓝牙读卡器服务的唯一标识OX 11 02顺序拼接,计算拼接结果的长度作为蓝牙服务类型广播数据单元的长度OX 03,将蓝牙复合类型广播数据单元的长度、第四预设值和蓝牙读卡器服务的唯一标识顺序拼接得到蓝牙服务类型广播数据单元,具体为:OX 03 02 11 02;
蓝牙复合设备将蓝牙复合设备信息广播数据单元和两个蓝牙服务类型广播数据单元顺序拼接,将拼接结果用0补齐得到长度为31字节的蓝牙广播数据包,具体为:
0X 02 01 05 03 02 11 01 03 02 11 02 00 00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00;
需要说明的是,蓝牙服务类型广播数据单元表明该设备为多服务设备。
可选的,步骤S1具体为:蓝牙复合设备根据蓝牙复合设备信息、蓝牙服务个数和该蓝牙复合设备支持的蓝牙服务的唯一标识组织蓝牙广播数据包,并广播该蓝牙广播数据包;
具体的,蓝牙复合设备根据蓝牙复合设备信息广播数据单元0X 02 01 05、两个蓝牙服务类型广播数据单元0X 03 02 11 01 03 02 11 02和蓝牙服务个数广播数据单元0X04FF 6E 09 02组织蓝牙广播数据包;具体为:
0X 02 01 05 03 02 11 01 03 02 11 02 04FF 6E 09 02 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00 00;
蓝牙复合设备信息广播数据单元、蓝牙服务类型广播数据单元和蓝牙服务个数广播数据单元的生成方法同上在此不再赘述。
步骤S2、蓝牙复合设备接收连接请求,并与发送连接请求的蓝牙设备建立连接;
蓝牙复合设备接收到的指令为0X D6 BE 89 8E C5 22 1C FC 47 69 9F 65 4579 18 08 31 CE E3 5B 65 50 C6 27 86 03 0F 00 18 00 00 00 48 00,读取第五个字节为0XC5确定该指令为蓝牙连接指令,读取第七字节至第十二字节0X 1C FC 47 69 9F 65得到发送蓝牙连接请求的蓝牙设备的MAC地址,蓝牙复合设备根据获取到的MAC地址与发送蓝牙连接请求的蓝牙设备进行蓝牙连接。
步骤S3、蓝牙复合设备等待接收蓝牙设备发送的指令;当蓝牙复合设备接收到操作指令时,执行步骤S4;
步骤S4、蓝牙复合设备根据操作指令的指令头中包含的蓝牙服务的唯一标识确定指令解析方法;根据指令解析方法解析操作指令中的有效指令数据,并执行相应操作;返回步骤S3。
具体的,操作指令具体由指令头和有效指令数据两部分组成,指令头中包含有蓝牙服务的唯一标识;
例如,蓝牙复合设备接收到的指令为0X 1B 00 00 D3C9 14 00 01 00 11 01 6F06 00 00 00 00 02 00 00 00 00 00 84 00 00 08;读取前十一个字节0X 1B 00 00 D3C9 14 00 01 00 11 01得到指令头;读取指令中第十二字节至二十七字节6F 06 00 00 0000 02 00 00 00 00 00 84 00 00 08得到有效指令数据。
蓝牙复合设备从操作指令的指令头中读取第十字节至第十一字节得到蓝牙服务的唯一标识0X 11 01,即蓝牙KEY服务的唯一标识;根据蓝牙服务的唯一标识确定指令解析方法;解析所述操作指令中的有效指令数据;即6F 06 00 00 00 00 02 00 00 00 00 0084 00 00 08;蓝牙复合设备根据指令解析方法判定该操作指令中的有效指令数据为获取随机数指令,则所述蓝牙复合设备生成随机数,并将随机数返回给与该蓝牙复合设备相连的蓝牙设备;
又如,蓝牙复合设备接收到的指令为:0X 1B 00 00 D3 C9 14 00 01 00 11 026F 06 00 00 00 00 02 00 00 00 00 00 C0 00 00 10,读取前十一个字节0X 1B 00 00D3 C9 14 00 01 00 11 02得到指令头,读取指令中第十二字节至二十七字节6F 06 00 0000 00 02 00 00 00 00 00 C0 00 00 10得到有效指令数据;
蓝牙复合设备从操作指令的指令头中读取第十字节至第十一字节得到蓝牙服务的唯一标识0X 11 02,即蓝牙读卡器服务的唯一标识;根据蓝牙服务的唯一标识确定指令解析方法;解析所述操作指令中的有效指令数据;即6F 06 00 00 00 00 02 00 00 00 0000 C0 00 00 10;蓝牙复合设备根据指令解析方法判定该操作指令中的有效指令数据为获取卡片数据指令,则蓝牙复合设备获取卡片数据;并将获取到的卡片数据返回给与该蓝牙复合设备相连的蓝牙设备;
需要说明的是,每种蓝牙服务均对应一种指令解析方法,该指令解析方法与现有技术中提供关于操作指令中的有效指令数据的解析方法一致;例如:在处于蓝牙KEY服务中蓝牙复合设备解析操作指令的有效指令数据遵循IC卡7816规范。
优选的,步骤S3之后还包括:
步骤S5、蓝牙复合设备判断接收到的操作指令的指令头中的唯一标识是否为单向广播服务的唯一标识;是则执行步骤S6,否则执行步骤S4;
需要说明的是,单向广播服务具体为蓝牙复合设备使用低功耗蓝牙技术持续的向周围设备发送该设备特有的ID或者自定义的资讯信息的服务;
步骤S6、蓝牙复合设备组织并广播单向广播信息,当监听到关机事件时则关机,结束;
可选的,步骤S6为:蓝牙复合设备组织并广播单向广播信息,并开启单向广播定时器,当单向广播定时器达到预设时间时则关机,结束。
本实施例,提供了一种蓝牙复合设备的通信方法,该复合设备可以同时执行多种蓝牙服务,蓝牙复合设备的功能更加多样化,降低了蓝牙设备的成本。
实施例2
本实施例提供一种蓝牙复合设备的通信方法,参见图2,蓝牙复合设备执行如下步骤:
步骤101、蓝牙复合设备开机,初始化蓝牙协议栈。
步骤102、蓝牙复合设备创建各项蓝牙服务,组织并广播蓝牙广播数据包,蓝牙广播数据包中声明该设备为多服务设备。
具体的,蓝牙广播数据包包括若干个广播数据单元;每个广播数据单元的第一个字节为长度值Len,广播数据单元剩余的部分为Len个字节的数据部分,数据部分的第一个字节为数据类型AD Type;
本实施例中,蓝牙复合设备支持两种蓝牙服务,分别为蓝牙KEY服务和蓝牙读卡器服务;且蓝牙KEY服务的唯一标识为0X 11 01,蓝牙读卡器服务的唯一标识为0X 11 02;
可选的,步骤102具体包括:蓝牙复合设备根据蓝牙复合设备信息和该蓝牙复合设备支持的蓝牙服务个数组织蓝牙广播数据包,并广播该蓝牙广播数据包。
具体的,步骤102具体包括:
蓝牙复合设备将第一预设值0X01和低功耗蓝牙模式信息0X05顺序拼接,计算拼接结果的长度作为蓝牙复合设备信息广播数据单元的长度0X02,将蓝牙复合设备信息广播数据单元的长度、第一预设值和低功耗蓝牙模式信息顺序拼接得到蓝牙复合设备信息广播数据单元0X 02 01 05;OX01为第一预设值,用于表明该广播数据单元的类型为蓝牙复合设备信息广播数据单元;
当前蓝牙复合设备支持两个蓝牙服务,蓝牙设备将第二预设值OX FF、第三预设值OX 6E 09和蓝牙服务个数0X 02顺序拼接,计算拼接结果的长度作为蓝牙服务个数广播数据单元的长度0X 04,将蓝牙服务个数广播数据单元的长度、第二预设值、第三预设值和蓝牙服务个数顺序拼接得到蓝牙服务个数广播数据单元;具体为:OX 04 FF 6E 09 02;OX FF为第二预设值,用于表明该广播数据单元的类型为蓝牙服务个数广播数据单元;
蓝牙复合设备将蓝牙复合设备信息广播数据单元0X 02 01 05和蓝牙服务个数广播数据单元OX 04 FF 6E 09 02顺序拼接,将拼接结果用0补齐得到长度为31字节的蓝牙广播数据包;具体为:0X 02 01 05 04 FF 6E 09 02 00 00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00 00 00;
需要说明的是,蓝牙广播数据包的长度为31个字节,若所有蓝牙广播数据单元的数据长度不足31字节则需用0将剩余字节数补齐。
需要说明的是,蓝牙服务个数广播数据单元表明该设备为多服务设备;
可选的,步骤102具体包括:蓝牙复合设备根据蓝牙复合设备信息和该蓝牙复合设备支持的所有蓝牙服务的唯一标识组织蓝牙广播数据包,并广播该蓝牙广播数据包;
具体的,蓝牙复合设备将第一预设值0X01和低功耗蓝牙模式信息0X05顺序拼接,计算拼接结果的长度作为蓝牙复合设备信息广播数据单元的长度0X02,将蓝牙复合设备信息广播数据单元的长度、第一预设值和低功耗蓝牙模式信息顺序拼接得到蓝牙复合设备信息广播数据单元0X 02 01 05;OX01为第一预设值,用于表明该广播数据单元的类型为蓝牙复合设备信息广播数据单元;
蓝牙复合设备将第四预设值0X02和蓝牙KEY服务的唯一标识OX 11 01顺序拼接,计算拼接结果的长度作为蓝牙服务类型广播数据单元的长度OX 03,将蓝牙复合类型广播数据单元的长度、第四预设值和蓝牙KEY服务的唯一标识顺序拼接得到蓝牙服务类型广播数据单元,具体为:OX 03 02 11 01;OX01为第四预设值,用于表明该广播数据单元的类型为蓝牙服务类型广播数据单元;
蓝牙复合设备将第四预设值0X02和蓝牙读卡器服务的唯一标识OX 11 02顺序拼接,计算拼接结果的长度作为蓝牙服务类型广播数据单元的长度OX 03,将蓝牙复合类型广播数据单元的长度、第四预设值和蓝牙读卡器服务的唯一标识顺序拼接得到蓝牙服务类型广播数据单元,具体为:OX 03 02 11 02;
蓝牙复合设备将蓝牙复合设备信息广播数据单元和两个蓝牙服务类型广播数据单元顺序拼接,将拼接结果用0补齐得到长度为31字节的蓝牙广播数据包,具体为:
0X 02 01 05 03 02 11 01 03 02 11 02 00 00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00;
需要说明的是,蓝牙服务类型广播数据单元表明该设备为多服务设备。
可选的,步骤102具体包括:蓝牙复合设备根据蓝牙复合设备信息、蓝牙服务个数和该蓝牙复合设备支持的蓝牙服务的唯一标识组织蓝牙广播数据包,并广播该蓝牙广播数据包;
具体的,蓝牙复合设备将蓝牙复合设备信息广播数据单元0X 02 01 05、两个蓝牙服务类型广播数据单元0X 03 02 11 01 03 02 11 02和蓝牙服务个数广播数据单元0X 04FF 6E 09 02顺序拼接,将拼接结果用0补齐得到长度为31字节的蓝牙广播数据包;具体为:
0X 02 01 05 03 02 11 01 03 02 11 02 04 FF 6E 09 02 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00 00;
蓝牙复合设备信息广播数据单元、蓝牙服务类型广播数据单元和蓝牙服务个数广播数据单元的生成方法同上在此不再赘述。
需要说明的是,蓝牙服务的唯一标识有6种数据类型:非完整的16bit唯一标识、完整的16bit唯一标识、非完整的32bit唯一标识、完整的32bit唯一标识;非完整的128bit唯一标识和完整的128bit唯一标识;
由于蓝牙广播数据包的固定长度为31个字节,当蓝牙复合设备创建多个蓝牙服务或者蓝牙服务的唯一标识采用较长字节数的数据类型时,蓝牙广播数据包则不能将所有创建的蓝牙服务的唯一标识均进行广播;针对上述情况,步骤102具体为:蓝牙复合设备根据蓝牙复合设备信息、蓝牙服务个数以及自定义的需要广播的蓝牙服务的唯一标识组织蓝牙广播数据包,并广播该蓝牙广播数据包。
步骤103、蓝牙复合设备接收蓝牙连接指令,与发送蓝牙连接指令的蓝牙设备建立蓝牙连接;
蓝牙复合设备接收到的指令为0X D6 BE 89 8E C5 22 1C FC 47 69 9F 65 4579 18 08 31 CE E3 5B 65 50 C6 27 86 03 0F 00 18 00 00 00 48 00,读取第五个字节为0XC5确定该指令为蓝牙连接指令,读取第七字节至第十二字节0X 1C FC 47 69 9F 65得到发送蓝牙连接请求的蓝牙设备的MAC地址,蓝牙复合设备根据获取到的MAC地址与发送蓝牙连接请求的蓝牙设备进行蓝牙连接。
步骤104、蓝牙复合设备判断蓝牙连接是否成功,是则执行步骤105,否则返回步骤103;
具体的,蓝牙复合设备判断是否接收到蓝牙连接事件,是则判定蓝牙连接成功,执行步骤105,否则判定蓝牙连接失败,返回步骤103。
步骤105、蓝牙复合设备接收蓝牙设备发送的搜索服务请求;
蓝牙复合设备接收到的指令具体为:0X 01 04 02 00 00 18 00 FF FF 00 00,读取第二个字节至第三个字节0X 04 02确定该指令为搜索服务请求。
步骤106、蓝牙复合设备根据该设备支持所有蓝牙服务的唯一标识生成搜索服务响应,并将搜索服务响应发送给与该蓝牙复合设备相连的蓝牙设备;
本实施例中,蓝牙复合设备生成的搜索服务响应具体为:蓝牙复合设备根据蓝牙服务响应的命令字0X 04 03、该蓝牙复合设备支持的蓝牙服务个数0X 02、蓝牙KEY服务的唯一标识0X 00 00 11 01、蓝牙读卡器服务的唯一标识0X 00 00 11 02以及搜索服务成功执行命令字0X 00组织搜索服务响应;具体为:0X 01 04 03 00 07 00 02 00 00 11 01 0000 11 02 00;
步骤107、蓝牙复合设备等待接收蓝牙设备发送的指令;当接收到操作指令时执行步骤108;
步骤107具体为:蓝牙复合设备判断是否在预设时间内接收到蓝牙设备发送的指令,当接收到操作指令时执行步骤108,否则关机。
本实施例中预设时间为3分钟,即蓝牙复合设备判断在3分钟内是否接收到指令,是则执行步骤108,否则关机。
具体的,蓝牙复合设备接收到的指令至少包括指令头;指令头中包含命令字和蓝牙服务的唯一标识;当指令头中的命令字为数据接收命令字且指令中还包括有效指令数据时则表明蓝牙复合设备接收到的指令为操作指令;
步骤108、蓝牙复合设备判断是否可以获取到当前蓝牙服务标识;是则执行步骤109,否则蓝牙复合设备将接收到的操作指令中的唯一标识作为当前蓝牙服务标识,执行步骤110;
步骤109、蓝牙复合设备判断操作指令中的唯一标识与当前蓝牙服务的标识是否一致,是则执行步骤110,否则进行错误处理;
需要说明是,错误处理可以为关机结束,或者返回步骤107;
步骤110、蓝牙复合设备根据当前蓝牙服务标识确定指令解析方法;根据确定的指令解析方法解析操作指令中的有效指令数据,并执行相应操作;
具体的,操作指令具体由指令头和有效指令数据两部分组成,指令头中包含有蓝牙服务的唯一标识;
例如,蓝牙复合设备接收到的指令为0X 1B 00 00 D3 C9 14 00 01 00 11 01 6F06 00 00 00 00 02 00 00 00 00 00 84 00 00 08;读取前十一个字节0X 1B 00 00 D3C9 14 00 01 00 11 01得到指令头;读取指令中第十二字节至二十七字节6F 06 00 00 0000 02 00 00 00 00 00 84 00 00 08得到有效指令数据。
蓝牙复合设备从操作指令的指令头中读取第十字节至第十一字节得到蓝牙服务的唯一标识0X 11 01,即蓝牙KEY服务的唯一标识;根据蓝牙服务的唯一标识确定指令解析方法;解析所述操作指令中的有效指令数据;即6F 06 00 00 00 00 02 00 00 00 00 0084 00 00 08;蓝牙复合设备根据指令解析方法判定该操作指令中的有效指令数据为获取随机数指令,则所述蓝牙复合设备生成随机数;
又如,蓝牙复合设备接收到的指令为:0X 1B 00 00 D3 C9 14 00 01 00 11 026F 06 00 00 00 00 02 00 00 00 00 00 C0 00 00 10,读取前十一个字节0X 1B 00 00D3 C9 14 00 01 00 11 02得到指令头,读取指令中第十二字节至二十七字节6F 06 00 0000 00 02 00 00 00 00 00 C0 00 00 10得到有效指令数据;
蓝牙复合设备从操作指令的指令头中读取第十字节至第十一字节得到蓝牙服务的唯一标识0X 11 02,即蓝牙读卡器服务的唯一标识;根据蓝牙服务的唯一标识确定指令解析方法;解析所述操作指令中的有效指令数据;即6F 06 00 00 00 00 02 00 00 00 0000 C0 00 00 10;蓝牙复合设备根据指令解析方法判定该操作指令中的有效指令数据为获取卡片数据指令,则蓝牙复合设备获取卡片数据;
需要说明的是,每种蓝牙服务均对应一种指令解析方法,该指令解析方法与现有技术中提供关于操作指令中的有效指令数据的解析方法一致;例如:在处于蓝牙KEY服务中蓝牙复合设备解析操作指令的有效指令数据遵循IC卡7816规范。
步骤111、蓝牙复合设备将操作结果返回与当前蓝牙复合设备相连的蓝牙设备;返回步骤107;
优选的,蓝牙复合设备根据操作结果和唯一标识符生成响应数据,并将响应数据返回与蓝牙复合设备相连的蓝牙设备。
具体的,蓝牙复合设备将蓝牙KEY的唯一标识和蓝牙复合设备生成的随机数顺序拼接,计算拼接结果的长度记为第一长度,将第一长度0X 00 0A、蓝牙KEY的唯一标识0X 1101和蓝牙复合设备生成的随机数0X 21 52 36 4A 8C CA 04 DE顺序拼接得到响应数据,响应数据具体为:0X 00 0A 11 01 21 52 36 4A 8C CA 04 DE;并将组织响应数据发送给蓝牙设备。
需要说明的是,步骤107之后还包括:当蓝牙复合设备接收到蓝牙设备发送的断开蓝牙连接指令时,判断接收到的断开蓝牙连接指令中包含的唯一标识与当前蓝牙服务标识是否一致,是则断开蓝牙连接,结束,否则继续等待接收所述蓝牙设备发送的指令。
本实施例,提供了一种蓝牙复合设备的通信方法,该蓝牙复合设备提供了选择蓝牙服务的功能,且在选定蓝牙服务之后只能运行该蓝牙服务;该蓝牙复合设备将接收到的首条操作指令中包含的唯一标识所对应的蓝牙服务作为当前蓝牙服务,该实施方式可以应用于交易等安全性较高的场合,增强了蓝牙服务通信的安全性,使得蓝牙复合设备的功能更加多样化,降低了蓝牙设备的成本。
实施例3
本实施例提供一种蓝牙复合设备的通信方法,参见图2,蓝牙复合设备执行如下步骤:
步骤201、蓝牙复合设备开机,初始化蓝牙协议栈。
步骤202、蓝牙复合设备创建各项蓝牙服务,组织并广播蓝牙广播数据包,蓝牙广播数据包中声明该设备为多服务设备。
步骤203、蓝牙复合设备接收蓝牙连接指令,与发送蓝牙连接指令的蓝牙设备建立蓝牙连接;
步骤204、蓝牙复合设备判断蓝牙连接是否成功,是则执行步骤205,否则返回步骤203;
步骤205、蓝牙复合设备接收蓝牙设备发送的搜索服务请求;
蓝牙复合设备接收到的指令具体为:0X 01 04 02 00 00 18 00 FF FF 00 00,读取第二个字节至第三个字节0X 04 02确定该指令为搜索服务请求。
步骤206、蓝牙复合设备根据该设备支持所有蓝牙服务的唯一标识生成搜索服务响应,并将搜索服务响应发送给与该蓝牙复合设备相连的蓝牙设备;
本实施例中,蓝牙复合设备生成的搜索服务响应具体为:蓝牙复合设备将该蓝牙复合设备支持的蓝牙服务个数0X 00 02、蓝牙KEY服务的唯一标识0X 11 01、蓝牙读卡器服务的唯一标识0X 11 02以及搜索服务成功执行命令字0X 00顺序拼接,计算拼接结果的长度得到第二长度0X 07,将蓝牙服务响应的命令字0X 04 03、第二长度0X 07、该蓝牙复合设备支持的蓝牙服务个数0X 00 02、蓝牙KEY服务的唯一标识0X 11 01、蓝牙读卡器服务的唯一标识0X 11 02以及搜索服务成功执行命令字0X 00顺序拼接得到搜索服务响应,具体为:0X 01 04 03 00 07 00 02 11 01 11 02 00;
步骤207、蓝牙复合设备接收蓝牙设备发送的选择蓝牙服务指令;将蓝牙服务指令中的唯一标识作为当前蓝牙服务标识;
本实施例中,蓝牙复合设备接收到的指令具体为0X 0F 00 00 D3 C9 09 00 0100 00 00 00 A4 11 01 00;读取第十四个字节至第十五个字节0X 11 01得到蓝牙服务的唯一标识,即本实施例中选择蓝牙服务信息的唯一标识为0X 11 01,即蓝牙KEY服务的唯一标识,并将蓝牙KEY服务的唯一标识作为当前蓝牙服务标识;
优选的,步骤207之后还包括:
步骤A1、蓝牙复合设备判断当前蓝牙服务标识是否为单向广播服务的唯一标识;是则执行步骤A2,否则执行步骤208;
具体的,单向广播服务具体为蓝牙复合设备使用低功耗蓝牙技术技术持续的向周围设备发送该设备特有的ID或者自定义的资讯信息的服务;
步骤A2、蓝牙复合设备组织并广播单向广播信息,当监听到关机事件时则关机,结束;
可选的,步骤A2为:蓝牙复合设备组织并广播单向广播信息,并开启单向广播定时器,当单向广播定时器达到预设时间时则关机,结束。
步骤208、蓝牙复合设备等待接收蓝牙设备发送的指令;当接收到操作指令时,执行步骤209;
步骤209、蓝牙复合设备判断操作指令中的唯一标识与当前蓝牙服务的标识是否一致,是则执行步骤210,否则错误处理;
步骤210、蓝牙复合设备根据当前蓝牙服务标识确定指令解析方法;根据确定的指令解析方法解析操作指令中的有效指令数据,并执行相应操作得到操作结果;
具体的,操作指令具体由指令头和有效指令数据两部分组成,指令头中包含有蓝牙服务的唯一标识;
例如,蓝牙复合设备接收到的指令为0X 1B 00 00 D3 C9 14 00 01 00 11 01 6F06 00 00 00 00 02 00 00 00 00 00 84 00 00 08;读取前十一个字节0X 1B 00 00 D3C9 14 00 01 00 11 01得到指令头;读取指令中第十二字节至二十七字节6F 06 00 00 0000 02 00 00 00 00 00 84 00 00 08得到有效指令数据。
蓝牙复合设备从操作指令的指令头中读取第十字节至第十一字节得到蓝牙服务的唯一标识0X 11 01,即蓝牙KEY服务的唯一标识;根据蓝牙服务的唯一标识确定指令解析方法;解析所述操作指令中的有效指令数据;即6F 06 00 00 00 00 02 00 00 00 00 0084 00 00 08;蓝牙复合设备根据指令解析方法判定该操作指令中的有效指令数据为获取随机数指令,则所述蓝牙复合设备生成随机数;
步骤211、蓝牙复合设备将操作结果返回与当前蓝牙复合设备相连的蓝牙设备;返回步骤208。
优选的,蓝牙复合设备根据操作结果和当前蓝牙服务的唯一标识生成响应数据,并将响应数据返回与蓝牙复合设备相连的蓝牙设备。
具体的,蓝牙复合设备将蓝牙KEY的唯一标识和蓝牙复合设备生成的随机数顺序拼接,计算拼接结果的长度记为第一长度,将第一长度0X 00 0A、蓝牙KEY的唯一标识0X 1101和蓝牙复合设备生成的随机数0X 21 52 36 4A 8C CA 04 DE顺序拼接得到响应数据,响应数据具体为:0X 00 0A 11 01 21 52 36 4A 8C CA 04 DE;并将组织响应数据发送给蓝牙设备。
需要说明的是,步骤107之后还包括:当蓝牙复合设备接收到蓝牙设备发送的断开蓝牙连接指令时,判断接收到的断开蓝牙连接指令中包含的唯一标识与当前蓝牙服务标识是否一致,是则断开蓝牙连接,结束,否则继续等待接收所述蓝牙设备发送的指令。
需要说明的是,步骤208中,当蓝牙复合设备等待接收蓝牙设备发送的指令还包括:当蓝牙复合设备接收到蓝牙设备发送的断开蓝牙连接指令时,判断接收到的断开蓝牙连接指令中包含的唯一标识与当前蓝牙服务标识是否一致,是则断开蓝牙连接,结束,否则继续等待接收所述蓝牙设备发送的指令。
本实施例,提供了一种蓝牙复合设备的通信方法,该蓝牙复合设备提供了选择蓝牙服务的功能,且在选定蓝牙服务之后只能运行该蓝牙服务;该蓝牙复合设备将接收到的选择蓝牙服务指令中包含的唯一标识所对应的蓝牙服务作为当前蓝牙服务,该实施方式可以应用于交易等安全性较高的场合,增强了蓝牙服务通信的安全性,使得蓝牙复合设备的功能更加多样化,降低了蓝牙设备的成本。
实施例4
本实施例提供一种蓝牙复合设备的通信方法,参见图4,蓝牙复合设备执行如下步骤:
步骤301、蓝牙复合设备开机,初始化蓝牙协议栈。
步骤302、蓝牙复合设备创建各项蓝牙服务,并根据创建的蓝牙服务的唯一标识显示蓝牙服务,接收用户触发的蓝牙服务选择信息;将蓝牙服务选择信息中的唯一标识作为当前蓝牙服务标识;
本实施例中,用户触发的当前蓝牙服务选择信息中的唯一标识为0X 11 01,即蓝牙KEY服务的唯一标识。
优选的,步骤302之后还包括:
步骤B1、蓝牙复合设备判断当前蓝牙服务标识是否为单向广播服务的唯一标识;是则执行步骤B2,否则执行步骤303
具体的,单向广播服务具体为蓝牙复合设备使用低功耗蓝牙技术技术持续的向周围设备发送该设备特有的ID或者自定义的资讯信息的服务;
步骤B2、蓝牙复合设备组织并广播单向广播信息,当监听到关机事件时则关机,结束;
可选的,步骤B2为:蓝牙复合设备组织并广播单向广播信息,并开启单向广播定时器,当单向广播定时器达到预设时间时则关机,结束。
步骤303、蓝牙复合设备根据蓝牙复合设备信息和当前蓝牙服务标识并组织并广播蓝牙广播数据包。
步骤303具体包括:
蓝牙复合设备将第一预设值0X01和低功耗蓝牙模式信息0X05顺序拼接,计算拼接结果的长度作为蓝牙复合设备信息广播数据单元的长度0X02,将蓝牙复合设备信息广播数据单元的长度、第一预设值和低功耗蓝牙模式信息顺序拼接得到蓝牙复合设备信息广播数据单元0X 02 01 05;OX01为第一预设值,用于表明该广播数据单元的类型为蓝牙复合设备信息广播数据单元;
蓝牙复合设备将第四预设值0X02和蓝牙KEY服务的唯一标识OX 11 01顺序拼接,计算拼接结果的长度作为蓝牙服务类型广播数据单元的长度OX 03,将蓝牙复合类型广播数据单元的长度、第四预设值和蓝牙KEY服务的唯一标识顺序拼接得到蓝牙服务类型广播数据单元,具体为:OX 03 02 11 01;OX01为第四预设值,用于表明该广播数据单元的类型为蓝牙服务类型广播数据单元;
蓝牙复合设备将蓝牙复合设备信息广播数据单元0X 02 01 05和蓝牙服务类型广播数据单元OX 03 02 11 01顺序拼接,将拼接结果用0补齐得到长度为31字节的蓝牙广播数据包;具体为:
0X 02 01 05 03 02 11 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000 00 00 00;
需要说明的是,蓝牙广播数据的长度为31个字节,若所有蓝牙广播数据单元的数据长度不足31字节则需用0将剩余字节数补齐。
步骤304、蓝牙复合设备接收蓝牙连接指令,与发送蓝牙连接指令的蓝牙设备建立蓝牙连接;
步骤305、蓝牙复合设备判断蓝牙连接是否成功,是则执行步骤306,否则返回步骤304;
步骤306、蓝牙复合设备等待接收蓝牙设备发送的指令;当接收到操作指令时,执行步骤307;
步骤307、蓝牙复合设备判断操作指令中的唯一标识与当前蓝牙服务标识是否一致,是则执行步骤308,否则错误处理;
步骤308、蓝牙复合设备根据当前蓝牙服务标识确定指令解析方法;根据确定的指令解析方法解析操作指令中的有效指令数据,并执行相应操作得到操作结果;
具体的,操作指令具体由指令头和有效指令数据两部分组成,指令头中包含有蓝牙服务的唯一标识;
例如,蓝牙复合设备接收到的指令为0X 1B 00 00 D3 C9 14 00 01 00 11 01 6F06 00 00 00 00 02 00 00 00 00 00 84 00 00 08;读取前十一个字节0X 1B 00 00 D3C9 14 00 01 00 11 01得到指令头;读取指令中第十二字节至二十七字节6F 06 00 00 0000 02 00 00 00 00 00 84 00 00 08得到有效指令数据。
蓝牙复合设备从操作指令的指令头中读取第十字节至第十一字节得到蓝牙服务的唯一标识0X 11 01,即蓝牙KEY服务的唯一标识;根据蓝牙服务的唯一标识确定指令解析方法;解析所述操作指令中的有效指令数据;即6F 06 00 00 00 00 02 00 00 00 00 0084 00 00 08;蓝牙复合设备根据指令解析方法判定该操作指令中的有效指令数据为获取随机数指令,则所述蓝牙复合设备生成随机数;
步骤309、蓝牙复合设备将操作结果返回与当前蓝牙复合设备相连的蓝牙设备;返回步骤306。
优选的,蓝牙复合设备根据操作结果和唯一标识符生成响应数据,并将响应数据返回与蓝牙复合设备相连的蓝牙设备。
具体的,蓝牙复合设备将蓝牙KEY的唯一标识和蓝牙复合设备生成的随机数顺序拼接,计算拼接结果的长度记为第一长度,将第一长度0X 00 0A、蓝牙KEY的唯一标识0X 1101和蓝牙复合设备生成的随机数0X 21 52 36 4A 8C CA 04 DE顺序拼接得到响应数据,响应数据具体为:0X 00 0A 11 01 21 52 36 4A 8C CA 04 DE;并将组织响应数据发送给蓝牙设备。
需要说明的是,步骤306中,当蓝牙复合设备等待接收蓝牙设备发送的指令还包括:当蓝牙复合设备接收到蓝牙设备发送的断开蓝牙连接指令时,判断接收到的断开蓝牙连接指令中包含的唯一标识与当前蓝牙服务标识是否一致,是则断开蓝牙连接,结束,否则继续等待接收所述蓝牙设备发送的指令。
本实施例,提供了一种蓝牙复合设备的通信方法,该蓝牙复合设备提供了选择蓝牙服务的功能,且在选定蓝牙服务之后只能运行该蓝牙服务;该蓝牙复合设备显示该设备所支持的蓝牙服务,并接收用户触发的蓝牙服务选择信息,将蓝牙服务选择信息中包含的唯一标识作为当前蓝牙服务,该实施方式可以应用于交易等安全性较高的场合,增强了蓝牙服务通信的安全性,使得蓝牙复合设备的功能更加多样化,降低了蓝牙设备的成本。
实施例5
本实施例提供一种蓝牙复合设备,参见图5,具体包括:
蓝牙广播模块11,用于组织并广播蓝牙广播数据包,蓝牙广播数据包中声明该设备为多服务设备;
接收模块12,用于接收连接请求;用于接收蓝牙设备发送的指令;
建立连接模块13,用于当接收模块12接收到连接请求后,与发送连接请求的蓝牙设备建立连接;
执行模块14,用于当接收模块12接收到的指令为操作指令时,根据操作指令指令头中的唯一标识确定指令解析方法,根据指令解析方法解析操作指令中的有效指令数据,并执行相应操作。
发送模块15,用于将执行模块14得到的操作结果发送给与该蓝牙复合设备相连的蓝牙设备。
优选的,蓝牙广播模块11具体用于,根据蓝牙复合设备信息和蓝牙复合设备支持的蓝牙服务个数组织蓝牙广播数据包,并广播该蓝牙广播数据包。
优选的,蓝牙广播模块11具体用于,从蓝牙复合设备支持的蓝牙服务中获取需要广播的蓝牙服务的唯一标识,并根据蓝牙复合设备信息、蓝牙服务个数和需要广播的蓝牙服务的唯一标识组织蓝牙广播数据包,并广播该蓝牙广播数据包。
相应的,蓝牙复合设备还包括:组织模块,用于当接收模块12接收到的指令为搜索蓝牙服务请求时根据蓝牙复合设备支持的所有蓝牙服务的唯一标识组织搜索蓝牙服务响应;
发送模块15,还用于将组织模块组织的搜索蓝牙服务响应发送给蓝牙设备。
优选的,蓝牙广播模块11具体用于,根据蓝牙复合设备信息和该设备支持的所有蓝牙服务的唯一标识组织蓝牙广播数据包,并广播该蓝牙广播数据包。
优选的,蓝牙复合设备还包括:
选择蓝牙服务模块,用于选择蓝牙服务,并将选定的蓝牙服务的唯一标识作为当前蓝牙服务标识;
第一判断模块,用于判断接收模块12接收到的操作指令中的唯一标识与当前蓝牙服务标识是否一致。
优选的,蓝牙复合设备还包括:关机模块,用于当第一判断模块判定接收模块12接收到的操作指令中的唯一标识与当前蓝牙服务标识一致时关机;
相应的,接收模块12,还用于当第一判断模块判定接收模块接收到的操作指令中的唯一标识与当前蓝牙服务标识一致时接收蓝牙设备发送的指令。
优选的,第一判断模块,还用于当接收模块12接收到的指令为断开蓝牙连接指令时,判断接收模块12接收到的断开蓝牙连接指令中的唯一标识与选择蓝牙服务模块选择的当前蓝牙服务的唯一标识是否一致;
相应的,蓝牙复合设备还包括:断开蓝牙连接模块,用于当第一判断模块判定接收模块12接收到的断开蓝牙连接指令中的唯一标识与蓝牙服务模块选择的当前蓝牙服务的唯一标识一致时断开蓝牙连接。
进一步的,选择蓝牙服务模块包括:
显示子模块,用于根据支持的所有蓝牙服务的唯一标识显示蓝牙服务选择界面,并接收用户触发的蓝牙服务选择信息;
当前蓝牙服务标识生成子模块,用于将显示子模块接收到的蓝牙服务选择信息中的唯一标识作为当前蓝牙服务标识;
相应的,蓝牙广播模块11,还用于根据蓝牙复合设备信息和当前蓝牙服务标识生成子模块生成的当前蓝牙服务标识组织蓝牙广播数据包,并广播该蓝牙广播数据包。
优选的,蓝牙复合设备还包括:
第二判断模块,用于判断当前蓝牙服务标识生成子模块生成的当前蓝牙服务标识与单向广播服务的唯一标识是否一致;
单向广播模块,用当第二判断模块判定当前蓝牙服务标识与单向广播服务的唯一标识一致时组织并广播单向广播信息;
相应的,蓝牙广播模块11,用于当第二判断模块判定当前蓝牙服务不是单向广播服务时组织并广播蓝牙广播数据包。
具体的,选择蓝牙服务模块,用于当接收模块12接收到的指令为蓝牙服务选择信息时,将接收模块12接收到的蓝牙服务选择信息中包含的唯一标识作为当前蓝牙服务标识。
优选的,蓝牙复合设备还包括:
第五判断模块,用于判断是否支持接收模块12接收到的蓝牙服务选择信息中的唯一标识所对应的蓝牙服务;
相应的,选择蓝牙服务模块具体用于,当第五判断模块判定支持接收模块12接收到的蓝牙服务选择信息中的唯一标识所对应的蓝牙服务时将接收模块接收到的蓝牙服务选择信息中包含的唯一标识作为当前蓝牙服务标识。
优选的,选择蓝牙服务模块还包括:
判断子模块,用于当接收模块接收到操作指令时,判断是否可以获取到当前蓝牙服务标识;
当前蓝牙服务标识生成子模块,用于当判断子模块判定不可以获取到当前蓝牙服务标识时,将操作指令中包含的唯一标识作为当前蓝牙服务标识;
相应的,第一判断模块,用于当判断子模块判定可以获取到当前蓝牙服务标识时判断接收模块12接收到的操作指令中的唯一标识与当前蓝牙服务标识是否一致。
优选的,蓝牙复合设备还包括:
第四判断模块,用于判断当前蓝牙服务标识生成子模块生成当前蓝牙服务标识与单向广播服务的唯一标识是否一致;
单向广播模块,用于当第四判断模块判定当前蓝牙服务标识与单向广播服务的唯一标识一致时组织并广播单向广播信息;
相应的,第一判断模块,用于当第四判断模块判定当前蓝牙服务标识与单向广播服务的唯一标识不一致时判断接收模块12接收到的操作指令中的唯一标识与当前蓝牙服务标识是否一致。
优选的,蓝牙复合设备还包括:
第三判断模块,用于判断当前蓝牙服务标识与单向广播服务的唯一标识是否一致;
单向广播模块,用于当第三判断模块判定当前蓝牙服务不是单向广播服务时组织并广播蓝牙广播数据包;
相应的,接收模块12,用于当第三判断模块判定当前蓝牙服务标识与单向广播服务的唯一标识不一致时接收蓝牙设备发送的操作指令。
可选的,单向广播模块具体包括:
组织子模块,用于组织并广播单向广播信息;
定时子模块,用于当组织子模块组织并广播单向广播信息之后开启单向广播定时器;
关机子模块,用于当定时模块中的单向广播定时器达到预设时间时关机。
可选的,单向广播模块具体包括:
组织子模块,用于组织并广播单向广播信息;
监控子模块,用于监控关机事件;
关机子模块,用于当监控子模块监控到关机事件时关机。
可选的,单向广播模块具体包括:
组织子模块,用于组织并广播单向广播信息;
监控子模块,用于监控关机事件;
关机子模块,用于当所述监控子模块监控到关机事件时关机;
优选的,接收模块12具体用于,判断是否在预设时间内接收到蓝牙设备发送的操作指令;
相应的,第一判断模块,用于当接收模块12在预设时间内接收到操作指令时判断接收模块12接收到的操作指令中的唯一标识与选择模块选择的当前蓝牙服务标识是否一致;
蓝牙复合设备还包括:
关机模块,用于当接收模块12没有在预设时间内接收到操作指令时关机。
优选的,蓝牙复合设备还包括:
开机模块,用于开机,初始化蓝牙协议栈,并创建蓝牙服务。
以上所述的实施例只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

Claims (38)

1.一种蓝牙复合设备的工作方法,其特征在于,所述蓝牙复合设备预置有蓝牙服务,每个蓝牙服务都有唯一标识和与所述唯一标识所对应的指令解析方法;所述蓝牙复合设备的工作方法包括:
步骤S1、蓝牙复合设备组织并广播蓝牙广播数据包,所述蓝牙广播数据包中声明该设备为多服务设备;
步骤S2、所述蓝牙复合设备接收连接请求,并与发送所述连接请求的蓝牙设备建立连接;
步骤S3、所述蓝牙复合设备等待接收所述蓝牙设备发送的指令;
步骤S4、当所述蓝牙复合设备接收到操作指令时,所述蓝牙复合设备根据所述操作指令中的指令头包含的蓝牙服务的唯一标识确定指令解析方法,根据指令解析方法解析所述操作指令中的有效指令数据,并执行相应操作;返回步骤S3。
2.如权利要求1所述的方法,其特征在于,所述蓝牙复合设备组织并广播蓝牙广播数据包具体包括:所述蓝牙复合设备根据所述蓝牙复合设备信息和该设备支持的蓝牙服务个数组织蓝牙广播数据包,并广播该蓝牙广播数据包。
3.如权利要求1所述的方法,其特征在于,所述蓝牙复合设备组织并广播蓝牙广播数据包具体包括:所述蓝牙复合设备从该设备支持的蓝牙服务中获取需要广播的蓝牙服务的唯一标识,并根据所述蓝牙复合设备信息、所述蓝牙服务个数和所述需要广播的蓝牙服务的唯一标识组织蓝牙广播数据包,并广播该蓝牙广播数据包。
4.如权利要求2或3所述的方法,其特征在于,所述等待接收所述蓝牙设备发送的指令之后,还包括:
所述蓝牙复合设备接收所述蓝牙设备发送的搜索蓝牙服务指令,根据该设备支持的所有蓝牙服务的唯一标识组织搜索蓝牙服务响应,并将所述搜索蓝牙服务响应发送过给所述蓝牙设备。
5.如权利要求1所述的方法,其特征在于,蓝牙复合设备组织并广播蓝牙广播数据包具体包括:所述蓝牙复合设备根据所述蓝牙复合设备信息和该设备支持的所有蓝牙服务的唯一标识组织蓝牙广播数据包,并广播该蓝牙广播数据包。
6.如权利要求1所述的方法,其特征在于,所述蓝牙复合设备接收到操作指令之后,所述蓝牙复合设备根据所述操作指令中的指令头包含的蓝牙服务的唯一标识确定指令解析方法之前还包括:
步骤A、所述蓝牙复合设备判断所述操作指令中包含的唯一标识与当前蓝牙服务标识是否一致,是则执行步骤S4;否则进行错误处理;
所述步骤A之前还包括:所述蓝牙复合设备选择蓝牙服务,并将选定的蓝牙服务的唯一标识作为当前蓝牙服务标识。
7.如权利要求6所述的方法,其特征在于,所述错误处理具体为关机或者返回步骤S3。
8.如权利要求6所述的方法,其特征在于,所述蓝牙复合设备等待接收所述蓝牙设备发送的指令之后还包括:当所述蓝牙复合设备接收到所述蓝牙设备发送的断开蓝牙连接指令时,判断接收到的所述断开蓝牙连接指令中包含的唯一标识与当前蓝牙服务标识是否一致,是则断开蓝牙连接,结束,否则返回步骤S3。
9.如权利要求6所述的方法,其特征在于,所述蓝牙复合设备选择蓝牙服务,并将选定的蓝牙服务的唯一标识作为当前蓝牙服务标识,具体为:所述蓝牙复合设备根据该设备支持的所有蓝牙服务的唯一标识显示蓝牙服务选择界面,接收用户触发的蓝牙服务选择信息,并将所述蓝牙服务选择信息中包含蓝牙服务的唯一标识作为当前蓝牙服务标识;
所述蓝牙复合设备组织并广播蓝牙广播数据包具体包括:所述蓝牙复合设备根据蓝牙复合设备信息和所述当前蓝牙服务标识组织蓝牙广播数据包,并广播该蓝牙广播数据包。
10.如权利要求9所述的方法,其特征在于,所述蓝牙复合设备选择蓝牙服务,并将选定的蓝牙服务的唯一标识作为当前蓝牙服务标识之后,所述蓝牙复合设备组织并广播蓝牙广播数据包之前还包括:所述蓝牙复合设备判断所述当前蓝牙服务标识与单向广播服务的唯一标识是否一致,是则组织并广播单向广播信息,否则继续执行所述蓝牙复合设备组织并广播蓝牙广播数据包。
11.如权利要求6所述的方法,其特征在于,所述蓝牙复合设备选择蓝牙服务,并将选定的蓝牙服务的唯一标识作为当前蓝牙服务标识,具体为:当所述蓝牙复合设备接收到的指令为蓝牙服务选择信息时,将所述蓝牙服务选择信息中包含唯一标识作为当前蓝牙服务标识。
12.如权利要求11所述的方法,其特征在于,所述蓝牙复合设备选择蓝牙服务,并将选定的蓝牙服务的唯一标识作为当前蓝牙服务标识之后,所述步骤S4之前还包括:所述蓝牙设备复合设备判断是否支持所述蓝牙服务选择信息中包含的唯一标识所对应的蓝牙服务,是则继续执行将所述蓝牙服务选择信息中包含唯一标识作为当前蓝牙服务标识,否则结束。
13.如权利要求11所述的方法,其特征在于,所述蓝牙复合设备选择蓝牙服务,并将选定的蓝牙服务的唯一标识作为当前蓝牙服务标识之后,所述步骤S4之前还包括:所述蓝牙复合设备判断所述当前蓝牙服务标识与单向广播服务的唯一标识是否一致,是则组织并广播单向广播信息,否则继续执行所述步骤S3。
14.如权利要求6所述的方法,其特征在于,所述蓝牙复合设备选择蓝牙服务,并将选定的蓝牙服务的唯一标识作为当前蓝牙服务标识,具体为:判断是否可以获取到当前蓝牙服务,是则执行步骤A,否则将所述操作指令中包含的唯一标识作为当前蓝牙服务标识,执行所述蓝牙复合设备根据所述操作指令中的指令头包含的蓝牙服务的唯一标识确定指令解析方法。
15.如权利要求14所述的方法,其特征在于,所述将所述操作指令中包含的唯一标识作为当前蓝牙服务标识之后,所述执行所述蓝牙复合设备根据所述操作指令中的指令头包含的蓝牙服务的唯一标识确定指令解析方法之前还包括:所述蓝牙复合设备判断所述当前蓝牙服务标识与单向广播服务的唯一标识是否一致,是则组织并广播单向广播信息,否则继续执行所述蓝牙复合设备根据所述操作指令中的指令头包含的蓝牙服务的唯一标识确定指令解析方法。
16.如权利要求9或11或14所述的方法,其特征在于,
所述蓝牙复合设备判定当前蓝牙服务为单向广播服务时组织并广播单向广播信息,并开启单向广播定时器;
所述组织并广播单向广播信息之后还包括:当所述单向广播定时器达到预设时间时关机,结束。
17.如权利要求9或11或14所述的方法,其特征在于,所述组织并广播单向广播信息之后还包括:当监听到关机事件时关机,结束。
18.如权利要求1所述的方法,其特征在于,所述步骤S3具体包括:所述蓝牙复合设备等待接收所述蓝牙设备发送的指令;并判断是否在预设时间内接收到所述指令,当所述蓝牙复合设备在预设时间内接收到指令且当所述蓝牙复合设备接收到操作指令时,执行步骤S4;当所述蓝牙复合设备没有在预设时间内接收到所述指令时,结束。
19.如权利要求1所述的方法,其特征在于,所述步骤S1之前还包括:所述蓝牙复合设备开机,初始化蓝牙协议栈,并创建蓝牙服务。
20.一种蓝牙复合设备,其特征在于,包括:
蓝牙广播模块,用于组织并广播蓝牙广播数据包,所述蓝牙广播数据包中声明该设备为多服务设备;
接收模块,用于接收连接请求;用于接收所述蓝牙设备发送的指令;
建立连接模块,用于当所述接收模块接收到所述连接请求后,与发送所述连接请求的蓝牙设备建立连接;
执行模块,用于当所述接收模块接收到的指令为操作指令时,根据所述操作指令指令头中的唯一标识确定指令解析方法,根据指令解析方法解析所述操作指令中的有效指令数据,并执行相应操作。
21.如权利要求20所述的蓝牙复合设备,其特征在于,所述蓝牙广播模块具体用于,根据所述蓝牙复合设备信息和该设备支持的蓝牙服务个数组织蓝牙广播数据包,并广播该蓝牙广播数据包。
22.如权利要求20所述的蓝牙复合设备,其特征在于,所述蓝牙广播模块具体用于,从所述蓝牙复合设备支持的蓝牙服务中获取需要广播的蓝牙服务的唯一标识,并根据所述蓝牙复合设备信息、所述蓝牙服务个数和所述需要广播的蓝牙服务的唯一标识组织蓝牙广播数据包,并广播该蓝牙广播数据包。
23.如权利要求21或22所述的蓝牙复合设备,其特征在于,
所述蓝牙复合设备还包括:组织模块,用于当所述接收模块接收到的指令为搜索蓝牙服务请求时根据所述蓝牙复合设备支持的所有蓝牙服务的唯一标识组织搜索蓝牙服务响应;
所述发送模块,还用于将所述组织模块组织的所述搜索蓝牙服务响应发送给所述蓝牙设备。
24.如权利要求20所述的蓝牙复合设备,其特征在于,所述蓝牙广播模块具体用于,根据所述蓝牙复合设备信息和该设备支持的所有蓝牙服务的唯一标识组织蓝牙广播数据包,并广播该蓝牙广播数据包。
25.如权利要求20所述的蓝牙服务设备,其特征在于,还包括:
选择蓝牙服务模块,用于选择蓝牙服务,并将选定的蓝牙服务的唯一标识作为当前蓝牙服务标识;
第一判断模块,用于判断所述接收模块接收到的所述操作指令中的唯一标识与当前蓝牙服务标识是否一致。
26.如权利要求25所述的蓝牙复合设备,其特征在于,还包括:关机模块,用于当所述第一判断模块判定所述接收模块接收到的所述操作指令中的唯一标识与当前蓝牙服务标识一致时关机;
所述接收模块,还用于当所述第一判断模块判定所述接收模块接收到的所述操作指令中的唯一标识与当前蓝牙服务标识一致时接收所述蓝牙设备发送的指令。
27.如权利要求25所述的蓝牙复合设备,其特征在于,
所述第一判断模块,用于当所述接收模块接收到的指令为断开蓝牙连接指令时,判断所述接收模块接收到的所述断开蓝牙连接指令中的唯一标识与所述选择蓝牙服务模块选择的所述当前蓝牙服务的唯一标识是否一致;
断开蓝牙连接模块,用于当所述第一判断模块判定所述接收模块接收到的所述断开蓝牙连接指令中的唯一标识与所述选择蓝牙服务模块选择的所述当前蓝牙服务的唯一标识一致时断开蓝牙连接。
28.如权利要求25所述的蓝牙复合设备,其特征在于,所述选择蓝牙服务模块,具体包括:
显示子模块,用于根据支持的所有蓝牙服务的唯一标识显示蓝牙服务选择界面,并接收用户触发的蓝牙服务选择信息;
当前蓝牙服务标识生成子模块,用于将所述显示子模块接收到的所述蓝牙服务选择信息中的唯一标识作为当前蓝牙服务标识;
所述蓝牙广播模块,还用于根据蓝牙复合设备信息和所述当前蓝牙服务标识生成子模块生成的所述当前蓝牙服务标识组织蓝牙广播数据包,并广播该蓝牙广播数据包。
29.如权利要求28所述的蓝牙复合设备,其特征在于,还包括:
第二判断模块,用于判断所述当前蓝牙服务标识生成子模块生成的当前蓝牙服务标识与单向广播服务的唯一标识是否一致;
单向广播模块,用于当所述第二判断模块判定当前蓝牙服务标识与单向广播服务的唯一标识一致时组织并广播单向广播信息;
所述蓝牙广播模块,用于当所述第二判断模块判定当前蓝牙服务标识与单向广播服务的唯一标识不一致时组织并广播蓝牙广播数据包。
30.如权利要求25所述的蓝牙复合设备,其特征在于,所述选择蓝牙服务模块具体用于,当所述接收模块接收到的指令为蓝牙服务选择信息时,将所述接收模块接收到的所述蓝牙服务选择信息中包含的唯一标识作为当前蓝牙服务标识。
31.如权利要求30所述的蓝牙复合设备,其特征在于,还包括:
第五判断模块,用于判断是否支持所述接收模块接收到的所述蓝牙服务选择信息中的唯一标识所对应的蓝牙服务;
所述选择蓝牙服务模块具体用于,当所述第五判断模块判定支持所述接收模块接收到的所述蓝牙服务选择信息中的唯一标识所对应的蓝牙服务时将所述接收模块接收到的所述蓝牙服务选择信息中包含的唯一标识作为当前蓝牙服务标识。
32.如权利要求29所述的蓝牙复合设备,其特征在于,还包括:
第三判断模块,用于判断所述当前蓝牙服务标识与单向广播服务的唯一标识是否一致;
单向广播模块,用于当所述第三判断模块判定当前蓝牙服务不是单向广播服务时组织并广播蓝牙广播数据包;
所述接收模块,用于当所述第三判断模块判定所述当前蓝牙服务标识与单向广播服务的唯一标识不一致时接收所述蓝牙设备发送的操作指令。
33.如权利要求25所述的蓝牙复合设备,其特征在于,所述选择蓝牙服务模块具体包括:
判断子模块,用于当所述接收模块接收到操作指令时,判断是否可以获取到当前蓝牙服务标识;
当前蓝牙服务标识生成子模块,用于当所述判断子模块判定不可以获取到当前蓝牙服务标识时,将所述操作指令中包含的唯一标识作为当前蓝牙服务标识;
所述第一判断模块,用于当所述判断子模块判定可以获取到当前蓝牙服务服务时判断所述接收模块接收到的所述操作指令中的唯一标识与所述当前蓝牙服务标识是否一致。
34.如权利要求32所述的蓝牙复合设备,其特征在于,还包括:
第四判断模块,用于判断所述当前蓝牙服务标识生成子模块生成当前蓝牙服务标识与单向广播服务的唯一标识是否一致;
单向广播模块,用于当所述第四判断模块判定当前蓝牙服务标识与单向广播服务的唯一标识一致时组织并广播单向广播信息;
所述第一判断模块,用于当所述第四判断模块判定所述当前蓝牙服务标识与单向广播服务的唯一标识不一致时判断所述接收模块接收到的所述操作指令中的唯一标识与当前蓝牙服务标识是否一致。
35.如权利要28或30或34所述的蓝牙复合设备,其特征在于,所述单向广播模块具体包括:
组织子模块,用于组织并广播单向广播信息;
定时子模块,用于当所述组织子模块组织并广播单向广播信息之后开启单向广播定时器;
关机子模块,用于当所述定时模块中的单向广播定时器达到预设时间时关机。
36.如权利要28或30或34所述的蓝牙复合设备,其特征在于,
所述单向广播模块具体包括:
组织子模块,用于组织并广播单向广播信息;
监控子模块,用于监控关机事件;
关机子模块,用于当所述监控子模块监控到关机事件时关机。
37.如权利要求20所述的蓝牙复合设备,其特征在于,
所述接收模块具体用于,判断是否在预设时间内接收到所述蓝牙设备发送的操作指令;
所述第一判断模块,用于当所述接收模块在预设时间内接收到所述操作指令时判断所述接收模块接收到的所述操作指令中的唯一标识与所述选择模块选择的所述当前蓝牙服务标识是否一致;
所述蓝牙复合设备还包括:
关机模块,用于当所述接收模块没有在预设时间内接收到所述操作指令时关机。
38.如权利要求20所述的蓝牙复合设备,其特征在于,还包括:
开机模块,用于开机,初始化蓝牙协议栈,并创建蓝牙服务。
CN201710799936.9A 2017-09-07 2017-09-07 一种蓝牙复合设备及其通信方法 Active CN107592607B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710799936.9A CN107592607B (zh) 2017-09-07 2017-09-07 一种蓝牙复合设备及其通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710799936.9A CN107592607B (zh) 2017-09-07 2017-09-07 一种蓝牙复合设备及其通信方法

Publications (2)

Publication Number Publication Date
CN107592607A true CN107592607A (zh) 2018-01-16
CN107592607B CN107592607B (zh) 2021-07-02

Family

ID=61052049

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710799936.9A Active CN107592607B (zh) 2017-09-07 2017-09-07 一种蓝牙复合设备及其通信方法

Country Status (1)

Country Link
CN (1) CN107592607B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110972123A (zh) * 2019-12-04 2020-04-07 上海肇观电子科技有限公司 实现无线连接的方法、硬件及计算机介质
CN111556478A (zh) * 2020-04-30 2020-08-18 杭州涂鸦信息技术有限公司 一种蓝牙设备
CN112969146A (zh) * 2021-02-20 2021-06-15 上海吉盛网络技术有限公司 一种基于蓝牙广播在电梯用梯场景下的高效通信方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN202395769U (zh) * 2011-12-29 2012-08-22 深圳普阳科技有限公司 多功能蓝牙通信终端
CN103780285A (zh) * 2012-10-23 2014-05-07 中兴通讯股份有限公司 一种通过蓝牙广播数据的方法及蓝牙设备
CN104219617A (zh) * 2014-08-22 2014-12-17 腾讯科技(深圳)有限公司 服务获取方法及装置
CN104320163A (zh) * 2014-10-10 2015-01-28 安徽华米信息科技有限公司 一种通讯方法及装置
CN105122771A (zh) * 2012-11-28 2015-12-02 博能电子公司 蓝牙服务发现
US9603013B2 (en) * 2014-08-15 2017-03-21 Facebook, Inc. Bluetooth beacon protocol

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN202395769U (zh) * 2011-12-29 2012-08-22 深圳普阳科技有限公司 多功能蓝牙通信终端
CN103780285A (zh) * 2012-10-23 2014-05-07 中兴通讯股份有限公司 一种通过蓝牙广播数据的方法及蓝牙设备
CN105122771A (zh) * 2012-11-28 2015-12-02 博能电子公司 蓝牙服务发现
US9603013B2 (en) * 2014-08-15 2017-03-21 Facebook, Inc. Bluetooth beacon protocol
CN104219617A (zh) * 2014-08-22 2014-12-17 腾讯科技(深圳)有限公司 服务获取方法及装置
CN104320163A (zh) * 2014-10-10 2015-01-28 安徽华米信息科技有限公司 一种通讯方法及装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110972123A (zh) * 2019-12-04 2020-04-07 上海肇观电子科技有限公司 实现无线连接的方法、硬件及计算机介质
CN110972123B (zh) * 2019-12-04 2023-11-03 上海肇观电子科技有限公司 实现无线连接的方法、硬件及计算机介质
CN111556478A (zh) * 2020-04-30 2020-08-18 杭州涂鸦信息技术有限公司 一种蓝牙设备
CN111556478B (zh) * 2020-04-30 2023-04-07 杭州涂鸦信息技术有限公司 一种蓝牙设备
CN112969146A (zh) * 2021-02-20 2021-06-15 上海吉盛网络技术有限公司 一种基于蓝牙广播在电梯用梯场景下的高效通信方法
CN112969146B (zh) * 2021-02-20 2022-05-20 上海吉盛网络技术有限公司 一种基于蓝牙广播在电梯用梯场景下的高效通信方法

Also Published As

Publication number Publication date
CN107592607B (zh) 2021-07-02

Similar Documents

Publication Publication Date Title
CN105050083B (zh) 一种智能设备的网络配置方法及系统
CN107006049A (zh) 一种智能设备及其建立设备间蓝牙连接的方法、装置
US7890140B2 (en) Macro implementing method and apparatus using SAT between subscriber identity module and mobile equipment
CN105208583B (zh) 一种配置智能家电入网的方法、装置及智能设备
CN101977382B (zh) 音视频集成控制电路及其接入接入点的方法
CN107592607A (zh) 一种蓝牙复合设备及其通信方法
CN103716901B (zh) 设备之间连接的方法、系统及相关设备
CN105162498B (zh) 蓝牙适配器及其通信方法
CN106686526B (zh) 一种电器的路由信息的获取方法及装置
CN108200559A (zh) 一种通过广播数据表示蓝牙设备功能的方法及蓝牙设备
CN107071709A (zh) 一种与蓝牙设备的配对方法及装置
CN106856609A (zh) 一种网络配置方法及装置
CN106658372A (zh) 低功耗数据传输方法及系统、发送设备及接收设备
CN106888488A (zh) 智能设备的联网方法及其装置
CN107332866A (zh) 一种输变电状态监测方法、设备及系统
CN108712739A (zh) 一种ios系统获取蓝牙地址的方法及装置
CN107943529A (zh) 设备配对方法、装置、可读存储介质及交互智能设备
CN105959968A (zh) 一种Wifi配置方法及装置
CN106686535A (zh) 一种在iOS系统上实现低功耗蓝牙通信的方法及装置
CN106912043A (zh) 一种Wi‑Fi设备、配网方法及系统
CN105246129B (zh) 一种智能终端的组网方法及装置
CN107567109A (zh) 一种wifi智能硬件快速连接wifi设备的系统及方法
CN108391259A (zh) 一种蓝牙快速配对的方法
CN106793003A (zh) 一种智能设备的交互式配置入网方法
CN103442377B (zh) 一种wifi模块与多个ap同时进行wps会话协商的方法

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