蓝牙低能耗设备的制作方法

文档序号:16633968发布日期:2019-01-16 06:50阅读:218来源:国知局
蓝牙低能耗设备的制作方法

蓝牙低能耗(ble)允许设备彼此无线地通信。在一些情况中,ble连接可允许第一设备的用户从第一设备控制第二设备的功能。

附图说明

下面的详细描述参考附图,其中:

图1是根据一些示例的由中介网络扩展的ble网络的方框图。

图2是根据一些示例的连接到ble外围设备的计算设备的方框图。

图3是根据一些示例的计算设备的方框图,该计算设备具有提供允许客户端设备控制远程ble设备的服务的指令。

图4是根据一些示例的具有服务引擎以提供ble代理的计算设备的方框图代理。

图5是根据一些示例的使用复制的ble外围设备和中介网络来扩展ble网络的ble网络的方框图。

图6是根据一些示例的计算设备的方框图,该计算设备具有复制引擎以复制远程ble设备的属性配置文件。

图7是根据一些示例的计算设备的方框图,该计算设备具有复制远程ble设备的属性配置文件的指令。

图8是根据一些示例的使用中介网络和公共api来扩展ble网络的ble网络的方框图。

图9是根据一些示例的使用中介网络和应用模拟器来扩展ble网络的ble网络的方框图。

图10是根据一些示例的经由中介网络来扩展ble网络的方法的流程图。

具体实施方式

计算设备在建立蓝牙低能耗(ble)连接时可承担不同的角色。例如,外围ble设备可接受从其它ble设备的连接,并且该外围ble可执行功能。这些功能可被称为服务。例如,ble电灯泡可被特征化为外围ble设备。ble电灯泡可具有提供光的功能。因此,ble电灯泡具有“照明”服务。作为另一示例,ble门锁也可被特征化为外围ble设备。ble门锁可具有锁住门栓的功能,并且因此具有“锁住”服务。

中央ble设备可连接到外围ble设备,并访问或控制由外围ble设备提供的服务。相应地,连接到ble电灯泡的中央ble设备可打开或关掉电灯泡的“照明”服务。类似地,连接到ble门锁的中央ble设备可打开或关掉ble门锁的“锁住”服务。

当中央ble设备和外围ble设备经由ble连接时,用于中央ble设备和外围ble设备之间的控制的通信和命令可由blesig所定义的ble协议指导。在一些示例中,中央ble设备可同时连接到多个外围ble设备,因而控制多个设备。相应地,中央ble设备可允许中央ble设备的用户从一个中央ble设备方便地控制设备。

然而,ble在点对点网络中使用。因此,经由ble连接的两个设备(例如中央ble设备和外围ble设备)在彼此的ble通信范围内。在彼此的ble通信范围之外的设备不能使用ble来彼此通信。在没有ble连接的情况下,中央ble设备可能不能使用ble协议来控制外围ble设备。因此,当中央ble设备在外围ble设备的范围之外时,中央ble设备使用的一般控制方法可能不能够被使用。相应地,在中央ble设备(或中央ble设备的用户)远离外围ble设备的情况下,外围ble设备提供的服务可以不被控制。对于一些外围ble设备,当需要进行控制时,中央ble设备在ble范围之外(例如当房主在度假时,房主可能不能够使用ble来关掉他们希望关掉的灯)。

本文公开的示例通过提供使用中介网络来扩展ble网络的系统和方法来解决这些技术难点。在一些示例中,ble外围设备提供的服务被转译(transcribe)成可传输到中介网络(例如互联网等)的文件。文件由在经由中介网络可访问的位置上的代理(broker)存储。在文件中的数据可用于允许在ble外围设备的ble范围之外的客户端设备控制ble外围设备。在一些示例中,控制可以是相似的,好像客户端设备直接与ble外围设备交互(interact)一样。相应地,本文讨论的示例允许对ble设备的远程访问。

在一些示例中,计算设备被提供有包括指令的非暂时性机器可读存储介质,当被执行时指令使处理资源复制远程ble设备的属性配置文件(profile)。属性配置文件包括由远程ble设备可执行的多个服务和多个特征。当被执行时指令还使处理资源广播ble信号,连接到附近的蓝牙设备,从附近的蓝牙设备接收针对多个特征的一特征的命令,并将命令传输到蓝牙代理。

在一些示例中,计算设备被提供有包括指令的非暂时性机器可读存储介质,当被执行时指令使处理资源从第一远程访问设备接收包括第一ble设备的属性配置文件的第一文件。属性配置文件包括服务和与服务相关联的特征。当被执行时指令还使处理资源以与第一ble设备相关联的方式存储第一文件,提供允许与第一ble设备相关联的客户端设备针对属性配置文件中的特征执行多个操作的服务,接收针对特征的多个操作中的所请求的操作,并将所请求的操作传输到第一远程访问设备。

在一些示例中,提供一种方法,该方法包括在第一位置处经由第一协议连接到ble设备;在第一位置处经由第一协议发现ble设备的属性配置文件;以及在第一位置处生成包括属性配置文件的文件。属性配置文件可包括与特征相关联的服务。该方法还包括经由与第一协议不同的第二协议将文件从第一位置传输到第二位置;基于在文件中的数据来提供允许客户端计算设备针对特征执行多个操作的服务;以及在第二位置处接收针对特征的所请求的操作。此外,该方法包括经由第二协议将所请求的操作从第二位置传输到第一位置,以及经由第一协议将所请求的操作从第一位置传输到ble设备。

现在参考附图,图1是包括ble网络和连接到ble的中介网络的网络100的方框图。如图1所示,ble网络由ble外围设备10与接入点101的连接形成。ble外围设备可包括接受ble连接并具有由电子设备可执行的功能的电子设备。ble设备的非限制性示例可以是门锁、电灯泡、智能手表、传感器(例如心率)、移动电话等。ble外围设备可在属性配置文件中对ble外围设备的特定的可执行功能建模(model)。属性配置文件可包括多个服务和与多个服务相关联的多个特征。如本文使用的,“多个”可包括一个、两个、三个、四个等。因此,ble外围设备的属性配置文件可包括两个服务和与这两个服务中的每个服务相关联的三个特征。例如,电灯泡ble外围设备可提供“照明”服务。“照明”服务可具有“亮度”特征和与“照明”服务相关联的“开/关”特征。在一些示例中,属性配置文件可以是一般属性(gatt)配置文件。在一些示例中,属性配置文件还可包括关于远程ble设备的广播信号的信息(例如广告数据包(packet)和/或扫描响应数据包)。

