一种智能设备数据交互方法、智能设备和存储装置与流程

文档序号:22336535发布日期:2020-09-25 18:09阅读:180来源:国知局
一种智能设备数据交互方法、智能设备和存储装置与流程

本申请涉及智能设备技术领域,特别是涉及一种智能设备数据交互方法、智能设备和存储装置。



背景技术:

随着智能手机和平板等移动设备的普及,诸如手环和智能手表等智能设备的应用也愈发广泛,但是由于智能设备基于的硬件平台不同,智能设备会采用不同的底层蓝牙协议栈,由于不同协议栈之间的差异,在做智能设备的跨平台开发时智能设备的兼容性较差,开发难度较大,用户在使用时也要随智能设备底层蓝牙协议栈的不同而改变使用习惯。



技术实现要素:

本申请主要解决的技术问题是提供一种智能设备数据交互方法、智能设备和存储装置,能够对智能设备基于不同平台开发时无需修改统一接口,并且让用户在使用通用属性服务时不感知智能设备的底层蓝牙协议栈。

为解决上述技术问题,本申请采用的一个技术方案是:提供一种智能设备数据交互方法,该方法包括:将多个蓝牙协议栈用于提供通用属性服务的底层接口利用同一计算机语言封装形成一个统一接口,其中所述统一接口内设置有用于调用所有所述蓝牙协议栈的所述底层接口的调用函数;利用所述统一接口创建所述通用属性服务,并利用所述统一接口使所述智能设备与移动设备进行数据交互。

其中,所述将多个蓝牙协议栈用于提供通用属性服务的底层接口利用同一计算机语言封装形成一个统一接口,包括:获取多个所述蓝牙协议栈用于提供所述通用属性服务的底层接口信息;根据所述底层接口信息利用同一所述计算机语言创建对应所述底层接口的调用函数。

其中,所述利用所述统一接口创建所述通用属性服务,并利用所述统一接口使所述智能设备与移动设备进行数据交互,之前,包括:获取所述智能设备的蓝牙协议栈中用于提供所述通用属性服务的底层接口信息;将所述统一接口中非所述智能设备的蓝牙协议栈中用于提供所述通用属性服务的底层接口对应的调用函数屏蔽。

其中,所述利用所述统一接口创建所述通用属性服务,包括:通过所述统一接口调用所述智能设备的蓝牙协议栈中用于创建通用属性服务的接口,创建所述通用属性服务;通过所述统一接口调用所述智能设备的蓝牙协议栈中用于创建通用属性特征的接口,创建所述通用属性服务对应的特征;通过所述统一接口调用所述智能设备的蓝牙协议栈中用于绑定通用属性服务和特征的接口,将所述通用属性服务及其对应的所述特征绑定。

其中,所述利用所述统一接口使所述智能设备与移动设备进行数据交互,包括:通过所述统一接口调用所述智能设备的蓝牙协议栈中用于广播的接口和用于扫描的接口,与所述移动设备建立蓝牙连接;通过所述统一接口调用所述智能设备的蓝牙协议栈中用于读写的接口,读取所述智能设备采集或存储的数据,以用于传输给所述移动设备;和/或,通过所述统一接口调用所述智能设备的蓝牙协议栈中用于读写的接口,将所述移动设备发送的数据写入所述智能设备的相应位置。

其中,所述利用所述统一接口使所述智能设备与移动设备进行数据交互,之后,包括:通过所述统一接口调用所述智能设备的蓝牙协议栈中用于广播的接口,向所述移动设备发送数据交互成功的消息;断开与所述移动设备的蓝牙连接。

其中,所述多个蓝牙协议栈包括bluez协议栈、bsa协议栈、bluemagic协议栈、affix协议栈、bluelet协议栈中至少两种;所述智能设备的蓝牙协议栈为bluez协议栈、bsa协议栈、bluemagic协议栈、affix协议栈、bluelet协议栈中的一种。

其中,所述同一计算机语言为c语言、c++语言、java语言、汇编语言中的一种。

