CN105956463B - 一种设备控制方法、装置及终端 - Google Patents

一种设备控制方法、装置及终端 Download PDF

Info

Publication number
CN105956463B
CN105956463B CN201610255944.2A CN201610255944A CN105956463B CN 105956463 B CN105956463 B CN 105956463B CN 201610255944 A CN201610255944 A CN 201610255944A CN 105956463 B CN105956463 B CN 105956463B
Authority
CN
China
Prior art keywords
characteristic value
target device
operating right
target
terminal
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.)
Active
Application number
CN201610255944.2A
Other languages
English (en)
Other versions
CN105956463A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201610255944.2A priority Critical patent/CN105956463B/zh
Publication of CN105956463A publication Critical patent/CN105956463A/zh
Priority to PCT/CN2017/081604 priority patent/WO2017182002A1/zh
Priority to US15/959,718 priority patent/US11157634B2/en
Application granted granted Critical
Publication of CN105956463B publication Critical patent/CN105956463B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明实施例提供一种设备控制方法、装置及终端,其中的设备控制方法可包括:建立终端与目标设备之间的近距离无线通信连接;基于所述通信连接,获取所述目标设备的至少一个特征值,一个所述特征值对应所述目标设备的一种功能;查询对所述至少一个特征值中每个特征值的操作权限;根据所述操作权限,对所述特征值进行操作,以实现对所述特征值对应的功能控制。采用本发明实施例不需要厂家开发服务器后台,控制方式精简,减小了工作量。

Description