ble外围设备10可与接入点101使用ble协议形成blle网络。这在图1中被表示为数字1。换句话说,接入点101经由ble直接连接到ble外围设备10。相应地,接入点101在一物理位置上,该物理位置与ble外围设备10之间的距离使得接入点101在ble外围设备10的ble通信范围内。

接入点101可充当ble中央设备。ble中央设备可包括计算设备,该计算设备能够经由ble连接到ble外围设备,发现ble外围设备的属性配置文件,并与ble外围设备通信以发出关于属性配置文件的命令。例如,在ble外围设备10是电灯泡的示例中,接入点101可发出针对开/关特征的写命令,使得ble外围设备将根据命令来打开或关掉电灯泡。

当发现ble外围设备10的属性配置文件时,接入点110可将属性配置文件转译成文件。例如,文件可以是以json或xml格式。接入点101也可充当在ble网络和中介网络之间的桥。在一些示例中,中介网络可以是无线网络、有线网络或其组合。在一些示例中,中介网络可以是单独的网络,或者是彼此互连、并且充当单个大网络(例如互联网)的很多这样的单独网络的集合。在一些示例中,中介网络可被实现为局域网(lan)、广域网(wan)等。相应地,中介网络是与ble网络不同类型的网络。因此,中介网络使用与在ble协议中使用的协议不同的协议。相应地,被接入点101用来连接到中介网络并与中介网络通信的协议不是ble,并包括与在ble中使用的通信协议不同的第二协议。这在图1中由数字2表示。在一些示例中,可使用例如互联网协议(ip)、传输控制协议(tcp)或tcp/ip的协议。接入点101可将包括ble外围设备10的属性配置文件的转译的文件发送到服务器102。ble代理112可以是在服务器102上运行的应用。通过第二协议,接入点101将文件发送到ble代理112。ble代理112以将文件与ble外围设备10相关联的方式存储文件。然后,ble代理112可相应地提供文件中的数据至其它设备(在图1中被标记为a),使得那些其它设备可访问由ble外围设备110提供的功能。相应地,通过允许对ble外围设备10的访问的中介网络,ble网络被扩展。这扩展ble外围设备的可及范围,使得不在ble外围设备10的ble范围内的用户可以控制ble外围设备10。

虽然图1将接入点101示为与一个ble外围设备形成ble网络,但是ble网络可包括也经由ble连接的额外的计算设备。例如,接入点101可连接到两个、三个或四个ble外围设备。

图2示出连接到ble外围设备210的计算设备200的方框图。如在本文使用的,“计算设备”可以是服务器、计算机联网设备(例如交换机、网关、接入点等)、存储设备、芯片集或任何其它处理设备或装备。在一些示例中,计算设备200是可连接到ble外围设备210和计算设备220的接入点。

计算设备200包括第一通信引擎201、配置文件引擎202、转译引擎203和第二通信引擎204。下面描述计算设备200的这些方面中的每一个。为了额外或可选的功能,其它引擎可被添加到计算设备200。

引擎201、202、203和204可以是硬件(例如,诸如集成电路或其它电路的处理器)和软件(例如,机器或处理器可执行指令、命令、或诸如固件、编程或对象代码的代码)的任何组合,以实现相应引擎的功能。可以用多种不同的方式实现硬件和编程的这样的组合。硬件和软件的组合可包括硬件(即没有软件元件的硬件元件)、在硬件上托管的软件(例如存储在存储器中并由处理器执行或解释的软件)、或硬件和在硬件上托管的软件。此外,如在本文使用的,单数形式“一”和“该”包括复数所指物,除非上下文清楚地规定另外的情况。因此例如,术语“引擎”意指至少一个引擎或引擎的组合。

计算设备200的每个引擎可包括至少一个机器可读存储介质(例如多于一个机器可读存储介质)和至少一个处理资源(例如多于一个处理资源)。如在本文使用的,“机器可读存储介质”可包括存储驱动器(例如硬盘驱动器)、快闪存储器、随机存取存储器(ram)、任何类型的存储磁盘(例如光盘只读存储器(cd-rom)、任何其它类型的光盘、dvd等)和类似存储器或其组合。在一些示例中,存储介质可对应于存储器,存储器包括主存储器例如随机存取存储器(其中软件可在运行时间期间驻留)和/或辅助存储器。辅助存储器例如可包括存储软件或其它数据的拷贝的非易失性存储器。

例如,提供在计算设备200上的引擎的功能的软件可存储在计算机的存储器上,以由计算机的处理资源执行。在一些示例中,计算设备200的每个引擎可包括以在单个集成电路上的微处理器的形式的硬件、相关固件或用于允许微处理器可操作地与计算设备200的其它硬件通信的其它软件。

处理资源可以例如是以中央处理单元(cpu)、基于半导体的微处理器、数字信号处理器(dsp)(例如数字图像处理单元)、或适合于得到并执行存储在存储介质中的指令的其它硬件设备或处理元件、或其适当的组合的形式。处理资源可例如包括在芯片上的单个或多个核心、跨多个芯片的多个核心、跨多个设备的多个核心、或其适当的组合。

第一通信引擎201是计算设备200的引擎,第一通信引擎201包括允许计算设备200发现并连接到在计算设备200的ble通信范围内的ble外围设备210的硬件和软件的组合。在一些示例中,第一通信引擎201可允许计算设备200观察以查看在通信范围内是否有ble外围设备210。例如,ble外围设备210可广播ble信号以通知其存在。当确定有在范围内的ble外围设备时,第一通信引擎201可将连接请求发送到ble外围设备210。当ble外围设备接受请求时,可在第一通信引擎201和ble外围设备210之间建立请求。在一些示例中,当将计算设备200连接到ble外围设备210时,计算设备200也可被特征化为中央ble设备。第一通信引擎201也可允许计算设备200中继起源于客户端设备的针对特征的所请求的操作,并将相关联命令传输到ble外围设备,使得ble外围设备执行所请求的操作。例如,第一通信系统可将针对ble外围设备的特征的写命令传输到ble外围设备210。