为解决上述技术问题,本申请采用的另一个技术方案是:提供一种智能设备,该智能设备包括:存储器和处理器,其中,所述存储器存储有程序数据,所述处理器调用所述程序数据以实现上述技术方案中的智能设备数据交互方法。

为解决上述技术问题,本申请采用的另又一个技术方案是:提供一种具有存储功能的装置,其上存储有程序数据,所述程序数据被处理器执行以用于实现上述技术方案中的智能设备数据交互方法。

本申请的有益效果是:本申请将多个蓝牙协议栈用于提供通用属性服务的底层接口用同一种计算机语言做了封装形成一个统一接口,该统一接口可调用多个蓝牙协议栈的底层接口,进而对智能设备基于不同平台开发时无需修改统一接口,利用该统一接口创建通用属性服务,实现智能设备与移动设备进行数据交互,用户不感知智能设备的底层蓝牙协议栈,可获得一致的使用体验。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:

图1是本申请智能设备数据交互方法一实施方式的流程示意图;

图2是图1中步骤s102对应的一实施方式的流程示意图;

图3是本申请智能设备一实施方式的结构示意图;

图4是本申请具有存储功能的装置一实施方式的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。

请参阅图1,图1是本申请智能设备数据交互方法一实施方式的流程示意图,该方法包括:

步骤s101:将多个蓝牙协议栈用于提供通用属性服务的底层接口利用同一计算机语言封装形成一个统一接口。

具体地,上述步骤s101中,统一接口内设置有用于调用所有蓝牙协议栈的底层接口的调用函数,基于不同硬件平台的,不同的底层蓝牙协议栈有各自用于提供通用属性服务的底层接口。其中,比如:心率计数、传感器温度、传感器湿度、警报通知、运行速度与节奏等通用属性服务,不同的蓝牙协议栈会包括各自用于提供通用属性服务的接口,并且不同蓝牙协议栈可提供的通用属性服务也存在一定差异,这导致了智能设备改变硬件平台时,软件也要相应做大幅度调整或者推翻重新编写。但是,统一的接口包括了用于调用主流的蓝牙协议栈用于提供通用属性服务的底层接口的调用函数,该统一接口可通过c语言来实现,进而在更换硬件平台后,统一接口仍能用于调用新的蓝牙协议栈用于提供的通用属性服务的底层接口。

步骤s102:利用统一接口创建通用属性服务,并利用统一接口使智能设备与移动设备进行数据交互。

具体地,上述步骤s102中,当用户选择使用一通用属性服务时,利用统一接口去调用智能设备的蓝牙协议栈用于提供通用属性服务的接口创建通用属性服务,并与移动设备如:智能手机、平板等建立蓝牙连接并交互数据。

在一具体应用场景中,智能设备使用的硬件对应着linux官方的bluez协议栈,此时用户选择获取运行速度与节奏时,通过统一接口调用bluez协议栈的底层接口创建运行速度与节奏的服务,通过统一接口调用bluez协议栈的底层接口进行蓝牙广播和扫描的接口与手机建立蓝牙连接,进而智能设备收集的运行速度与节奏数据通过蓝牙传输给手机以便用户查看。如果该智能设备改用成博通(broadcom)公司的硬件,蓝牙协议栈变成bsa协议栈,此时用户选择获取运行速度与节奏时,通过统一接口调用bsa协议栈的底层接口创建运行速度与节奏的服务,通过统一接口调用bsa协议栈的底层接口进行蓝牙广播和扫描的接口与手机建立蓝牙连接,进而智能设备收集的运行速度与节奏数据通过蓝牙传输给手机以便用户查看。

本实施例所提供的智能设备数据交互方法,将多个蓝牙协议栈用于提供通用属性服务的底层接口用同一种计算机语言做了封装形成一个统一接口,该统一接口可调用多个蓝牙协议栈的底层接口,进而对智能设备基于不同平台开发时无需修改统一接口,利用该统一接口创建通用属性服务,实现智能设备与移动设备进行数据交互,用户不感知智能设备的底层蓝牙协议栈,可获得一致的使用体验。