一种设备控制方法、装置及终端
技术领域
本发明涉及无线通信技术领域,具体涉及一种设备控制方法、装置及终端。
背景技术
随着无线通信技术的发展,用户可以通过终端与各种设备之间的近距离无线通信进行信息交互与控制,例如,终端与蓝牙设备之间通过蓝牙协议进行信息交互和控制,蓝牙设备可以是蓝牙耳机,防丢器,智能电灯等等,通过终端设备上所安装的应用程序实现对蓝牙设备的控制,比如控制智能电灯的亮灭。但是现有的蓝牙协议在实现上需要蓝牙设备厂家开发一个服务器后台,终端与厂家服务器后台进行交互,从而实现对该厂家开发的蓝牙设备的控制。这种方式每个厂家都需要开发服务器后台,比较复杂,工作量比较大。
发明内容
本发明实施例提供一种设备控制方法、装置及终端,不需要厂家开发服务器后台,控制方式精简,减小了工作量。
本发明第一方面提供一种设备控制方法,包括:
建立终端与目标设备之间的近距离无线通信连接;
基于所述通信连接,获取所述目标设备的至少一个特征值,一个所述特征值对应所述目标设备的一种功能;
查询对所述至少一个特征值中每个特征值的操作权限;
根据所述操作权限,对所述特征值进行操作,以实现对所述特征值对应的功能控制。
本发明第二方面提供一种设备控制装置,包括:
建立模块,用于建立终端与目标设备之间的近距离无线通信连接;
获取模块,用于基于所述通信连接,获取所述目标设备的至少一个特征值,一个所述特征值对应所述目标设备的一种功能;
查询模块,用于查询对所述至少一个特征值中每个特征值的操作权限;
操作模块,用于根据所述操作权限,对所述特征值进行操作,以实现对所述特征值对应的功能控制。
本发明第三方面提供一种终端,所述终端包括上述第二方面所述的设备控制装置。
实施本发明实施例,具有如下有益效果:
本发明实施例,建立终端与目标设备之间的近距离无线通信连接,基于该通信连接,获取目标设备的至少一个特征值,一个特征值对应目标设备的一种功能,查询对该至少一个特征值中每个特征值的操作权限,根据操作权限,对特征值进行操作,以实现对特征值对应的功能控制,这种方式不需要厂家开发服务器后台,仅仅需要终端对目标设备的特征值进程操作即可,减小了工作量,控制方式精简。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种设备控制方法的流程图;
图2为本发明实施例提供的另一种设备控制方法的流程图;
图3为本发明实施例提供的设备与手机之间的信息交互图;
图4为本发明实施例提供的一种设备控制装置的结构示意图;
图5为本发明实施例提供的一种操作模块的结构示意图;
图6为本发明实施例提供的一种终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面将结合附图1-附图3,对本发明实施例提供的设备控制方法进行详细介绍。
请参照图1,为本发明实施例提供的一种设备控制方法的流程图;本发明实施例的设备控制方法可以在应用程序上实现,该方法可包括以下步骤S100-步骤S103。
S100,建立终端与目标设备之间的近距离无线通信连接;
本发明实施例中,终端可以是手机、PAD(平板电脑)、智能可穿戴设备等便携式终端设备,终端中可安装并运行应用程序,此应用程序可包括但不限于:SNS(SocialNetworking Services,社会性网络服务)应用程序、即时通信应用程序等等。
目标设备优选为能够广播或发射近场无线通信信号的设备,包括但不限于低功耗蓝牙(Bluetooth Low Energy,Ble)设备或近距离通信(Near Field Communication,NFC)设备;并且,终端也具备近场无线通信功能,终端与目标设备可以实现近场无线通信。目标设备可以是计步器、蓝牙耳机、蓝牙灯以及秤等等。
目标设备可以按照一定的频率(例如:1分钟、5分钟等等)广播和发射近场无线通信信号,并在该近场无线通信信号中携带设备标识。终端侧的用户可以启动终端的近场无线通信功能,终端可以获得目标设备广播的近场无线通信信号,并从中解析出设备标识,所述近场无线通信信号可包括但不限于:Ble信号或NFC信号。其中,Ble信号是一种低成本、短距离、可互操作的鲁棒性无线信号,其要求通信双方的距离满足一定的要求以实现超低能耗。NFC信号是一种短距高频的无线信号。
需要说明的是,在终端与目标设备之间第一次建立近距离无线通信连接时,终端与目标设备之间会建立绑定关系,终端与目标设备均会存储该绑定关系。当后续终端搜索到该目标设备时,即自动建立近距离无线通信连接。
S101,基于所述通信连接,获取所述目标设备的至少一个特征值,一个所述特征值对应所述目标设备的一种功能;
本发明实施例中,基于该通信连接,终端可以读取目标设备的至少一个特征值,一个特征值对应目标设备的一种功能,一个目标设备可以有多个特征值。需要说明的是,为了能够便于终端确定目标设备的类别,还需要读取目标设备的标识,根据目标设备的标识确定该目标设备的类别,例如,标识为1-100,其中标识3表示该目标设备为计步器,则当终端读取该目标设备的标识为3时,则说明,该目标设备为计步器。不同类别的设备的特征值所对应的功能不同。
首先目标设备需要广播广播包,该广播包上携带终端应用程序的service,并在manufature data里带上目标设备的媒体访问控制(Media Access Control,MAC)地址。例如,应用程序的Service uuid:0xFEE7;manufature specific data需以MAC地址(6字节)结尾,并且manufature specific data长度需大于等于8字节(最前两个字节为company id,没有的话随便填)。
目标设备需要向终端暴露一些特征值,首先是读特征值,应用程序service下面需包含一个读特征值,uuid为:0xFEC9,内容为6字节MAC地址(ios系统其他软件连上设备之后,终端应用程序会去读该特征值,以确定设备MAC地址)。
其他特征值根据目标设备的功能而确定,例如,目标设备为计步器,则可以包括两个特征值,一个特征值为实时计步信息,包括步数、距离以及卡路里等等,另一个特征值为运动目标。特征值构成的计步文件profile放在广播包的应用程序service下面。
S102,查询对所述至少一个特征值中每个特征值的操作权限;
本发明实施例中,查询对该至少一个特征值中每个特征值的操作权限,可选的,操作权限包括对特征值的写权限、对特征值的读权限以及自动通知特征值更新的权限中的至少一种。
这里继续以目标设备为计步器为例进行说明,特征值包括实时计步信息和运动目标,以下表格是对实时计步信息特征值的阐述,用户对该特征值的操作权限包括读取权限以及自动通知更新的权限,实时计步信息包括步数、距离以及卡路里。
特征值名称 current_pedometer_measurement
uuid 0xFEA1
权限 Read;Indicate和Notify二选一,也可都支持
是否必选 必选
说明 实时计步信息,包括:步数,距离,卡路里
以下表格是对运动目标特征值的阐述,用户对该特征值的操作权限包括读取权限、写权限以及自动通知更新的权限。
终端对目标设备的各个特征值的操作权限可以在目标设备预先设定,当终端通过通信连接与目标设备进行信息交互时,终端可以读取目标设备中预先设定的各个特征值以及操作权限。当然,也可以是将各个设备的特征值以及操作权限预先设定在终端的应用程序内,当检测到目标设备的特征值时,可以在终端应用程序内查询该目标设备的该特征值的操作权限。
进一步可选的,实时计步信息特征值current_pedometer_measurement的值可以由以下4部分组成:
其中的距离和卡路里是可选的,可能出现也可能不出现,如果只有步数,那么值为:01(步数)10 27 00(1万步);如果有步数和距离,那么值为:03(步数,距离)10 27 00(1万步)70 17 00(6公里);其他情况以此类推。
进一步可选的,运动目标特征值target的值可以由以下表格的值构成:
类型 说明
Flag Uint8 0x01:步数(必选)
StepCount Uint24 步数
如果运动目标为一万步,那么target的值为:01(步数)10 27 00(1万步);需要说明的是,如果终端往目标设备写入运动目标target的值,目标设备要更新。如果目标设备更新了运动目标target的值,需要通知终端。
S103,根据所述操作权限,对所述特征值进行操作,以实现对所述特征值对应的功能控制。
本发明实施例中,根据特征值的操作权限,终端可以对目标设备的特征值进行操作,从而实现对特征值对应功能的控制。
可选的,若所述操作权限包括自动通知所述特征值更新的权限;
所述根据所述操作权限,对所述特征值进行操作,以实现对所述特征值对应的功能控制,包括:
根据所述操作权限,向所述目标设备订阅所述特征值,以使当所述目标设备对所述特征值进行更新时自动通知所述终端。
本发明实施例中,若某个特征值的操作权限包括自动通知该特征值更新的权限,则终端需要向目标设备订阅该特征值(通常一个设备的特征值包括很多,需要用户根据自身需求订阅相应的特征值),当该特征值更新时会自动通知终端。
比如,计步器中的实时计步信息特征值,若用户订阅了该特征值,则当该实时计步信息更新时,会同步至终端,并通知用户(通知方式可以是计步器界面显示,显示内容包括但不限于步数、公里以及卡路里)。同理,对于运动目标这个特征值,用户也可以进行订阅,当目标设备上对该特征值进行了更新时,会自动同步至终端,并通知用户。
可选的,若所述操作权限包括对所述特征值的读权限;
所述根据所述操作权限,对所述特征值进行操作,以实现对所述特征值对应的功能控制,包括:
根据所述操作权限,读取所述特征值;
在所述终端显示与所述特征值对应的功能信息。
本发明实施例中,若某个特征值的操作权限包括对特征值的读权限,则终端可以根据该操作权限,读取该特征值,同时在终端显示与该特征值对应的功能信息。
比如,计步器中的实时计步信息特征值,终端对该特征值拥有读权限,则终端可以向目标设备读取目标设备当前的实时计步信息,实时计步信息包括但不限于步数、公里以及卡路里等等,同时终端可以显示实时计步信息,用户可以了解当前运动状况。同理,对于运动目标这个特征值,终端对该特征值拥有读权限,则终端可以向目标设备读取运动目标,并显示该运动目标。
可选的,若所述操作权限包括对所述特征值的写权限;
所述根据所述操作权限,对所述特征值进行操作,以实现对所述特征值对应的功能控制,包括:
当接收到与所述特征值关联的控制指令时,根据对所述特征值的操作权限以及所述控制指令,对所述特征值进行写操作,以对所述目标设备实现与所述控制指令对应的功能控制。
本发明实施例中,若某个特征值的操作权限包括对该特征值的写权限,比如计步器中的运动目标这个特征值,终端即拥有对该特征值的写权限。当接收到与该特征值关联的控制指令时,根据对该特征值的写权限以及控制指令,终端在目标设备中对该特征值进行写操作,以对该目标设备实现与控制指令对应的功能控制。
比如计步器中的运动目标这个特征值,当用户需要通过终端重新设置目标设备中的运动目标时,用户向终端发起与该运动目标特征值关联的控制指令,该控制指令中携带需要重新设置运动目标的数值,可选的,用户向终端发起控制指令的发起方式可以是通过终端触控屏进行操作。
终端根据该控制指令以及对运动目标的写权限,对目标设备中的运动目标特征值进行修改操作,修改为控制指令中携带的运动目标的数值,这样实现了对目标设备中运动目标的更新操作。
本发明实施例,建立终端与目标设备之间的近距离无线通信连接,基于该通信连接,获取目标设备的至少一个特征值,一个特征值对应目标设备的一种功能,查询对该至少一个特征值中每个特征值的操作权限,根据操作权限,对特征值进行操作,以实现对特征值对应的功能控制,这种方式不需要厂家开发服务器后台,仅仅需要终端对目标设备的特征值进程操作即可,减小了工作量,控制方式精简。
请参照图2,为本发明实施例提供的另一种设备控制方法的流程图;本发明实施例的设备控制方法可以在应用程序上实现,该方法可包括以下步骤S200-步骤S204。
S200,接收所述目标设备的广播包,所述广播包中携带所述目标设备的目标标识;
本发明实施例中,目标设备广播广播包,该广播包中携带目标设备的目标标识,目标标识可以包括目标设备的MAC地址或者网络地址等等。
S201,将所述目标标识与预设标识库中的标识进行匹配,若所述预设标识库中存在与所述目标标识匹配一致的标识,则建立终端与所述目标设备之间的近距离无线通信连接;
其中,所述预设标识库中的标识所标识的设备为合法设备。
本发明实施例中,在原有蓝牙本身的安全机制基础上,还增加了新的安全机制,即需要将目标设备的目标标识与预设标识库中的标识进行匹配,该预设标识库中的标识所标识的设备均为合法设备,若匹配一致,则说明该目标设备为合法设备,终端可以建立与目标设备之间的近距离无线通信连接。
需要说明的是,各个设备厂商需要预先在所提供的html页面上录入所生产设备的标识,这样会自动记录到后台服务器的预设标识库中。
当终端收到目标设备的广播包之后,会去后台服务器的预设标识库中验证该目标设备的标识是否合法,如果发现该目标设备的标识没有登记,则认为该目标设备非法。此外,如果某个标识被山寨厂商大量盗用,后台服务器也可以配置黑名单,禁用该标识所标识的设备。
S202,基于所述通信连接,获取所述目标设备的至少一个特征值,一个所述特征值对应所述目标设备的一种功能;
S203,查询对所述至少一个特征值中每个特征值的操作权限;
S204,根据所述操作权限,对所述特征值进行操作,以实现对所述特征值对应的功能控制。
本发明实施例步骤S202-S204请参照图1的实施例步骤S101-S103,在此不再赘述。
本发明实施例,建立终端与目标设备之间的近距离无线通信连接,基于该通信连接,获取目标设备的至少一个特征值,一个特征值对应目标设备的一种功能,查询对该至少一个特征值中每个特征值的操作权限,根据操作权限,对特征值进行操作,以实现对特征值对应的功能控制,这种方式不需要厂家开发服务器后台,仅仅需要终端对目标设备的特征值进程操作即可,减小了工作量,控制方式精简。
请参照图3,为本发明实施例提供的一种手机与设备之间的信息交互图,本发明实施例以设备为计步器,终端为手机为例进行说明,如图所示:
手机进入计步器界面,建立与设备之间的近距离无线通信连接,并订阅相应的特征值;
手机可以读取设备中实时计步数据,运动目标等特征值;
手机根据所读取的特征值,更新计步器界面数据,显示步数、公里、卡路里以及运动目标;
当设备中所记录的实时计步数据变化时,设备会自动向手机通知该实时计步数据;
手机更新计步器界面数据,显示计步器界面数据,显示步数、公里、卡路里;
用户也可以通过手机设置设备中的运动目标,即是手机对设备中的运动目标特征值进行写操作;
设备根据手机的写操作,自动更新运动目标,同时会通知手机运动目标的变化;
用户也可以在设备上对运动目标进行设置,当用户在设备上对运动目标进行设置之后,设备会自动通知手机运动目标的变化;
手机更新计步器界面,显示更新后的运动目标。
下面将结合附图4-附图5,对本发明实施例提供的一种设备控制装置进行详细介绍。
请参照图4,为本发明实施例提供的一种设备控制装置的结构示意图,如图所示,该设备控制装置包括建立模块100、获取模块101、查询模块102以及操作模块103;
建立模块100,用于建立终端与目标设备之间的近距离无线通信连接;
本发明实施例中,终端可以是手机、PAD(平板电脑)、智能可穿戴设备等便携式终端设备,终端中可安装并运行应用程序,此应用程序可包括但不限于:SNS(SocialNetworking Services,社会性网络服务)应用程序、即时通信应用程序等等。
目标设备优选为能够广播或发射近场无线通信信号的设备,包括但不限于低功耗蓝牙(Bluetooth Low Energy,Ble)设备或近距离通信(Near Field Communication,NFC)设备;并且,终端也具备近场无线通信功能,终端与目标设备可以实现近场无线通信。目标设备可以是计步器、蓝牙耳机、蓝牙灯以及秤等等。
目标设备可以按照一定的频率(例如:1分钟、5分钟等等)广播和发射近场无线通信信号,并在该近场无线通信信号中携带设备标识。终端侧的用户可以启动终端的近场无线通信功能,终端可以获得目标设备广播的近场无线通信信号,并从中解析出设备标识,所述近场无线通信信号可包括但不限于:Ble信号或NFC信号。其中,Ble信号是一种低成本、短距离、可互操作的鲁棒性无线信号,其要求通信双方的距离满足一定的要求以实现超低能耗。NFC信号是一种短距高频的无线信号。
需要说明的是,在终端与目标设备之间第一次建立近距离无线通信连接时,终端与目标设备之间会建立绑定关系,终端与目标设备均会存储该绑定关系。当后续终端搜索到该目标设备时,即自动建立近距离无线通信连接。
获取模块101,用于基于所述通信连接,获取所述目标设备的至少一个特征值,一个所述特征值对应所述目标设备的一种功能;
本发明实施例中,基于该通信连接,终端可以读取目标设备的至少一个特征值,一个特征值对应目标设备的一种功能,一个目标设备可以有多个特征值。需要说明的是,为了能够便于终端确定目标设备的类别,还需要读取目标设备的标识,根据目标设备的标识确定该目标设备的类别,例如,标识为1-100,其中标识3表示该目标设备为计步器,则当终端读取该目标设备的标识为3时,则说明,该目标设备为计步器。不同类别的设备的特征值所对应的功能不同。
首先目标设备需要广播广播包,该广播包上携带终端应用程序的service,并在manufature data里带上目标设备的媒体访问控制(Media Access Control,MAC)地址。例如,应用程序的Service uuid:0xFEE7;manufature specific data需以MAC地址(6字节)结尾,并且manufature specific data长度需大于等于8字节(最前两个字节为company id,没有的话随便填)。
目标设备需要向终端暴露一些特征值,首先是读特征值,应用程序service下面需包含一个读特征值,uuid为:0xFEC9,内容为6字节MAC地址(ios系统其他软件连上设备之后,终端应用程序会去读该特征值,以确定设备MAC地址)。
其他特征值根据目标设备的功能而确定,例如,目标设备为计步器,则可以包括两个特征值,一个特征值为实时计步信息,包括步数、距离以及卡路里等等,另一个特征值为运动目标。特征值构成的计步文件profile放在广播包的应用程序service下面。
查询模块102,用于查询对所述至少一个特征值中每个特征值的操作权限;
本发明实施例中,查询对该至少一个特征值中每个特征值的操作权限,可选的,操作权限包括对特征值的写权限、对特征值的读权限以及自动通知特征值更新的权限中的至少一种。
这里继续以目标设备为计步器为例进行说明,特征值包括实时计步信息和运动目标,以下表格是对实时计步信息特征值的阐述,用户对该特征值的操作权限包括读取权限以及自动通知更新的权限,实时计步信息包括步数、距离以及卡路里。
特征值名称 current_pedometer_measurement
uuid 0xFEA1
权限 Read;Indicate和Notify二选一,也可都支持
是否必选 必选
说明 实时计步信息,包括:步数,距离,卡路里
以下表格是对运动目标特征值的阐述,用户对该特征值的操作权限包括读取权限、写权限以及自动通知更新的权限。
特征值名称 target
uuid 0xFEA2
权限 Read;Write;Indicate
是否必选 可选
说明 运动目标
终端对目标设备的各个特征值的操作权限可以在目标设备预先设定,当终端通过通信连接与目标设备进行信息交互时,终端可以读取目标设备中预先设定的各个特征值以及操作权限。当然,也可以是将各个设备的特征值以及操作权限预先设定在终端的应用程序内,当检测到目标设备的特征值时,可以在终端应用程序内查询该目标设备的该特征值的操作权限。
进一步可选的,实时计步信息特征值current_pedometer_measurement的值可以由以下4部分组成:
其中的距离和卡路里是可选的,可能出现也可能不出现,如果只有步数,那么值为:01(步数)10 27 00(1万步);如果有步数和距离,那么值为:03(步数,距离)10 27 00(1万步)70 17 00(6公里);其他情况以此类推。
进一步可选的,运动目标特征值target的值可以由以下表格的值构成:
类型 说明
Flag Uint8 0x01:步数(必选)
StepCount Uint24 步数
如果运动目标为一万步,那么target的值为:01(步数)10 27 00(1万步);需要说明的是,如果终端往目标设备写入运动目标target的值,目标设备要更新。如果目标设备更新了运动目标target的值,需要通知终端。
操作模块103,用于根据所述操作权限,对所述特征值进行操作,以实现对所述特征值对应的功能控制。
本发明实施例中,操作模块103根据特征值的操作权限,终端可以对目标设备的特征值进行操作,从而实现对特征值对应功能的控制。
在一种可选的实施方式中,若所述操作权限包括自动通知所述特征值更新的权限;
所述操作模块103具体用于根据所述操作权限,向所述目标设备订阅所述特征值,以使当所述目标设备对所述特征值进行更新时自动通知所述终端。
本发明实施例中,若某个特征值的操作权限包括自动通知该特征值更新的权限,则终端需要向目标设备订阅该特征值(通常一个设备的特征值包括很多,需要用户根据自身需求订阅相应的特征值),当该特征值更新时会自动通知终端。
比如,计步器中的实时计步信息特征值,若用户订阅了该特征值,则当该实时计步信息更新时,会同步至终端,并通知用户(通知方式可以是计步器界面显示,显示内容包括但不限于步数、公里以及卡路里)。同理,对于运动目标这个特征值,用户也可以进行订阅,当目标设备上对该特征值进行了更新时,会自动同步至终端,并通知用户。
在另一种可选的实施方式中,若所述操作权限包括对所述特征值的读权限;如图5所示,所述操作模块103可以包括读取单元1030和显示单元1031;
读取单元1030,用于根据所述操作权限,读取所述特征值;
显示单元1031,用于在所述终端显示与所述特征值对应的功能信息。
本发明实施例中,若某个特征值的操作权限包括对特征值的读权限,则终端可以根据该操作权限,读取该特征值,同时在终端显示与该特征值对应的功能信息。
比如,计步器中的实时计步信息特征值,终端对该特征值拥有读权限,则终端可以向目标设备读取目标设备当前的实时计步信息,实时计步信息包括但不限于步数、公里以及卡路里等等,同时终端可以显示实时计步信息,用户可以了解当前运动状况。同理,对于运动目标这个特征值,终端对该特征值拥有读权限,则终端可以向目标设备读取运动目标,并显示该运动目标。
在又一种可选的实施方式中,若所述操作权限包括对所述特征值的写权限;
所述操作模块103具体用于当接收到与所述特征值关联的控制指令时,根据对所述特征值的操作权限以及所述控制指令,对所述特征值进行写操作,以对所述目标设备实现与所述控制指令对应的功能控制。
本发明实施例中,若某个特征值的操作权限包括对该特征值的写权限,比如计步器中的运动目标这个特征值,终端即拥有对该特征值的写权限。当接收到与该特征值关联的控制指令时,根据对该特征值的写权限以及控制指令,终端在目标设备中对该特征值进行写操作,以对该目标设备实现与控制指令对应的功能控制。
比如计步器中的运动目标这个特征值,当用户需要通过终端重新设置目标设备中的运动目标时,用户向终端发起与该运动目标特征值关联的控制指令,该控制指令中携带需要重新设置运动目标的数值,可选的,用户向终端发起控制指令的发起方式可以是通过终端触控屏进行操作。
终端根据该控制指令以及对运动目标的写权限,对目标设备中的运动目标特征值进行修改操作,修改为控制指令中携带的运动目标的数值,这样实现了对目标设备中运动目标的更新操作。
可选的,该设备控制装置还可以包括接收模块104以及匹配模块105;
接收模块104,用于接收所述目标设备的广播包,所述广播包中携带所述目标设备的目标标识;
本发明实施例中,目标设备广播广播包,该广播包中携带目标设备的目标标识,目标标识可以包括目标设备的MAC地址或者网络地址等等。
匹配模块105,用于将所述目标标识与预设标识库中的标识进行匹配;
所述建立模块100具体用于若所述预设标识库中存在与所述目标标识匹配一致的标识,则建立终端与所述目标设备之间的近距离无线通信连接;
其中,所述预设标识库中的标识所标识的设备为合法设备。
本发明实施例中,在原有蓝牙本身的安全机制基础上,还增加了新的安全机制,即匹配模块105需要将目标设备的目标标识与预设标识库中的标识进行匹配,该预设标识库中的标识所标识的设备均为合法设备,若匹配一致,则说明该目标设备为合法设备,终端可以建立与目标设备之间的近距离无线通信连接。
需要说明的是,各个设备厂商需要预先在所提供的html页面上录入所生产设备的标识,这样会自动记录到后台服务器的预设标识库中。
当终端收到目标设备的广播包之后,会去后台服务器的预设标识库中验证该目标设备的标识是否合法,如果发现该目标设备的标识没有登记,则认为该目标设备非法。此外,如果某个标识被山寨厂商大量盗用,后台服务器也可以配置黑名单,禁用该标识所标识的设备。
本发明实施例,建立终端与目标设备之间的近距离无线通信连接,基于该通信连接,获取目标设备的至少一个特征值,一个特征值对应目标设备的一种功能,查询对该至少一个特征值中每个特征值的操作权限,根据操作权限,对特征值进行操作,以实现对特征值对应的功能控制,这种方式不需要厂家开发服务器后台,仅仅需要终端对目标设备的特征值进程操作即可,减小了工作量,控制方式精简。
请参照图6,为本发明实施例提供的一种终端的结构示意图,该终端可执行上述图1和图2所示方法流程的相应步骤。请参见图6,该终端的内部结构可包括但不限于:处理器、用户接口、网络接口及存储器。其中,终端内的处理器、用户接口、网络接口及存储器可通过总线或其他方式连接,在本发明实施例所示图6中以通过总线连接为例。
其中,用户接口是实现用户与终端进行交互和信息交换的媒介,其具体体现可以包括用于输出的显示屏(Display)以及用于输入的键盘(Keyboard)等等,需要说明的是,此处的键盘既可以为实体键盘,也可以为触屏虚拟键盘,还可以为实体与触屏虚拟相结合的键盘。处理器(或称CPU(Central Processing Unit,中央处理器))是终端的计算核心以及控制核心,其可以解析终端内的各类指令以及处理终端的各类数据。存储器(Memory)是终端中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器既可以包括终端的内置存储器,当然也可以包括终端所支持的扩展存储器。存储器提供存储空间,该存储空间存储了终端的操作系统,可包括但不限于:Windows系统(一种操作系统)、Android(安卓,一种移动操作系统)系统、IOS(一种移动操作系统)系统等等,本发明对此并不作限定。存储器的存储空间存储了设备控制装置,该设备控制装置可以是运行于终端中的互联网应用程序,可包括但不限于SNS应用程序、即时通信应用程序等等。
在本发明实施例,终端可通过运行存储器中的设备控制装置来执行上述图1和图2所示方法流程的相应步骤。
本实施例中终端内的设备控制装置可以包括:
建立模块,用于建立终端与目标设备之间的近距离无线通信连接;
获取模块,用于基于所述通信连接,获取所述目标设备的至少一个特征值,一个所述特征值对应所述目标设备的一种功能;
查询模块,用于查询对所述至少一个特征值中每个特征值的操作权限;
操作模块,用于根据所述操作权限,对所述特征值进行操作,以实现对所述特征值对应的功能控制。
优选的,所述操作权限包括对所述特征值的写权限、对所述特征值的读权限以及自动通知所述特征值更新的权限中的至少一种。
作为一种可选的实施方式,若所述操作权限包括自动通知所述特征值更新的权限;
所述操作模块具体用于根据所述操作权限,向所述目标设备订阅所述特征值,以使当所述目标设备对所述特征值进行更新时自动通知所述终端。
作为另一种可选的实施方式,若所述操作权限包括对所述特征值的读权限;所述操作模块包括:
读取单元,用于根据所述操作权限,读取所述特征值;
显示单元,用于在所述终端显示与所述特征值对应的功能信息。
作为又一种可选的实施方式,若所述操作权限包括对所述特征值的写权限;
所述操作模块具体用于当接收到与所述特征值关联的控制指令时,根据对所述特征值的操作权限以及所述控制指令,对所述特征值进行写操作,以对所述目标设备实现与所述控制指令对应的功能控制。
优选的,所述设备控制装置还包括:
接收模块,用于接收所述目标设备的广播包,所述广播包中携带所述目标设备的目标标识;
匹配模块,用于将所述目标标识与预设标识库中的标识进行匹配;
所述建立模块具体用于若所述预设标识库中存在与所述目标标识匹配一致的标识,则建立终端与所述目标设备之间的近距离无线通信连接;
其中,所述预设标识库中的标识所标识的设备为合法设备。
可选的,所述目标设备包括计步器、灯、秤中的任意一种;
若所述目标设备为计步器,所述特征值包括实时计步信息和/或运动目标;
其中,所述实时计步信息的操作权限包括对所述实时计步信息的读权限以及自动通知所述实时计步信息更新的权限;
所述运动目标的操作权限包括对所述运动目标的写权限、对所述运动目标的读权限以及自动通知所述运动目标更新的权限。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,附图4-附图5所示设备控制装置对应的程序可存储在终端的可读存储介质内,并被该终端中的至少一个处理器执行,以实现上述设备控制方法,该方法包括图1-图3中方法实施例所述的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (15)