配置文件引擎202是计算设备200的引擎,配置文件引擎202包括允许计算设备200发现ble外围设备210的属性配置文件的硬件和软件的组合。如上面讨论的,ble外围设备可具有由ble外围设备可执行的某些功能。属性配置文件可以以逻辑数据结构来描述那些功能中的至少一个。在一些示例,属性配置文件可以是gatt配置文件的形式。gatt配置文件的分级结构可包括多个服务以满足ble外围设备的使用情况。在一些示例中,服务可由多个特征组成。服务也可包括对其它服务的参考。特征可包括值、指示特征所支持的操作的一组属性、和以与特征有关的元数据的形式的描述符。因此,属性配置文件可包括来自多个服务中的一个服务、来自与服务相关联的多个特征中的一个特征、来自多个服务中的服务的一部分、来自多个特征中的特征的一部分、或与ble外围设备210上的每个服务相关联的每个服务和每个特征。此外,属性配置文件还可包括关于ble外围设备210的广播信号的信息(例如广告数据包和/或扫描响应数据包)。

转译引擎203是计算设备200的引擎,转译引擎203包括允许计算设备200采用由配置文件引擎202发现的属性配置文件并将该属性配置文件转译成可被发送到另一计算设备并被存储的格式的硬件和软件的组合。在一些示例中,格式可以是以语言无关格式,使得该格式可由另一计算设备理解。在一些示例中,文件可以是以人可读文本格式,例如javascript对象标记(json)或可扩展标记语言(xml)格式。

第二通信引擎204是计算设备200的引擎,第二通信引擎204包括允许计算设备200通过中介网络连接到另一计算设备(例如服务器)的硬件和软件的组合。如上面讨论的,中介网络不同于ble网络,第一通信引擎201依赖于该ble网络来连接到ble外围设备210。相应地,第二通信引擎204使用的协议不同于第一通信引擎201使用的协议。例如,第一通信引擎201可依赖于ble协议,而第二通信引擎204可使用互联网协议,例如tcp/ip等。第二通信引擎204也可允许计算设备200将包括ble外围设备210的属性配置文件的文件传输到计算设备220。在一些示例中,计算设备220是可提供ble代理的服务器,类似于图1所述的服务器102或图3所述的计算设备300的ble代理。在一些示例中,图1的接入点101可具有如在本文关于计算设备200所述的特征和部件。第二通信设备204也可允许计算设备200接收起源于客户端设备的针对ble外围设备210的特征的所请求的操作。这个操作可接着经由第一通信引擎210被中继并发送到ble外围设备210。

图3是根据一些示例的计算设备300的方框图,计算设备300具有在其上的指令以提供允许客户端设备控制远程ble设备的服务。在一些示例中,计算设备300可以是与第一远程访问设备340和客户端设备350通过接口连接的服务器。计算设备300包括处理资源301和机器可读存储介质310。机器可读存储介质310可以是非暂时性机器可读存储介质例如适当的电子、磁性、光学或其它物理存储装置的形式以包含或存储信息,例如指令311、312、313、314、315、相关联数据等。

在图3的示例中,指令311、312、313、314、315在存储介质310上被存储(例如被编码)并由处理资源301可执行以实现在本文关于图3所述的功能。处理资源301可以有取出、解码和执行如本文所述的指令311、312、313、314、315的功能。在一些示例中,存储介质310的任何指令的功能可以以电子电路的形式、机器可读存储介质上编码的可执行指令的形式、或其组合以实现。

指令311可由处理资源301可执行,使得计算设备300接收包括第一ble设备的属性配置文件的第一文件。如上所述,属性配置文件在这里是可应用的。第一文件可来自第一远程访问设备340。在一些示例中,远程访问设备340经由中介网络(例如互联网)间接地连接到计算设备300。相应地,第一远程访问设备340可经由tcp/ip协议将数据传递和发送到计算设备300。第一ble设备可以是在第一远程访问设备340的ble范围内的ble外围设备(例如类似于关于图1所述的ble外围设备)。远程访问设备340可发现ble外围设备的属性配置文件并将它转译成第一文件。指令311允许计算设备300从远程访问设备340接收第一文件。如上面讨论的,在一些示例中,第一文件可以是json或xml的形式。

指令312可由处理资源301可执行,使得计算设备300以使第一文件与第一ble设备相关联的方式存储由指令311接收的第一文件。例如,第一ble设备可具有将第一ble设备识别到计算设备300的唯一标识符。指令312可存储与这个唯一标识符相关联的第一文件,使得计算设备300理解第一文件包含表示特定ble设备的属性配置文件的数据,该属性配置文件来自于该特定ble设备。唯一标识符还可用于将特定ble设备识别到其它计算设备(例如想要控制特定ble设备的功能的客户端设备)。在一些示例中,第一文件以使第一文件与发送第一文件的远程访问设备340相关联的方式被存储。例如,远程访问设备340还可具有将远程访问设备340识别到计算设备300的唯一标识符。这是因为计算设备300可接收包括第一ble设备的属性配置文件的第一文件,且计算设备300还可接收包括第二ble设备的属性配置文件的第二文件。第一文件可来自第一远程访问设备340,而第二文件可来自第二远程访问设备(未在图3中示出)。标识符可允许计算设备300将计算设备300接收的关于特定ble设备的任何命令中继到经由ble连接到特定ble设备的适当远程访问设备。

指令313可由处理资源301可执行,使得计算设备300提供允许客户端设备针对在属性配置文件中的特征执行多个操作的服务。在一些示例中,客户端设备可与第一ble设备相关联。例如,客户端设备可运行或访问第一ble设备所特有的应用。如上面讨论的,第一文件包括表示第一ble设备的属性配置文件的数据。因此,计算设备300可提供服务,该服务可增加可控制第一lbe设备的设备。换句话说,计算设备提供的服务可允许远离ble设备的客户端设备350(即不在第一ble设备的ble范围内的客户端设备)针对在属性配置文件中的特征执行多个操作的(例如发出命令等)。在一些示例中,可使用第一文件中的数据来提供服务。

在一些示例中,所提供的服务可以是私有应用程序接口(api)。因此在这些示例中,指令313包括提供私有api的指令。可使用在第一文件中的数据来生成私有api。如在本文使用,私有api是暴露于经授权用户和计算设备并由经授权用户和计算设备可访问的接口,该计算设备满足私有api设置的访问要求。例如,企业可提供在本文中关于指令311至315所述的功能。企业可通过使api变成私有的来限制对企业的api的访问,使选定数量的人和/或计算设备(例如内部开发者、搭档开发者、由这些内部和搭档开发者提供的计算设备,等等)可与api交互并使用api提供的数据。在一些示例中,使用在第一文件中的数据,私有api可提供针对在第一文件中的特征可操作的操作(例如读操作、写操作等)。被授权访问私有api的计算设备可访问这些操作。例如,计算设备可以是不同于第一远程访问设备340或上面讨论的第二远程访问设备的第三远程访问设备(例如接入点、移动蜂窝电话等)。在图3所示的示例中,第三远程访问设备可以是路径,客户端设备350通过该路径与计算设备300通信。第三远程访问设备可具有适当的授权以访问计算设备300上的私有api并与该私有api交互。使用由私有api提供的数据,第三远程访问设备可复制在私有api上表示的属性配置文件。在第三远程访问设备上复制的属性配置文件与在第一ble设备上的属性配置文件相同。相应地,客户端设备350可与第三远程访问设备交互,好像客户端设备350是第一ble设备一样。第三远程访问设备可接着将这些交互传输到计算设备300。在这些示例中,在第三远程访问设备和客户端设备350之间的连接是经由ble的,而在第三远程访问设备和计算设备300之间的连接是经由将计算设备300连接到第一远程访问设备340的中介网络。这关于图5被讨论。