具体地,为获得该统一接口,获取多个蓝牙协议栈用于提供通用属性服务的底层接口信息,根据底层接口信息利用同一计算机语言创建对应底层接口的调用函数。多个蓝牙协议栈包括linux官方的bluez协议栈、broadcom公司的bsa协议栈、openinterface公司的bluemagic协议栈、nokia公司的affix协议栈、ivt公司的bluelet协议栈中至少两种。其中优选至少包括bluez协议栈和bsa协议栈。获取多个主流蓝牙协议栈中用于提供通用属性服务的底层接口信息,根据底层接口信息利用同一种计算机语言来编程实现用于调用不同蓝牙协议栈的底层接口的调用函数,该计算机语言为c语言、c++语言、java语言、汇编语言中的一种。统一接口囊括市场上用于智能设备的多种蓝牙协议栈的底层接口调用函数,可使在产品开发阶段对硬件的选择更加多元化,对于采购周期较长的硬件在产品发布期限紧张时可选用其他硬件平台。采用市场主流的嵌入式开发时所使用的计算机语言中的一种,进而在做软件移植时更加方便,使用户在使用智能设备时保持使用习惯。

进一步地,智能设备蓝牙协议栈为bluez协议栈、bsa协议栈、bluemagic协议栈、affix协议栈、bluelet协议栈中的一种。智能设备只采用常用的蓝牙协议栈中的一种,以避免智能设备自身的兼容性出现问题。

可选地,在步骤s102之前,获取所述智能设备的蓝牙协议栈中用于提供所述通用属性服务的底层接口信息,将统一接口中非智能设备的蓝牙协议栈中用于提供通用属性服务的底层接口对应的调用函数屏蔽。在获取智能设备当前所使用的具体的蓝牙协议栈后,对于统一接口中并非调用当前的蓝牙协议栈中用于提供通用属性服务的底层接口的调用函数屏蔽,以提高统一接口与智能设备当前蓝牙协议栈的匹配性,降低出现调用错误的概率。当然,在其他实施例中也可不将统一接口中非智能设备的蓝牙协议栈中用于提供通用属性服务的底层接口对应的调用函数屏蔽,本申请对此不做具体限制。

在一实施方式中,请参阅图2,图2是图1中步骤s102对应的一实施方式的流程示意图,步骤s102具体包括步骤s201-s205,其中步骤s201-s203对应利用统一接口创建通用属性服务的过程,步骤s204-s205对应利用统一接口使智能设备与移动设备进行数据交互的过程。

步骤s201:通过统一接口调用智能设备的蓝牙协议栈中用于创建通用属性服务的接口,创建通用属性服务。

具体地,上述步骤s201中,响应于用户选择一种通用属性服务,通过统一接口调用当前蓝牙协议栈中用于创建通用属性服务的接口,创建用户所选择的通用属性服务,并为通用属性服务创建服务识别码,该服务识别码对应每一通用属性服务是唯一的,以便区分通用属性服务。

进一步地,用户选择多个通用属性服务时,还可为通用属性服务创建调用其他通用属性服务的引用服务,以引用已经创建的通用属性服务。

步骤s202:通过统一接口调用智能设备的蓝牙协议栈中用于创建通用属性特征的接口,创建通用属性服务对应的特征。

具体地,上述步骤s202中,通过统一接口调用当前蓝牙协议栈中用于创建通用属性特征的接口,创建用户选择的通用属性服务对应的特征,该特征为最小的逻辑数据单元,当然它可能包含一个组关联的数据,通用属性服务中可包括多个特征,因此在创建特征时还包括创建与特征对应的特征识别码,该特征识别码对应每一特征是唯一的,以便区分通用属性服务对应的特征,对于通用属性服务对应的特征,可以从特征中读取数据,也可以往特征中写数据,以此实现双向的通信。

步骤s203:通过统一接口调用智能设备的蓝牙协议栈中用于绑定通用属性服务和特征的接口,将通用属性服务及其对应的特征绑定。

具体地,上述步骤s203中,将通用属性服务及其对应的特征绑定,以降低读取和写入数据时数据,数据写入错误的概率。

步骤s204:通过统一接口调用智能设备的蓝牙协议栈中用于广播的接口和用于扫描的接口,与移动设备建立蓝牙连接。