1.一种设备控制方法,其特征在于,包括:
启动本地近场无线通信功能,接收目标设备发送的近场无线通信信号,建立与所述目标设备的近距离无线通信连接,所述近场无线通信信号中携带设备标识;
基于所述设备标识确定所述目标设备的类别;
基于所述通信连接,获取与所述类别相对应的所述目标设备的至少一个特征值,一个所述特征值对应所述目标设备的一种功能;
查询对所述至少一个特征值中每个特征值的操作权限;
根据所述操作权限,对所述特征值进行操作,以实现对所述特征值对应的功能控制。
2.如权利要求1所述的方法,其特征在于,所述操作权限包括对所述特征值的读权限,以及,
所述操作权限还包括对所述特征值的写权限和自动通知所述特征值更新的权限中的至少一种。
3.如权利要求1或2所述的方法,其特征在于,若所述操作权限包括自动通知所述特征值更新的权限;
所述根据所述操作权限,对所述特征值进行操作,以实现对所述特征值对应的功能控制,包括:
根据所述操作权限,向所述目标设备订阅所述特征值,以使当所述目标设备对所述特征值进行更新时自动通知终端。
4.如权利要求1或2所述的方法,其特征在于,若所述操作权限包括对所述特征值的读权限;
所述根据所述操作权限,对所述特征值进行操作,以实现对所述特征值对应的功能控制,包括:
根据所述操作权限,读取所述特征值;
显示与所述特征值对应的功能信息。
5.如权利要求1或2所述的方法,其特征在于,若所述操作权限包括对所述特征值的写权限;
所述根据所述操作权限,对所述特征值进行操作,以实现对所述特征值对应的功能控制,包括:
当接收到与所述特征值关联的控制指令时,根据对所述特征值的操作权限以及所述控制指令,对所述特征值进行写操作,以对所述目标设备实现与所述控制指令对应的功能控制。
6.如权利要求1所述的方法,其特征在于,所述建立与所述目标设备的近距离无线通信连接之前,还包括:
接收所述目标设备的广播包,所述广播包中携带所述目标设备的目标标识;
将所述目标标识与预设标识库中的标识进行匹配,若所述预设标识库中存在与所述目标标识匹配一致的标识,则建立终端与所述目标设备之间的近距离无线通信连接;
其中,所述预设标识库中的标识所标识的设备为合法设备。
7.如权利要求6所述的方法,其特征在于,所述目标设备包括计步器、灯、秤中的任意一种;
若所述目标设备为计步器,所述特征值包括实时计步信息和/或运动目标;
其中,所述实时计步信息的操作权限包括对所述实时计步信息的读权限以及自动通知所述实时计步信息更新的权限;
所述运动目标的操作权限包括对所述运动目标的写权限、对所述运动目标的读权限以及自动通知所述运动目标更新的权限。
8.一种设备控制装置,其特征在于,包括:
建立模块,用于启动本地近场无线通信功能,接收目标设备发送的近场无线通信信号,建立与所述目标设备的近距离无线通信连接,所述近场无线通信信号中携带设备标识;
其中,所述近场无线通信信号中携带设备标识;
获取模块,用于基于所述设备标识确定所述目标设备的类别,基于所述通信连接,获取与所述类别相对应的所述目标设备的至少一个特征值,一个所述特征值对应所述目标设备的一种功能;
查询模块,用于查询对所述至少一个特征值中每个特征值的操作权限;
操作模块,用于根据所述操作权限,对所述特征值进行操作,以实现对所述特征值对应的功能控制。
9.如权利要求8所述的设备控制装置,其特征在于,所述操作权限包括对所述特征值的读权限,以及,
所述操作权限还包括对所述特征值的写权限和自动通知所述特征值更新的权限中的至少一种。
10.如权利要求8或9所述的设备控制装置,其特征在于,若所述操作权限包括自动通知所述特征值更新的权限;
所述操作模块具体用于根据所述操作权限,向所述目标设备订阅所述特征值,以使当所述目标设备对所述特征值进行更新时自动通知终端。
11.如权利要求8或9所述的设备控制装置,其特征在于,若所述操作权限包括对所述特征值的读权限;所述操作模块包括:
读取单元,用于根据所述操作权限,读取所述特征值;
显示单元,用于显示与所述特征值对应的功能信息。
12.如权利要求8或9所述的设备控制装置,其特征在于,若所述操作权限包括对所述特征值的写权限;
所述操作模块具体用于当接收到与所述特征值关联的控制指令时,根据对所述特征值的操作权限以及所述控制指令,对所述特征值进行写操作,以对所述目标设备实现与所述控制指令对应的功能控制。
13.如权利要求8所述的设备控制装置,其特征在于,所述设备控制装置还包括:
接收模块,用于接收所述目标设备的广播包,所述广播包中携带所述目标设备的目标标识;
匹配模块,用于将所述目标标识与预设标识库中的标识进行匹配;
所述建立模块具体用于若所述预设标识库中存在与所述目标标识匹配一致的标识,则建立终端与所述目标设备之间的近距离无线通信连接;
其中,所述预设标识库中的标识所标识的设备为合法设备。
14.如权利要求13所述的设备控制装置,其特征在于,所述目标设备包括计步器、灯、秤中的任意一种;
若所述目标设备为计步器,所述特征值包括实时计步信息和/或运动目标;
其中,所述实时计步信息的操作权限包括对所述实时计步信息的读权限以及自动通知所述实时计步信息更新的权限;
所述运动目标的操作权限包括对所述运动目标的写权限、对所述运动目标的读权限以及自动通知所述运动目标更新的权限。
15.一种终端,其特征在在于,包括权利要求8-14任意一项所述的设备控制装置。
CN201610255944.2A 2016-04-23 2016-04-23 一种设备控制方法、装置及终端 Active CN105956463B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201610255944.2A CN105956463B (zh) 2016-04-23 2016-04-23 一种设备控制方法、装置及终端
PCT/CN2017/081604 WO2017182002A1 (zh) 2016-04-23 2017-04-24 一种设备控制方法、装置及存储介质
US15/959,718 US11157634B2 (en) 2016-04-23 2018-04-23 Device control method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610255944.2A CN105956463B (zh) 2016-04-23 2016-04-23 一种设备控制方法、装置及终端