在一些示例中,所提供的服务可以是公共应用程序接口(api)。因此在这些示例中,指令313包括提供公共api的指令。可使用在第一文件中的数据来提供公共api。如在本文使用的,公共api是暴露于大范围的用户和计算设备并由这些用户和计算设备可访问的接口。例如,企业可提供本文关于指令311至315所述的功能。企业可使api是公共的,允许在企业之外的用户和计算设备与api交互,并使用api提供的数据。在一些示例中,使用在第一文件中的数据,公共api可提供针对在第一文件中的特征可操作的操作(例如读操作、写操作等)。公共api可由在计算设备(例如服务器)上运行的web应用访问。web应用可具体地用于具有第一属性配置文件的第一ble设备。在这些示例中,客户端设备350可以是被客户端使用来访问web应用的另一计算设备(例如个人计算机、智能电话等)。通过web应用提供的接口,客户端设备350可发起操作以在ble设备上执行。web应用可接着经由公共api将这些操作传输到计算设备300。计算设备300可接着将这些操作传输到第一访问设备340。在这些示例中,在客户端设备350和提供web应用的计算设备之间的连接是经由中介网络而不是ble网络的。此外,在提供web应用的计算设备和计算设备300之间的连接是经由中介网络而不是ble网络的。这关于图8被讨论。

在一些示例中,所提供的服务可以是应用模拟器。因此在这些示例中,指令313包括提供应用模拟器的指令。如在本文使用的,应用模拟器可为访问或运行应用模拟器的计算设备(例如个人计算机)创建应用的虚拟机版本。在一些示例中,应用模拟器可以是移动应用模拟器。移动应用模拟器可在不是移动计算设备的计算设备上创建移动计算设备(例如iphone、android、智能电话等)的虚拟机版本。移动应用模拟器也将模拟包括ble连接能力的虚拟机。

例如,在一些示例中,客户端设备350可以是个人计算机。移动应用模拟器可在个人计算机上创建iphone的虚拟机。作为另一示例,客户端设备350可以是iphone智能电话。移动应用模拟器还可在iphone上创建android的虚拟机。这可允许访问模拟器的计算设备运行为模拟器模拟的环境设计的应用。

相应地,在这些示例中,指令313可包括当由处理资源301执行时允许计算设备300在移动应用模拟器上加载并运行移动应用的指令。例如,使用android移动模拟器,.apk文件可被使用并安装在移动应用模拟器上。通过访问计算设备300提供的移动应用模拟器服务,客户端设备350可运行具有第一属性配置文件的第一ble设备所特有的移动应用。换句话说,这允许客户端运行由制造商或第一ble设备设计的“现成的”移动应用。移动应用可接着调用与在第一属性配置文件上的特征有关的命令,该命令由客户端设备350上的所请求的操作发起。所请求的操作可接着由服务中继到计算设备300的不同部件,如下面关于指令314和315讨论的。这进一步关于图9被讨论。

指令314可由处理资源301可执行,使得计算设备300接收针对特征的多个操作中的所请求的操作。如在本文使用的,所请求的操作包括客户端设备350发起的操作。例如,对于作为电灯泡的ble设备,客户端设备350可发起关掉电灯泡的操作。特征可以是光,且操作可以是关掉。根据由计算设备300提供的服务,这个所请求的操作可以不直接来自客户端设备350而是可以来自第三远程访问设备(运行web应用的计算设备)、或来自计算设备350本身(例如在所提供的服务是移动应用模拟器的示例中)。在一些示例中,所请求的操作可包括针对特征的命令,例如写或读命令。

指令315可由处理资源301可执行,使得计算设备300将所请求的操作传输到第一远程访问设备340。这可以经由中介网络来实现,中介网络经由协议例如tcp/ip来连接第一远程访问设备340和计算设备300。相应地,计算设备300可允许在第一ble设备的ble范围之外的客户端设备350控制第一ble设备并与第一ble设备交互。

如上面讨论的,计算设备300可与多个远程访问设备(例如第二远程访问设备)交互,远程访问设备可将针对不同lbe设备的不同属性配置文件发送给计算设备300。计算设备300可存储这些不同的属性配置文件,提供针对这些属性配置文件的服务,并允许多个客户端设备350使用这些服务与不同的ble设备交互。相应地,计算设备300可允许额外的客户端设备与ble设备交互,该额外的客户端设备最初不能够控制ble设备或与ble设备交互。在一些示例中,服务器102可包括在本文中关于计算设备300所述的一些功能。

图4示出具有服务引擎402的计算设备400的方框图。在一些示例中,计算设备400可以是与远程访问设备440a、远程访问设备440b、客户端设备450a和客户端设备450b交互的服务器。计算设备400包括通信引擎401、服务引擎402和配置文件数据库403。为了额外或可替代的功能,其它引擎可被添加到计算设备400。

引擎401和402可以是硬件(例如处理器,例如集成电路或其它电路)和软件(例如机器或处理器可执行指令、命令、或代码,例如固件、编程或对象代码)的任何组合以实现相应引擎的功能。可以用多种不同的方式实现硬件和编程的这样的组合。硬件和软件的组合可包括硬件(即没有软件元件的硬件元件)、在硬件上托管的软件(例如存储在存储器中并由处理器执行或解释的软件)、或硬件和在硬件上托管的软件。计算设备400的每个引擎可包括至少一个机器可读存储介质(例如多于一个)和至少一个处理资源(例如多于一个)。

例如,提供在计算设备400上的引擎的功能的软件可存储在计算机的存储器上,以由计算机的处理资源执行。在一些示例中,计算设备400的每个引擎可包括以在单个集成电路上的微处理器的形式的硬件、相关联固件、或用于允许微处理器可操作地与计算设备400的其它硬件通信的其它软件。