具体地,上述步骤s204中,通过统一接口调用智能设备的蓝牙协议栈中用于广播的接口以广播的方式发送广播报文,通过统一接口调用智能设备的蓝牙协议栈中用于扫描的接口,扫描是否有移动设备的回复报文,在扫描到有移动设备回复的报文后,智能设备与移动设备建立蓝牙连接。

步骤s205:通过统一接口调用智能设备的蓝牙协议栈中用于读写的接口,读取智能设备采集或存储的数据,以用于传输给移动设备;和/或,通过统一接口调用智能设备的蓝牙协议栈中用于读写的接口,将移动设备发送的数据写入智能设备的相应位置。

具体地,上述步骤s205中,通过统一接口调用智能设备的蓝牙协议栈中用于读写的接口,读取通用属性服务绑定的特征中的数据,进而通过广播接口传输给移动设备,此外,也可以向通用属性服务绑定的特征写入移动设备发送的数据。

可选地,对于无需持续进行数据交互的通用属性服务,在利用统一接口使智能设备与移动设备进行数据交互之后,通过统一接口调用智能设备的蓝牙协议栈中用于广播的接口,向移动设备发送数据交互成功的消息,断开与移动设备的蓝牙连接,以节约智能设备的电量。

在一具体应用场景中,移动设备已接入无线网络,用户在智能设备选择无线配网服务,将统一接口和对应的模块进行初始化,进而通过统一接口调用智能设备蓝牙协议栈的底层用于创建通用属性服务的接口创建无线配网服务,调用底层用于创建通用属性特征的接口创建无线配网服务对应的特征,调用底层用于绑定通用属性服务和特征的接口将无线配网服务及其对应的特征绑定,进而调用底层用于广播的接口发布广播报文,移动设备接收到智能设备发布的广播报文后向智能设备发送回复报文,调用底层用于扫描的接口扫描到回复报文后,智能设备与移动设备建立蓝牙连接。移动设备将已连接的无线网络的服务集标识和密码通过蓝牙传输给智能设备,调用底层用于读写的接口将服务集标识和密码写入无线配网服务的特征,智能设备通过服务集标识和密码接入无线网络,调用底层用于广播的接口向移动设备发送配网成功的消息,智能设备断开与移动设备的蓝牙连接。

在另一具体应用场景中,用户在智能设备选择心率计数服务,将统一接口和对应的模块进行初始化,进而通过统一接口调用智能设备蓝牙协议栈的底层用于创建通用属性服务的接口创建心率计数服务,调用底层用于创建通用属性特征的接口创建心率计数服务对应的特征,调用底层用于绑定通用属性服务和特征的接口将心率计数服务及其对应的特征绑定,进而调用底层用于广播的接口发布广播报文,移动设备接收到智能设备发布的广播报文后向智能设备发送回复报文,调用底层用于扫描的接口扫描到回复报文后,智能设备与移动设备建立蓝牙连接,调用底层用于读写的接口,读取心率计数服务的特征的值,该特征的值为智能设备实时采集的心率数据,保持蓝牙的连接,调用底层用于广播的接口向移动设备发送心率数据,用户可自行关闭蓝牙连接。

请参阅图3,图3是本申请智能设备一实施方式的结构示意图,该智能设备10包括存储器100和处理器102,其中存储器100存储有程序数据(图未示),处理器102调用程序数据以执行上述实施例中的智能设备数据交互方法,相关内容的详细说明请参见上述方法部分,在此不再赘叙。

请参阅图4,图4是本申请具有存储功能的装置一实施方式的结构示意图,该具有存储功能的装置20存储有程序数据200,程序数据200被处理器执行以实现上述实施例中的智能设备数据交互方法,相关内容的详细说明请参见上述方法部分,在此不再赘叙。

综上,本申请所提供的智能设备数据交互方法、智能设备10、具有存储功能的装置20,利用统一接口调用提供通用属性服务的底层接口,即使智能设备10更换用于提供蓝牙协议栈的硬件,也无需修改统一接口,方便开发者做跨平台的软件移植,给用户带来一致的使用感受。

以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1