Publications (2)

Publication Number Publication Date
CN105956463A CN105956463A (zh) 2016-09-21
CN105956463B true CN105956463B (zh) 2019-01-11

Family

ID=56915814

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610255944.2A Active CN105956463B (zh) 2016-04-23 2016-04-23 一种设备控制方法、装置及终端

Country Status (3)

Country Link
US (1) US11157634B2 (zh)
CN (1) CN105956463B (zh)
WO (1) WO2017182002A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105956463B (zh) 2016-04-23 2019-01-11 腾讯科技(深圳)有限公司 一种设备控制方法、装置及终端
CN108664799B (zh) * 2017-03-31 2023-03-14 腾讯科技(深圳)有限公司 设备管理应用的权限设置方法及装置
CN107241328B (zh) * 2017-06-07 2020-06-12 黄俊生 电子设备开闭方法及系统
CN110569242B (zh) * 2019-08-20 2020-11-06 广州安的电子科技有限公司 一种安全门搜索方法及系统
CN110764837A (zh) * 2019-09-26 2020-02-07 迈普通信技术股份有限公司 一种设备启动的方法及装置
CN111159693B (zh) * 2019-12-28 2022-11-29 西安精雕软件科技有限公司 一种电子设备权限验证方法、装置、系统以及可读介质
CN111343618B (zh) * 2020-02-13 2023-11-10 维沃移动通信有限公司 一种显示方法及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012021633A2 (en) * 2010-08-11 2012-02-16 Nike International Ltd. Athletic activity user experience and environment
CN104375497A (zh) * 2014-12-15 2015-02-25 广东美的厨房电器制造有限公司 智能家居及其控制方法、控制系统和电子设备
CN104957844A (zh) * 2015-07-30 2015-10-07 桂林电子科技大学 一种智能户外运动手环
CN105303083A (zh) * 2015-09-18 2016-02-03 宇龙计算机通信科技(深圳)有限公司 一种数据通信方法及穿戴式设备

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1526714A1 (en) * 2003-08-06 2005-04-27 Matsuhita Electric Industrial Co., Ltd. Information processing apparatus
US8601156B2 (en) * 2007-07-06 2013-12-03 Qualcomm Incorporated Methods and apparatus related to peer discovery and/or paging in peer to peer wireless communications
CN103209412B (zh) * 2012-01-17 2016-03-02 华为技术有限公司 建立设备到设备连接的方法、设备和系统
US20130282438A1 (en) * 2012-04-24 2013-10-24 Qualcomm Incorporated System for delivering relevant user information based on proximity and privacy controls
WO2014024428A1 (ja) * 2012-08-07 2014-02-13 パナソニック株式会社 機器制御方法、機器制御システム及びサーバ装置
US9204291B2 (en) * 2012-10-12 2015-12-01 Crestron Electronics, Inc. User identification and location determination in control applications
GB201304219D0 (en) * 2013-03-08 2013-04-24 Tomtom Int Bv Methods for communicating sensor data between devices
KR102092063B1 (ko) * 2013-04-26 2020-03-23 삼성전자 주식회사 통신 서비스 수행 방법 및 장치
WO2015108319A1 (ko) * 2014-01-14 2015-07-23 엘지전자(주) 네트워크로 연결된 방송 수신 디바이스와 다른 디바이스 간 연결을 관리하는 방법 및 장치
US9635124B2 (en) * 2014-01-15 2017-04-25 Qualcomm Connected Experiences, Inc. Conveying state changes using connectionless messaging and a store-and-forward cache
EP3493509B1 (en) * 2014-02-05 2020-10-21 Apple Inc. Uniform communication protocols for communication between controllers and accessories
CN104219038A (zh) * 2014-08-27 2014-12-17 小米科技有限责任公司 一种同步数据的方法及装置
US10296950B2 (en) * 2014-09-30 2019-05-21 Apple Inc. Beacon triggered processes
CN104754501B (zh) * 2015-04-21 2019-05-28 北京云迹科技有限公司 一种数据传输方法及装置
CN106304395B (zh) * 2015-05-26 2020-02-21 电信科学技术研究院 一种通信方法及设备
CN105228089B (zh) * 2015-09-30 2019-11-05 成都信汇聚源科技有限公司 一种可穿戴设备多传感器适配及实时数据采集方法
CN105956463B (zh) * 2016-04-23 2019-01-11 腾讯科技(深圳)有限公司 一种设备控制方法、装置及终端

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012021633A2 (en) * 2010-08-11 2012-02-16 Nike International Ltd. Athletic activity user experience and environment
CN104375497A (zh) * 2014-12-15 2015-02-25 广东美的厨房电器制造有限公司 智能家居及其控制方法、控制系统和电子设备
CN104957844A (zh) * 2015-07-30 2015-10-07 桂林电子科技大学 一种智能户外运动手环
CN105303083A (zh) * 2015-09-18 2016-02-03 宇龙计算机通信科技(深圳)有限公司 一种数据通信方法及穿戴式设备