配置文件数据库403可由计算设备400的机器可读存储介质实现。在一些示例中,配置文件数据库403包括如上所述的辅助存储器部分。通信引擎401和服务引擎402与配置文件数据库403通信。在一些示例中,配置文件数据库403可存储由远程访问设备440a和/或远程访问设备440b发送到计算设备400的属性配置文件的文件。如上面关于计算设备300所讨论的,可以采用使文件与属性配置文件所来自的ble设备相关联的方式和/或采用使文件与发送文件的远程访问设备相关联的方式来存储文件。虽然配置文件数据库在图4的示例中被示为驻留在计算设备400中,配置文件数据库403可与计算设备400分离且是计算设备400可访问的。

通信引擎401是计算设备400的引擎,通信引擎401包括允许计算设备400连接到远程访问设备440a和/或远程访问设备440b、并与远程访问设备440a和/或远程访问设备440b通信的硬件和软件的组合。通信引擎401可允许计算设备400从远程访问设备440a和/或远程访问设备440b接收文件。这些文件可包括来自经由ble直接连接到远程访问设备440a或远程访问设备440b的ble设备的属性配置文件。如上面讨论的,文件可以是语言无关格式。文件格式的非限制性示例可以是json、xml等。这些文件可存储在配置文件数据库403中,如上面所讨论的。在一些示例中,通信引擎401可使用诸如tcp/ip的协议来与远程访问设备440a和/或远程访问设备440b通信。通信引擎401也可允许计算设备400将针对在特定属性配置文件中的特征的所请求的操作传输到适当的远程访问设备。这个所请求的操作可由客户端设备450a和/或客户端设备450b发起。适当的远程访问设备可接着将这个操作传输到可在具有属性配置文件的ble设备上执行的命令内。

服务引擎402是计算设备400的引擎,服务引擎402包括允许计算设备400提供允许客户端设备450a和/或客户端设备450b针对属性配置文件中的特征执行多个操作的服务的硬件和软件的组合。在一些示例中,服务可使用在包括属性配置文件的文件中的数据,该文件由通信引擎401接收并存储在配置文件数据库403中。

如上面关于图3讨论的,在一些示例中,服务可以是允许大范围的用户和计算设备对服务进行访问的公共api。在一些示例中,使用在配置文件数据库403中存储的特定文件中的数据,公共api可提供针对在特定文件中捕获的属性配置文件中的特征可操作的操作(例如读操作、写操作等)。公共api可由在计算设备(例如服务器,未在图3中示出)上运行的web应用访问。web应用可以是具有在文件中捕获的属性配置文件的ble设备所特有的。在这些示例中,客户端设备450a和/或客户端设备450b可以是访问web应用的另一计算设备(例如个人计算机、智能电话等)。通过由web应用提供的接口,客户端设备450a和/或客户端设备450b可发起操作以在具有在文件中捕获的属性配置文件的ble设备上执行。web应用可接着经由公共api将这些操作传输到计算设备400。计算设备400可接着经由通信引擎401将这些操作传输到相关联的远程访问设备440a或远程访问设备440b。在这些示例中,在客户端设备450a和/或客户端设备450b与提供web应用的计算设备之间的连接是经由中介网络而不是ble网络的。此外,在提供web应用的计算设备和计算设备400之间的连接是经由中介网络而不是ble网络的。这关于图5被讨论。

在其它示例中,如上面关于图3讨论的,服务可以是允许经授权的用户和计算设备访问服务的私有api。在一些示例中,使用在配置文件数据库403上存储的特定文件中的数据,私有api可提供针对特定文件所捕获的属性配置文件中的特征可操作的操作(例如读操作、写操作等)。被授权访问私有api的计算设备可访问这些操作。例如,计算设备可以是不同于远程访问设备440a和远程访问设备440b的远程访问设备(例如接入点、移动电话等)。在图4所示的示例中,第三远程访问设备可以是路径,客户端设备450a和/或客户端设备450b可通过该路径与计算设备400通信。第三远程访问设备可具有适当的授权以访问在计算设备400上的私有api并与该私有api交互。使用由私有api提供的数据,第三远程访问设备可复制在文件中捕获的属性配置文件。在第三远程访问设备上复制的属性配置文件与在最初提供属性配置文件的ble设备上的属性配置文件相同。相应地,客户端设备450a和/或客户端设备450b可与第三远程访问设备交互,好像第三远程访问设备是最初提供属性配置文件的ble设备一样。第三远程访问设备可接着使用通信引擎401将这些交互传输到计算设备400。在这些示例中,在第三远程访问设备和客户端设备450a和/或客户端设备450b之间的连接是经由ble的,而在第三远程访问设备和计算设备400之间的连接是经由中介网络的。第三远程访问设备可被特征化为复制的ble外围设备。这关于图5被讨论。

如上面关于图3讨论的,在其它示例中,服务可以是应用模拟器,该应用模拟器可模拟与ble设备特定应用兼容的环境,以允许运行不兼容的计算设备的用户访问特定应用。例如,对于使用个人计算机作为客户端设备的用户,应用模拟器可以是移动应用模拟器。移动应用模拟器可允许用户访问为特定移动环境(例如android)设计的移动应用。使用由服务引擎402提供的模拟器,客户端设备450a和客户端设备450b可开始(lanuch)提供属性配置文件的ble设备所特有的移动应用。

移动应用可接着调用与在属性配置文件上的特征有关的命令。这由移动应用完成,好像移动应用在移动设备上运行一样。例如,设计成在具有ble能力的android上运行的移动应用将在移动应用模拟器上运行,好像该移动应用在具有ble能力的android上一样,而不是在访问移动应用模拟器的计算设备上。相应地,移动应用可调用在ble上的由客户端设备450a和/或客户端设备450b发起的命令。这些命令可接着被中继到经由通信引擎401连接到ble设备的远程访问设备。从包含硬件和软件的引擎方面描述的图4的计算设备400可包括从处理器和机器可读存储介质方面描述的图3的计算设备300的一个或多个结构或功能方面。

图5是包括两个ble网络和连接这两个ble网络的中介网络的网络400的方框图。图5包括ble外围设备510、接入点501、服务器52、复制的ble外围设备503和客户端设备520。ble外围设备510类似于如关于图1讨论的ble外围设备10。第一ble网络在接入点501和ble外围设备510之间,如由数字1表示的。接入点501、服务器52、复制的ble外围设备503由中介网络连接。这在图4中由数字2表示。第二ble网络在客户端设备520和复制的ble外围设备503之间。这个第二ble网络由数字1表示。相同数字的使用可表示网络具有相同的类型,且可以不表示它们是确切地相同的网络。接入点501类似于如关于图1讨论的接入点101。相应地,在一些示例中,接入点501可实现如关于图2的计算设备200所述的部件。

服务器502类似于服务器102,且ble代理512类似于ble代理122,如关于图1所述的,除了服务器502提供的服务包括私有api522以外。如上面关于图3所讨论的,私有api可提供暴露于经授权用户和计算设备并由经授权用户和计算设备可访问的接口,该计算设备满足由私有api设置的访问要求。使用由服务器502从接入点501接收的在包括属性配置文件的文件中的数据,私有api522可提供针对在ble外围设备510的属性配置文件中的至少一个特征的可操作的操作。相应地,服务器502可实现关于计算设备300和/或计算设备400所述的功能,其中服务包括私有api。

复制的ble外围设备503是计算设备。在一些示例中,复制的ble外围设备503是移动计算设备(例如智能电话、平板计算机等)。在一些示例中,复制的ble外围设备503是联网设备(例如接入点等)。复制的ble外围设备503被授权访问由服务器502提供的私有api522。如上面讨论的,私有api522可使用在捕获特定属性配置文件的文件中的数据,来提供针对在特定属性配置文件上的特征的多个操作。私有api522也可将文件中的数据呈现(present)到复制的ble外围设备503。使用由私有api522呈现的数据,复制的ble外围设备503可生成属性配置文件,该属性配置文件为在ble外围设备510上的属性配置文件的复制。在一些示例中,ble外围设备510是相对于复制的ble外围设备503的远程ble外围设备。换句话说,ble外围设备510不在复制的ble外围设备503的ble范围内。在一些示例中,ble外围设备510是相对于客户端设备520的远程ble外围设备。换句话说,ble外围设备510不在客户端设备520的ble范围内。

复制的ble外围设备503可广播ble信号,以将复制的ble外围设备503的存在通知给在ble范围内的客户端设备520。所广播的ble信号可取决于在捕获远程ble外围设备510的属性配置文件的文件中的数据中的广播信息。因此,相应地,复制的ble外围设备503广播与远程ble外围设备510广播的信号类似的ble信号。客户端设备520可以是具有ble能力的计算设备(例如个人计算机、移动设备、智能电话等)。客户端设备520可接收广播并请求与复制的ble外围设备503的ble连接。当接受该请求时,在客户端设备520和复制的ble外围设备503是之间建立ble网络。这由数字1表示。客户端设备520可使用ble协议来发现在复制的ble外围设备503上复制的属性配置文件。客户端设备520可接着请求针对属性配置文件中的特征的操作。操作可包括命令(例如写命令)。这可以用类似的方式完成,好像客户端设备520直接与ble外围设备510交互一样。复制的ble外围设备503可接着与私有api交互以经由中介网络将操作中继到ble代理512。ble代理512可接着也经由中介网络将所请求的操作中继到接入点501。接入点501可接着将与操作相关联的命令发出到ble外围设备510,使得操作经由在接入点501和ble外围设备510之间的ble网络在ble外围设备510中被执行。在一些示例中,复制的ble外围设备可实现如关于计算设备600和/或计算设备700所述的功能。

图6示出计算设备600的方框图,该计算设备具有复制引擎,以复制远程ble低能耗设备(例如ble外围设备510)的属性配置文件。在一些示例中,计算设备600是与客户端620和服务器610交互的移动设备(例如智能电话、个人计算机等)。计算设备600包括第一通信引擎601、复制引擎602和第二通信引擎603。为了额外或可替代的功能,其它引擎可被添加到计算设备600。

引擎601、602和603可以是硬件(例如处理器,诸如集成电路或其它电路)和软件(例如机器或处理器可执行指令、命令、或代码,诸如固件、编程或对象代码)的任何组合,以实现相应引擎的功能。可以用多种不同的方式实现硬件和编程的这样的组合。硬件和软件的组合可包括硬件(即没有软件元件的硬件元件)、在硬件上托管的软件(例如存储在存储器中并由处理器执行或解释的软件)、或硬件和在硬件上托管的软件。计算设备600的每个引擎可包括至少一个机器可读存储介质(例如多个一个)和至少一个处理资源(例如多个一个)。

例如,在计算设备600上提供引擎的功能的软件可存储在计算机的存储器上,以由计算机的处理资源执行。在一些示例中,计算设备600的每个引擎可包括在单个集成电路上的微处理器的形式的硬件、相关联固件、或用于允许微处理器可操作地与计算设备600的其它硬件通信的其它软件。

第一通信引擎601是计算设备600的引擎,第一通信引擎601包括允许计算设备600通过中介网络连接到另一计算设备(例如服务器)的硬件和软件的组合。中介网络不同于ble网络,第二通信引擎603依赖于该ble网络来连接到客户端设备620。相应地,第一通信引擎601使用的协议不同于第二通信引擎603使用的协议。例如,第一通信引擎601可使用互联网协议,例如tcp/ip等,而第二通信引擎603可依赖于ble协议。第一通信引擎601也可允许计算设备600接收在捕获属性配置文件的文件中的数据,且也可将从客户端设备620发起的所请求的操作传输到服务器610。如上面讨论的,服务器610可提供私有api。相应地,第一通信引擎601可允许计算设备600访问私有api。因此,计算设备600是被授权访问私有api的计算设备。相应地,第一通信引擎601可允许计算设备600向服务器610提供证书,以便允许第一通信引擎601访问由服务器610提供的私有api。

复制引擎602是计算设备600的引擎,复制引擎602包括硬件和软件的组合,该硬件和软件的组合允许计算设备600基于从第一通信引擎601接收的数据生成作为远程ble设备的复制物的属性配置文件。如上面讨论的,数据被捕获并转译成在服务器610上存储的文件。数据经由在服务器610上的私有api被提供到计算设备600。在一些示例中,复制的属性配置文件可包括相同的服务和/或相同的、在文件中捕获的特征。相应地,在一些示例中,复制的属性配置文件可包括远程ble设备的gatt配置文件。在其它示例中,复制的属性配置文件可以是远程ble设备的gatt配置文件的一部分。

第二通信引擎603是计算设备600的引擎,第二通信引擎603包括允许计算设备600连接到客户端设备620并与客户端设备620通信的硬件和软件的组合。在一些示例中,第二通信引擎603可允许计算设备600广播ble信号以将计算设备600的存在通知给客户端设备620,接受由客户端设备620发送的连接请求,并允许客户端设备620根据ble协议来发现复制的属性配置文件。第二通信引擎603还可允许计算设备600接收针对起源于客户端设备620的特征的所请求的操作。

在一些示例中,远程ble设备可响应于该远程ble设备从远程访问设备接收的命令而发出响应信号,该远程ble设备连接到该远程访问设备。该响应可传输到服务器610并接着与计算设备600相关联。因此,在一些示例中,第一通信引擎601可允许计算设备600从服务器610接收响应。此外,第二通信引擎603可将响应传输到客户端设备620。从包含硬件和软件的引擎方面描述的图6的计算设备600可包括从处理器和机器可读存储介质方面描述的图7的计算系统700的一个或多个结构或功能方面。

图7是计算设备700的方框图,计算设备700上具有指令以复制远程ble设备的属性配置文件。在一些示例中,计算设备700可以是与服务器721和客户端设备720通过接口连接的移动设备、个人计算机等。服务器721类似于服务器610和/或服务器502。客户端设备720可类似于客户端设备620和/或客户端设备520。计算设备700包括处理资源701和机器可读存储介质710。机器可读存储介质710可以是非暂时性机器可读存储介质(例如适当的电子、磁性、光学或其它物理存储装置)的形式,以包含或存储诸如指令711、712、713、714、715、相关联数据等的信息。

在图7的示例中,指令711、712、713、714、715在存储介质710上被存储(例如被编码)并由处理资源701可执行,以实现在本文关于图7所述的功能。处理资源701可以有取出、解码和执行如本文所述的指令711、712、713、714、715的功能。在一些示例中,存储介质710的任何指令的功能可以以电子电路的形式、机器可读存储介质上编码的可执行指令的形式或其组合以实现。

指令711可由处理资源701可执行,使得计算设备700复制远程ble设备的属性配置文件。在一些示例中,属性配置文件可包括由远程ble设备可执行的多个服务和多个特征。在一些示例中,属性配置文件还可包括广告数据包以及远程ble设备的扫描响应数据包。这些数据包可允许计算设备700广播与由远程ble设备广播的信号类似的信号。如上所述,远程ble设备在这里也是可应用的。在一些示例中,可通过从服务器721接收数据(即从捕获属性配置文件的文件)来实现属性配置文件的复制。指令711可采用这个数据并生成数据结构,以描述属性配置文件。在一些示例中,属性配置文件可采用与gatt配置文件的格式类似的分级格式。然而,复制的配置文件包括在文件中捕获的内容,且可以不包括在远程ble设备上的gatt配置文件的全部。相应地,由计算设备700复制的属性配置文件可包括多个服务和多个特征,其中多个可包括任何数量,包括一个、两个、三个等。这些特征可代表由远程ble设备可执行的功能。此外,在图7的示例中,计算设备700和服务器721由中介网络连接。相应地,指令711也可包括处理资源701可执行的指令,使得计算设备700连接到服务器721并与服务器721通信。这可使用诸如tcp/ip的协议来实现。如上面所讨论的,服务器721可提供私有api。相应地,指令711可包括由处理资源701可执行的指令,该指令允许计算设备700向服务器721提供证书,以便允许计算设备700访问由服务器721提供的私有api。

指令712可以是处理资源701可执行的,使得计算设备700广播ble信号以将计算设备700的存在通知给能够进行ble连接的附近的设备,如客户端设备720。如在本文使用的,相对于第一计算设备的“邻近的”蓝牙设备是在第一计算设备的ble范围内的蓝牙设备。指令713可以是处理资源701可执行的,使得计算设备700连接到邻近的蓝牙设备,例如客户端设备720。在一些示例中,这可包括从客户端设备720接收连接请求并接受连接请求。类似于指令712,这可使用ble协议来完成。一旦客户端设备720和计算设备700经由ble被连接,客户端设备720和计算设备700就参与到ble协议,使得客户端设备720发现由计算设备700复制的属性配置文件。相应地,在一些示例中,指令712可包括针对设备720的、关于发现复制的属性配置文件的请求做出响应的指令。

指令714可以是处理资源701可执行的,使得计算设备700从邻近的蓝牙设备(例如客户端设备720)接收针对来自多个特征中的一特征的命令。换句话说,所请求的操作可由用户在客户端设备720上发出(例如关掉电灯泡)。客户端设备720可将这个操作传输到计算设备。操作可包括针对特征的命令,例如与特征相关联的写命令。指令714允许计算设备接收这个命令。

指令715可以是处理资源701可执行的,使得计算设备700将命令传输到蓝牙代理。例如,服务器721可提供蓝牙代理。因为在服务器721和计算设备700之间的连接不是经由ble网络而是经由中介网络,指令715可使用在中介网络中使用的协议,其不同于在ble网络中使用的协议。

在一些示例中,远程ble设备可响应于远程ble设备从远程ble设备连接到的远程访问设备接收的命令而发出响应信号。响应可传输到服务器721并接着中继到到计算设备700。因此在一些示例中,机器可读存储介质710可包括从服务器721接收对命令的响应并将对命令的响应传输到客户端设备720的指令。

从处理器和机器可读存储介质方面描述的图7的计算设备700可包括从包含硬件和软件的引擎方面描述的图6的计算系统600的一个或多个结构或功能方面。

图8是包括ble网络和中介网络的网络800的方框图。网络800包括ble外围设备810、接入点801、服务器802和客户端设备820。ble外围设备810类似于如关于图1讨论的ble外围设备10。ble网络在接入点801和ble外围设备810之间,如由数字1表示的。接入点801、服务器802和客户端设备802可由中介网络连接。这由将接入点801链接到服务器802的数字2和将服务器802链接到客户端设备820的数字2表示。接入点801类似于如关于图1讨论的接入点101。

服务器802类似于服务器102,且ble代理812类似于ble代理112,如关于图1所述的,除了由服务器802提供的服务包括公共api822以外。如上面关于图3讨论的,公共api是暴露于大范围的用户和计算设备并由打范围的用户和计算设备可访问的接口。使用在捕获ble外围设备810的属性配置文件的文件中的数据,公共api可提供针对属性中的特征的可操作的操作(例如读操作、写操作等)。公共api可由在计算设备(例如服务器)上运行的web应用访问。在一些示例中,运行web应用的计算设备是与服务器802不同的计算设备。在其它示例中,运行web应用的计算设备可以是与服务器802相同的计算设备。web应用可以是ble外围设备810所特有的。客户端设备820可以是计算设备(例如个人计算机、移动设备、智能电话等)。通过由web应用提供的接口,客户端设备820可发起操作以在ble外围设备810上执行。web应用可接着经由公共api822将那些操作传输到ble代理812。ble代理812可将操作传输到接入点801,接入点801可接着向ble外围设备810发出命令,使得ble外围设备810执行该操作。

图9是包括ble网络和中介网络的网络900的方框图。网络900包括ble外围设备910、接入点901、服务器902和客户端设备920。ble外围设备910类似于如关于图1讨论的ble外围设备10。ble网络在接入点901和ble外围设备910之间,如由数字1表示的。接入点901、服务器902和客户端设备920可由中介网络连接。这由将接入点901链接到服务器902的数字2和将服务器902链接到客户端设备920的数字2表示。接入点901类似于如关于图1讨论的接入点101。

服务器902类似于服务器102,且ble代理912类似于ble代理122,如关于图1所述的,除了由服务器902提供的服务包括应用模拟器922以外。如上面关于图3讨论的,应用模拟器可模拟特定环境,允许为特定环境设计的应用在与特定环境不同的环境上运行。在一些示例中,应用模拟器是移动应用模拟器。模拟器也将模拟具有ble连接能力的虚拟机。客户端设备920可访问移动应用模拟器服务,并运行ble外围设备910所特有的移动应用。移动应用可接着调用由客户端设备920发起的、与在ble外围设备910的属性配置文件上的特征有关的命令。这些命令可接着经由应用模拟器922被中继到ble代理912。ble代理912可将操作传输到接入点901,接入点901可接着向ble外围设备910发出命令,使得ble外围设备执行该操作。

图10示出使用中介网络扩展ble网络的方法100的流程图。虽然下面关于网络100描述了方法1000的执行,可利用用于执行方法1000的其它适当的系统(例如网络500、网络800或网络900)。此外,方法1000的实现不限于这样的示例,且应认识到,方法1000可用于在本文所述的任何适当的设备或系统等。

在方法1000的1010处,接入点101可经由第一协议连接到ble设备(例如ble外围设备10)。在一些示例中,这个协议可以是ble协议(包括gatt和gap)。接入点101可位于第一物理位置处。在一些示例中,这个第一物理位置在ble外围设备10的位置的ble范围内。在方法1000的1020处,接入点101可发现ble外围设备10的属性配置文件。这可根据第一协议来完成。属性配置文件可包括与特征相关联的服务。因为这在接入点101处完成,该发现在第一位置处完成。

在方法1000的1030处,接入点101可生成包括在1020处发现的属性配置文件的文件。换句话说,文件可捕获ble外围设备10的属性配置文件。在一些示例中,文件可以是语言无关格式,例如json。在一些示例中,文件也可以采用用户可读和机器可读的语言,例如xml。因为文件由接入点101生成,文件也在与1010和1020被执行的相同的位置处生成。

在方法1000的1040处,接入点101可将在1030处生成的文件传输到服务器102。在一些示例中,服务器102可位于远离接入点101的物理位置上。在一些示例中,服务器102也可位于远离ble外围设备10的物理位置上。远离ble外围设备10的计算设备在ble外围设备10的ble通信范围之外。这个位置可被特征化为第二位置。相应地,接入点101和服务器102可使用中介网络而不是ble网络来通信。相应地,用于传输文件的协议是不同于第一协议的第二协议。第二协议可包括在互联网通信中使用的协议,例如tcp/ip。

在方法1000的1050处,服务器102可提供允许客户端计算设备(例如未在图1中示出的客户端设备)针对特征执行多个操作的服务。在一些示例中,服务器可包括ble代理112。此外,服务器也可包括私有api、公共api和/或应用模拟器,如关于图3和/或图4讨论的。在一些示例中,可在同一位置处提供访问设备和ble代理112。例如,在私有api或公共api被提供的情况下,api可由服务器102提供。在一些示例中,可在不同的位置处提供ble代理112和接入服务。例如,在访问设备是应用模拟器的情况下,应用模拟器可由与服务器102不同的计算设备托管。这个计算设备可位于与服务器102不同的位置处,并可通过中介网络与服务器102通信。在一些示例中,服务可基于在1040处在第二位置处接收的文件中的数据。如在本文使用的,因为服务的功能被文件中的数据影响,所以服务基于数据。例如,当服务包括私有api或公共api时,api可呈递针对在文件中捕获的特征执行的操作。这些操作可基于在文件中捕获的特征来改变。作为另一示例,当服务包括应用模拟器时,应用模拟器可直接与在文件中捕获的特征交互。如上面讨论的,使用这些服务允许客户端设备针对ble外围设备10的特征执行多个操作。

相应地,在与接入点的第一位置不同的一个或多个位置处提供这个服务。相比于服务在接入点处被提供,这允许对服务的更容易访问。在单个接入点处提供的服务可能需要单个接入点无论什么时候都是可使用的的和可访问的。此外,虽然图10描述对单个ble外围设备的单个服务,服务器102可提供与多个ble外围设备有关的多个服务。这允许客户端设备与多个ble外围设备交互,允许更容易的可扩展性。例如,客户端设备可以只与服务器102交互从而与多个接入点交互(因而允许客户端设备访问很多ble外围设备)。此外,由于单个接入点与ble外围设备的交互,所以单个接入点受特定的物理位置的约束。

在1060处,服务器102和特别是ble代理112可接收针对特征的所请求的操作。这个所请求的操作可由客户端设备发起。所请求的操作由ble代理112接收且因此在如上所示的第二位置处被接收。在1070处,服务器102将所请求的操作传输到接入点101。这是从服务器102所在的第二位置到第一位置。此外,因为接入点101经由中介网络而不是ble连接到服务器102,在通信中使用的协议是第二协议而不是第一协议。

虽然图10的流程图显示某些功能的执行的特定顺序,方法100不限于那个顺序。例如,连续示出的一些功能可以按不同的顺序执行,可同时或部分同时地执行或其组合。例如,可同时执行1050和1060。在一些示例中,可结合在本文关于图1至9中的任一个所述的功能来提供在本文关于图10所述的功能。此外,虽然图10讨论特定数量的属性配置文件、服务和特征,方法10不限于所述属性配置文件、服务和特征的数量。例如,可针对两个、三个等ble设备发现两个、三个等属性配置文件。

在这个说明书(包括任何随附的权利要求、摘要和附图)中公开的所有特征和/或这样公开的任何方法或过程的所有元件可被组合在任何组合中,除了这样的特征和/或元件中的至少一个相互排他的组合以外。

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