Also Published As

Publication number Publication date
US11157634B2 (en) 2021-10-26
CN105956463A (zh) 2016-09-21
WO2017182002A1 (zh) 2017-10-26
US20180239913A1 (en) 2018-08-23

Similar Documents

Publication Publication Date Title
CN105956463B (zh) 一种设备控制方法、装置及终端
TWI717732B (zh) 喚醒、資訊推送方法和裝置、計算設備及儲存媒體
US10506420B2 (en) Methods, systems, and devices for enabling multiple radio assisted discovery
CN108200559B (zh) 一种通过广播数据表示蓝牙设备功能的方法及蓝牙设备
US10785713B2 (en) Device and method for accessing multiple networks in wireless communication system
US20170238126A1 (en) Sensor for acquiring sensing data in disconnected state, intelligent device, and method
CN108781473B (zh) 一种在不同终端间共享文件的方法及设备
CN107889092A (zh) 蓝牙设备通信控制方法、装置、终端设备及存储介质
KR102087010B1 (ko) 무선 통신에 기반한 데이터 송수신 방법 및 장치
KR20150026650A (ko) 전자 기기간 연동 방법 및 장치
KR20160063041A (ko) 근접 서비스 데이터 송신 방법 및 그 전자 장치
CN105898893B (zh) 一种移动终端与物联网设备全双工通信的方法
CN108040355B (zh) 网络接入方法及系统
CN104471917A (zh) 共享应用信息方法和装置
CN108667897B (zh) 通信装置、通信方法以及存储介质
CN108924751B (zh) 基于应用的连通性事件触发的方法和装置
CN104283926A (zh) 一种数据同步方法、装置及服务器
CN108347719A (zh) 蓝牙设备连接方法、装置、存储介质、移动终端及服务器
KR101083547B1 (ko) 펌웨어 업데이트 방법 및 이를 위한 시스템
CN110855534B (zh) 在智能家庭系统中用于搜索和控制受控者的方法和设备
WO2017219519A1 (zh) 设备的控制方法、装置及系统
CN113014637A (zh) 信息显示方法和信息推送方法
US20180287733A1 (en) Electronic device and coverage compensation method thereof for short range communication
CN103533545A (zh) 一种获取有效通讯帐号的方法、装置及设备
CN113395686B (zh) 终端设备交友方法、系统、电子设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant