CN116458124A - 装置与通信网关的自动配对 - Google Patents

装置与通信网关的自动配对 Download PDF

Info

Publication number
CN116458124A
CN116458124A CN202180066549.9A CN202180066549A CN116458124A CN 116458124 A CN116458124 A CN 116458124A CN 202180066549 A CN202180066549 A CN 202180066549A CN 116458124 A CN116458124 A CN 116458124A
Authority
CN
China
Prior art keywords
gateway
identifier
external
devices
database
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.)
Pending
Application number
CN202180066549.9A
Other languages
English (en)
Inventor
A·维塞
R·卢茨
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.)
Systech Corp
Original Assignee
Systech Corp
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 Systech Corp filed Critical Systech Corp
Publication of CN116458124A publication Critical patent/CN116458124A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/52Multiprotocol routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/16Gateway arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本文提供了用于外部装置与网关的自动化配对的系统和方法。一种示例方法可包括由所述网关检索与网关装置的网关标识符相关联的所述外部装置的装置标识符,通过所述网关装置与存储所述装置标识符的数据库之间的网络接口来检索所述装置标识符。所述方法还包括由所述网关通过第一外部装置与所述网关装置之间的局域通信接口从所述第一外部装置接收第一装置标识符,所述局域通信接口根据局域传送协议实现。所述方法还包括基于从所述数据库检索到的所述装置标识符来确定所述第一装置标识符是有效的,并且基于所述确定,根据所述局域传送协议执行与所述第一外部装置的配对过程。

Description

装置与通信网关的自动配对
本申请要求2020年9月1日提交且名称为“AUTOMATIC PAIRING OF DEVICES TO ACOMMUNICATION GATEWAY”的美国临时专利申请序列号63/073,066的权益,该专利申请在以全文引用方式并入。
技术领域
此处描述的实施方案大体上涉及通信网关,并且更具体地,涉及将外部装置与通信网关自动地配对。
背景技术
机器对机器(M2M)系统的使用现在并将继续成为商业和社会的普遍方面。M2M系统是物联网(IoT)的必需部分,并且具有广泛范围的应用,包括工业和建筑自动化的监控和控制、智能设施、智能电网、智能城市、医疗保健、酒店接待、食品服务等。
在M2M和IoT生态系统中,机器对机器系统中的装置之间的通信可使用位于这些装置之间的网关装置来执行。网关装置还可提供附加服务,诸如应用程序的安全执行(包括控制、监控、报告和警报脚本)、一个或多个装置、装置类型和/或装置组的配置和激活/停用,以及针对通信地连接到网关装置的装置、装置类型和/或装置组的数据捕获和报告。
作为简单的示例,在医疗保健的背景下,物理设施(例如,诊所、医院、其他护理提供者设施和/或家庭)内的各种装置可通信地连接到该设施的网关装置。这些装置可包括与健康相关的智能装置和远程患者监控器(RPM)装置(例如,血压袖带、血糖监测器、智能体重秤、跌倒检测器、脉搏血氧仪、肺活量计等)。这些装置典型地收集数据以监控患者的健康参数或其他活动,并且将数据上传到数据库,诸如用于存储和用于不同应用程序(例如,护理提供者的分析、个人监控等)的云实例。网关装置可执行一个或多个控制脚本,该一个或多个控制脚本监控一个或多个装置(例如,通过从其接收数据)并且提供装置与云之间的链路。例如,装置可通过蓝牙TM连接来链接到网关,而网关经由广域网来管理到云的无线连接。
作为另一个简单示例,在工业自动化的背景下,物理设施内的各种装置可通信地连接到该设施的网关装置。这些装置可包括传感器(例如,温度传感器、打开/关闭传感器、锁定/解锁传感器、运动检测器、光度传感器等)和可操作装置,诸如门、窗、锁、灯、大门、阀等。网关装置可执行一个或多个控制脚本,该一个或多个控制脚本监控一个或多个装置(例如,通过从温度传感器接收温度测量值、接收门锁的状态等)并且基于对其他装置和/或条件的监控来控制一个或多个装置(例如,如果大门打开则打开灯、在特定时间将门解锁或锁上、如果温度超过特定阈值则发出警报等)。
然而,常规的蓝牙TM连接需要在蓝牙TM连接的一个或两个端点(例如,装置和网关)处进行用于干预以发现它们、将它们配对并在它们之间建立连接。因此,需要能够简化将装置连接到M2M、IoT、基于云和/或基于分布式服务器的系统内的网关的过程并提高该过程的效率的技术。
发明内容
因此,公开了用于在没有最终用户干预的情况下自动地且安全地将一个或多个外部装置与网关配对的系统和方法。本文公开的系统和方法利用一种过程在装置和网关被配套(或绑定)在一起时(例如,在制造期间或在分发点处)将一个或多个唯一装置标识符(ID)与唯一网关ID相关联。该方法还基于从一个或多个装置获得的装置ID与一个或多个装置网关ID的比较来执行一个或多个装置与一个或多个网关之间的安全配对过程。在配对过程期间,不需要用户干预或活动。
在一方面,提供了一种用于一个或多个外部装置与网关装置的自动化配对的方法。该方法可包括由网关装置检索与网关装置的网关标识符相关联的一个或多个外部装置的装置标识符。在一些实施方案中,通过网关装置和存储装置标识符的数据库之间的网络接口来检索装置标识符。该方法还包括:由网关装置通过第一外部装置与网关装置之间的局域通信接口从第一外部装置接收至少第一发现信号,该第一发现信号包括第一外部装置的第一装置标识符,并且局域通信接口根据局域传送协议实现;在网关装置处基于通过网络接口检索到的装置标识符来确定第一装置标识符是有效装置标识符;以及基于该确定,根据局域传送协议来执行与第一外部装置的配对过程。
在另一方面,提供了一种用于与一个或多个外部装置自动配对的网关设备。该网关设备可包括:至少一个网络接口,该至少一个网络接口被配置为与网络通信;至少一个局域通信接口,该至少一个局域通信接口被配置为根据局域传送协议与一个或多个外部装置通信;至少一个存储器,该至少一个存储器被配置为存储指令;以及一个或多个处理器,该一个或多个处理器耦合到至少一个网络接口、至少一个局部通信接口和至少一个存储器。该一个或多个处理器被配置为由网关装置检索与网关装置的网关标识符相关联的一个或多个外部装置的装置标识符。在一些实施方案中,通过网关装置和存储装置标识符的数据库之间的网络接口来检索装置标识符。该一个或多个处理器还被配置为:由网关装置通过第一外部装置与网关装置之间的局域通信接口从第一外部装置接收至少第一发现信号,该第一发现信号包括第一外部装置的第一装置标识符,并且局域通信接口根据局域传送协议实现;在网关装置处基于通过网络接口检索到的装置标识符来确定第一装置标识符是有效装置标识符;以及基于该确定,根据局域传送协议来执行与第一外部装置的配对过程。
在另一方面,提供了一种用于一个或多个最终用户装置与网关装置的自动化配对的系统。该系统至少包括网络上的数据库和网关装置。数据库被配置为存储与所述一个或多个最终用户装置的装置标识符相关联的网关装置的网关标识符。网关装置包括:广域通信模块,该广域通信模块被配置为与网络通信;以及短程通信模块,该短程通信模块被配置为根据短程通信协议与一个或多个最终用户装置通信。网关装置被配置为:基于网关标识符通过广域通信模块从数据库检索装置标识符;通过短程通信模块从第一最终用户装置接收第一装置标识符;基于从数据库检索到的装置标识符来确定第一装置标识符是有效装置标识符;以及基于该确定,根据短程通信协议来执行与第一最终用户装置的配对过程。
附图说明
通过研究附图可部分地收集本发明的关于其结构和操作两者的细节,在附图中,相同的附图标记指代相同的部分,并且在附图中:
图1示出了根据本文公开的实施方案的所公开的系统、方法和介质的实施方案可在其中操作的基础设施;
图2示出了根据本文公开的实施方案的图1的基础设施的示意框图;
图3示出了根据本文公开的实施方案的蓝牙TM模块的示意框图;
图4示出了根据本文公开的实施方案的将一个或多个装置ID与网关ID绑定的过程;
图5示出了根据本文公开的实施方案的用于将装置与网关的自动配对的过程;并且
图6示出了根据实施方案的可在其上执行本文所述的过程中的一者或多者的处理系统。
具体实施方式
在实施方案中,公开了用于管理网关和装置的系统、方法和介质,包括虚拟网关、物理网关、控制脚本、装置和/或装置信息(例如,装置驱动程序和/或装置、装置类型和/或装置组的定义和/或配置)的执行、创建、配置、测试、实施、操作、更新、备份和恢复。在阅读本说明后,本领域技术人员将明白如何在各种替代实施方案和替代应用中实现本发明。然而,尽管本文将描述本发明的各种实施方案,但应理解,这些实施方案仅通过示例和说明的方式呈现,而不具限制性。由此,各种实施方案的这种详细描述不应被解释为限制如所附权利要求中阐述的本发明的范围或广度。
因此,本文的实施方案提供将一个或多个外部装置与网关自动地配对以将外部装置安全地链接到网关。可建立链路以促进使用例如但不限于蓝牙TM、Z-waveTM、ZigBeeTM、Wi-FiTM等的通信。本文公开的各种实施方案利用将一个或多个装置标识符(ID)与一个或多个网关ID相关联的过程,并且基于从一个或多个装置获得的装置ID与和一个或多个网关相关联的网关ID之间的比较来执行自动化且安全的配对过程。
本文的实施方案有利地提供了将一个或多个外部装置与一个或多个网关安全地配对而无需激活装置和/或网关或向装置和/或网关施加电力的过程。也就是说,外部装置和网关可在激活之前被配置为在装置或网关被激活之前将彼此辨识为有效且认证的装置。网关和外部装置的关联或配对的完成可直到装置被激活才发生,但移除了对打开该功能并选择可发现的装置进行关联或配对的用户干预的需要。
例如,网关和连接的外部装置可在分发点处绑定(或配套)。在一些实现方式中,装置和网关可在运送之前被绑定到同一箱子中,而在其他实现方式中,装置和网关可在单独的箱子中并被运送到相同位置。由于装置和网关被绑定在一起,因此获得每个装置和网关的ID并将信息发送到云服务器(也称为基于云的存储系统)。这些装置在云服务器中虚拟地配对,即使它们尚未物理地配对。装置和网关可留在它们的箱子里并且不需要通电。
稍后,当绑定包被递送到家庭、诊所、仓库、商业地点或任何递送地点时,可将网关拆箱并通电。在那时,网关将自动地访问云服务器并且检索在绑定期间存储在云服务器中的配对信息。当首次激活各个装置时,这些装置将共享其ID。由于网关基于从云服务器检索的配对信息准确地知道它应该与哪些装置配对,因此网关将发起与已知装置的安全配对操作。不需要用户交互。具有匹配ID的装置将自动地配对和通信。然而,如果附近有陌生装置,则网关将不与陌生装置交互。陌生装置不会干扰网关。
典型地,需要用户干预以激活和接受提示(并且有时输入密码或PIN号),以便发起并完成装置的关联和/或配对以使用通信标准(例如,蓝牙TM、Z-waveTM、ZigBeeTM、Wi-FiTM等)进行通信。然而,本文公开的实施方案被预先配置为辨识装置和网关的唯一ID以促进自动化且安全的关联和/或配对过程。此处的实施方案可用于允许分销商将一个或多个外部装置与来自现有产品库存的一个或多个网关绑定并运送给客户,而无需在运送之前激活装置或网关或者向装置或网关施加电力。虽然在蓝牙TM关联和/或配对过程的背景下描述本文的各种实施方案,但应理解,用于使关联和/或配对自动化的类似或相同的过程适用于其他类型的通信标准,诸如但不限于Z-waveTM、ZigBeeTM、Wi-FiTM等。
结合医疗保健相关装置(例如,远程患者监控器(RPM)、智能体重秤等)提供本文实施方案的示例实现方式。此类装置可分布在医疗保健提供者设施和/或家中,并且利用通信网关作为到例如基于云的数据库(例如,云服务器或其他存储系统)的链路,以用于存储健康监控数据。装置可经由蓝牙TM(或其他通信标准)通信地耦合到网关,并且网关可有线或无线耦合到网络(例如,互联网)以与基于云的数据库通信。为此,网关可提供到基于云的数据库的链路或集线器,同时提供来自未被认证或验证以访问基于云的数据库的其他装置的安全性。通过利用根据本文提供的实施方案的关联或配对功能,此类装置的分销商可经由绑定(有时也被描述为配套)过程仅为那些被视为有效的装置预先配置访问以将有效装置的装置ID与一个或多个网关的网关ID进行关联,该一个或多个网关将操作来将装置连接到基于云的数据库。然后可将装置和网关绑定并分发给最终用户。在最终用户位置将装置和网关激活或开机后,可执行自动化关联或配对过程,该过程利用关联的ID来确保只有有效的装置连接到网关并且因此被提供对基于云的数据库的访问。
虽然结合医疗保健装置和健康监控装置来描述以上示例,但应理解,本文公开的实施方案可同样适用于IoT生态系统中的任何其他装置,包括但不限于工业和建筑物自动化、智能设施、智能电网、智能城市、酒店接待、食品服务等。例如,在工业自动化的背景下,根据本文提供的实施方案,物理设施内的各种装置(例如,诸如温度传感器、打开/关闭传感器、锁定/解锁传感器的传感器以及诸如门、窗、锁、灯、大门、阀的可操作装置等)可与网关绑定并经由自动化配对功能通信地耦合到网关。
在说明性实施方案中,获得一个或多个外部装置(本文有时称为装置)的唯一装置ID(本文有时称为装置ID)和网关的唯一网关ID(本文有时称为网关ID)。例如,它们可由装置和网关的OEM提供、从数据库获得、从装置和/或网关读取和/或从装置和/或网关的包装读取。在一些实施方案中,可通过激活网关并从网关检索ID来检索网关ID。装置ID和网关ID彼此关联并经由网络传输到数据库。装置和网关可绑定并以单个包装或多个包装运送给最终用户。一个或多个最终用户然后可将网关激活(开机),该网关使用其网关ID从数据库中检索与网关ID相关联的任何装置ID。网关ID可存储在网关的存储器中。当外部装置开机时,它传输包括其装置ID的发现信号,该装置ID被存储在外部装置的存储器中。网关获得装置ID并将其与包括在检索列表中的那些进行比较。如果存在匹配,则该装置被视为有效并且根据装置和网关使用的通信标准的协议来执行关联或配对过程。一旦安全链接,就可经由网关在装置与基于云的数据库之间建立通信。如果未找到匹配,则不准许装置与网关或基于云的数据库通信。类似地,如果存在匹配,则可经由本文公开的自动化关联或配对功能建立通信链路,以允许基于从装置接收到的信息进行外部通信(例如,经由例如互联网)。例如,装置可以是将传感器读数传达到网关、在另一个系统上执行控制脚本和/或将读数传达给用户的传感器。
1.系统概述
1.1.基础设施
图1示出了根据本文公开的实施方案的用于自动化的装置与网关关联或配对的示例系统。该系统可包括平台110,该平台包括一组一个或多个服务器112,该一个或多个服务器托管和/或执行本文描述的各种功能、过程、方法和/或软件模块中的一者或多者。应理解,平台110可包括云环境(例如,包括一个或多个服务器和基于云的数据库的基于云的存储系统),该云环境可专用于或可不专用于本文公开的过程(例如,图4和图5)。在云环境中,诸如虚拟、逻辑和/或物理计算资源、存储资源、安全资源、通信资源、管理资源等的资源可在服务和应用程序之间共享和/或专用。
另外,平台110可经由一个或多个网络120通信地连接(例如,经由一个或多个部件,诸如平台110的通信资源)到一个或多个通信网关130(本文称为“网关”)和/或一个或多个用户系统150,并且还可通信地连接到一个或多个数据库114(例如,经由一个或多个网络,诸如网络120或专用网络,或经由直接连接)和/或可包括一个或多个数据库114。网络120可包括互联网,并且服务器112可使用标准传输协议(诸如超文本传送协议(HTTP)、安全HTTP(HTTPS)、文件传送协议(FTP)、FTP安全(FTPS)、SSH FTP(SFTP)等)以及专用协议通过互联网与网关130和用户系统150(本文也称为ID获得系统)通信。还应理解,平台110的部件(例如,云资源,诸如服务器112)可以但不要求是并置的。此外,虽然平台110被示为通过单组网络120连接到各种系统,但应理解,平台110可经由不同组的一个或多个网络连接到各种系统。还应理解,网关130和/或用户系统150可包括能够进行有线和/或无线通信的任何一种或多种类型的计算装置,包括但不限于台式计算机、膝上型计算机、平板计算机、智能电话或其他移动电话、服务器、游戏控制台、电视、机顶盒、电子信息亭、自动柜员机、销售点(POS)终端、智能可穿戴装置、医疗或医疗保健装置(例如,心率监测装置、血压监测装置、智能体重秤等)、IoT生态系统内的任何装置等。网关130可被实现为充当网络之间的大门的任何硬件装置以形成供数据从一个离散网络流向另一个离散网络的链路,例如,通过在网关130与第一装置(例如,外部装置130)之间建立第一通信链路并且在网关130与第二装置(例如,网络120的装置)之间建立第二通信链路。网关130可被实现为路由器、防火墙、服务器、集线器或使得流量能够流入和流出网络的任何装置。可被实现为网关130和/或用户系统150的示例有线或无线系统被示为图6的有线或无线系统600。另外,每个网关130可与一个或多个装置和/或其他网关130通信地连接。虽然仅示出了几个网关130、外部装置140和用户系统130、一个平台110、一组服务器112和一组数据库114,但应理解,基础设施可包括任何数量的网关、装置、用户系统、平台、服务器组和数据库。
平台110可包括托管一个或多个网站或网络服务的网络服务器。在其中提供网站的实施方案中,网站可包括一个或多个用户界面,包括例如以超文本标记语言(HTML)或其他语言(例如,基于图形和/或基于文本的语言)生成的网页。平台110响应于来自用户系统150的请求而传输或服务于这些用户界面。应理解,用户系统150可包括能够进行有线和/或无线通信的任何一种或多种类型的计算装置,包括但不限于台式计算机、膝上型计算机、平板计算机、智能电话或其他移动电话、服务器、游戏控制台、电视、机顶盒、电子信息亭、自动柜员机、销售点(POS)终端、智能可穿戴装置、医疗或医疗保健装置、IoT生态系统内的任何装置等。
在一些实施方案中,可以向导形式服务于这些用户界面,在这种情况下,可按顺序方式服务于两个或更多个用户界面,并且按顺序的用户界面中的一者或多者可取决于用户或用户系统150与一个或多个先前用户界面的交互。到平台110的请求和来自平台110的响应(包括用户界面)两者都可使用标准通信协议(例如,HTTP、HTTPS等)通过网络120(其可包括互联网)进行传达。这些用户界面或网页可包含内容与元素的组合,诸如文本、图像、视频、动画、参考(例如,超链接)、框架、输入(例如,文本框、文本区域、复选框、单选按钮、下拉菜单、按钮、表单等)、脚本(例如,JavaScript)等,包括包含存储在平台110可本地和/或远程地访问的一个或多个数据库(例如,数据库114)或装置中的数据的元素或从该数据得出的元素。平台110还可响应来自用户系统150的其他请求。
平台110还可包括一个或多个数据库114、与该一个或多个数据库通信地耦合或以其他方式访问该一个或多个数据库。例如,平台110可包括管理一个或多个数据库114的一个或多个数据库服务器。在平台110上执行的用户系统150或应用程序可提交要存储在数据库114中的数据(例如,用户数据、表单数据等),和/或请求访问存储在此类数据库114中的数据(例如,如果授权用户请求的话)。可利用任何合适的数据库,包括但不限于任何关系或非关系数据库、数据存储、数据blob等,包括基于云的数据块实例和专用数据库。数据可经由FTP、其他公共协议、专用协议等发送到平台110,例如,使用HTTP支持的众所周知的POST请求。可经由FTP、其他公共协议、专用协议等从平台110请求或检索数据,例如,使用HTTP支持的众所周知的GET请求。此数据以及其他请求可例如通过平台110执行的云侧和/或服务器侧网络技术(诸如小服务程序或其他软件模块)来处理。另外,平台110可提供高速缓存以加快响应时间(例如,对于普通请求)。
3.2.3.用户系统
在其中提供网络服务的实施方案中,平台110可从用户系统150接收请求,并且以可扩展标记语言(XML)和/或任何其他合适或期望的格式提供响应。在这样的实施方案中,平台110可提供应用程序编程接口(API),该应用程序编程接口定义了用户系统150可与网络服务交互的方式。因此,本身可以是云环境和/或服务器的用户系统150可定义其自己的用户界面,并且依赖于网络服务来实现或以其他方式提供本文描述的后端过程、方法、功能、存储等。例如,在这样的实施方案中,在一个或多个用户系统150上执行的客户端应用程序可与在平台110上执行的服务器应用程序交互以执行本文描述的各种功能、过程、方法和/或软件模块中的一者或多者或者一者或多者的一部分。客户端应用程序可以是“瘦”的,在这种情况下,处理主要由平台110在云侧和/或服务器侧执行。瘦客户端应用程序的基本示例是浏览器应用程序,该浏览器应用程序简单地在用户系统150处请求、接收和渲染网页,而平台110负责生成网页和管理数据库功能。替代地,客户端应用程序可以是“胖”的,在这种情况下,处理主要由用户系统150在客户端侧执行。应理解,客户端应用程序可相对于平台110在沿着“瘦”和“胖”之间的该频谱上的任何点处执行一定量的处理,具体取决于特定实现方式的设计目标。在任何情况下,可完全驻留在平台110或用户系统150上或分布在平台110和用户系统150之间的应用程序可包括一个或多个可执行软件模块,该一个或多个可执行模块实现本文描述的应用程序的过程、方法或功能中的一者或多者。
在各种实施方案中,用户系统150可以是由绑定服务实现的系统或有线和/或无线计算装置。例如,用户可提供与一个或多个外部装置140绑定的一个或多个网关130。可获得网关130中的一者和装置140的唯一标识符(ID),将它们彼此关联,并作为一对传输到数据库114。对于具有唯一网关ID的每个网关130,可获得多个外部装置140的多个唯一装置ID并与其相关联。可获得装置140的每个唯一装置ID,将其与网关130的唯一网关ID相关联,并与其他装置ID分开传输。在另一个示例中,装置140的多个唯一装置ID可作为要与网关130的唯一网关ID相关联的ID的批次或集合来获得、关联和传输。
唯一ID可与网关130和/或外部装置140相关联,例如,在按序列号和/或产品号组织的数据库152中。因此,可从查找数据库获得每个装置和/或网关的唯一ID。数据库152可类似于如上所述的数据库114。获得唯一ID可包括从数据库152检索唯一ID并将相关联的对(或组)传输到平台110。在另一个示例中,唯一ID可由外部装置140和/或网关130的OEM提供。在又一个示例中,可从外部装置130和/或网关140本身检索唯一ID,例如,通过激活装置并从外部装置130和/或网关140发出的信号读取ID。
在另一个示例中,单独地或组合地,唯一ID可粘附到网关130和/或装置140和/或用于运送网关130和/或装置140的包装,例如,通过包含唯一ID的标记或标签。标签或标记可以是条形码、QR码或附加到或以其他方式印刷到网关130和/或装置140上的其他唯一可识别码的形式。在一些实施方案中,唯一ID可存储在粘附到相应网关和/或装置的RFID标签中。因此,可使用一个或多个扫描器装置154以扫描标记或标签并获得唯一ID来检索唯一ID,例如但不限于使用条形码扫描器、图像捕获装置(例如,相机)、RFID读取器等。扫描器装置154可由用户操作和握持(例如,手持装置)和/或可以是沿着传送带系统设置以在仓库或分发中心四处移动装置140和/或网关130的自动化扫描器。一旦获得,用户系统150然后就可将该对(或组)唯一ID相关联并将其传输到平台110。
唯一装置ID和/或网关ID可以是唯一地标识网关和/或装置的任何字符串。示例ID包括但不限于序列号、网络机器地址代码(MAC)等。在一些实施方案中,唯一ID可以是对应于相应通信标准和/或协议的蓝牙TM装置地址(本文称为BD_ADDR)和/或装置ID。在各种实施方案中,所需要的是每个ID在系统内是唯一的,并且对过程可见。
1.1.2.网关和装置
图2示出了图1的系统100的基础设施的示意框图。其中为了说明的目的,移除了平台110。如上所述,基础设施包括通信地耦合(例如,经由有线和/或无线连接)到网关130的平台110。图2示出了网关130的示例实现方式,其可被实现为网关130。网关130可被实现为任何数量的网关130。
网关130可以是用于电信网络的电信中的一件或多件网络硬件,其允许数据从一个离散网络流向另一个离散网络。例如,网关130可通过在网关130与第一装置(例如,外部装置140)之间建立第一通信链路并在网关130与第二装置(例如,第三方系统180)之间建立第二通信链路来在离散装置之间形成间接链路。因此,来自第一装置的数据可通过第一通信链路传输到网关130,网关130在脚本执行环境190中执行控制脚本,并且通过第二通信链路向第二装置发送基于该数据的信号。该信号可包括转发数据和/或指示第二装置基于执行的控制脚本来执行一些功能的控制信号。如本文使用的网关130可不同于路由器或交换机,因为网关可被配置为使用多于一种协议进行通信以连接多个网络。
例如,网关130被配置成经由网络120将一个或多个外部装置140A至140N连接到第三方系统180。第三方系统180可包括云环境,该云环境可专用于由外部装置140执行的过程并被提供用于存储来自外部装置140的数据。可提供网关130以促进外部装置140与第三方系统180之间的链路。应理解,第三方系统180可包括能够进行有线和/或无线通信的任何一种或多种类型的计算装置,包括但不限于基于云的数据库、服务器、台式计算机等。可作为网关130和/或用户系统150实现的有线或无线系统的示例被示为图6的有线或无线系统600。在各种实施方案中,经由网关130在外部装置140与第三方系统180之间建立链路。也就是说,外部装置140经由通信接口170与网关130通信,网关130在控制器132的控制下在脚本执行环境190处理数据和/或执行控制脚本,并且基于来自外部装置140的数据向第三方系统180传达信号。
虽然第三方系统180在上面的示例中被描述为云环境,但应理解,第三方系统180可以是通信地耦合到网络120的任何系统。例如,第三方系统180可以是自动化建筑、智能设施、智能电网、智能城市等,并且装置140可以是与监控、控制和/或和这些系统通信相关的IoT装置。
虽然如上所述,网关130可包括能够与平台110通信的任何类型的有线和/或无线装置,但在各种实施方案中,每个网关130可以是专用装置。此外,在实施方案中,每个网关130管理一个或多个通信地连接的(例如,无线或有线)外部装置140。
网关130可指代被配置为现场IoT装置、云和其他用户装置(诸如台式计算机、膝上型计算机、平板计算机、智能电话或其他移动电话)之间的网桥的IoT网关。IoT网关提供了现场与云端之间的通信链路,并且可提供离线服务和现场装置的实时控制。例如,被实现为IoT网关的网关130可提供外部装置140与第三方系统180之间的通信链路。为了在IoT生态系统中实现可持续的互操作性,可使用各种数据交换协议架构,例如,基于总线(例如,DDS、REST、XMPP)和/或基于代理(例如,AMQP、CoAP、MQTT、JMI)。支持可互操作域之间的信息交换的协议可分为以消息为中心(例如,AMQP、MQTT、JMS、REST)或以数据为中心(例如,DDS、CoAP、XMPP)。互连装置可使用不需要大量CPU资源的轻量级协议进行通信。C、Java、Python和类似的脚本语言可用于IoT应用程序。
根据一些实施方案,网关130可以是提供网络之间的互操作性的网络网关并且可包括协议转换器、阻抗匹配器、速率转换器、故障隔离器和/或信号转换器。网络网关可需要使用网关在网络之间建立相互可接受的管理过程。
可被实现为网关130的网关类型的另一个示例是云存储网关,它是将云存储API(诸如SOAP或REST)转换为基于块的存储协议(诸如iSCSI)、光纤通道或基于文件的接口(诸如NFS或CIFS)的网络设备或服务器。
在一些实施方案中,每个网关130可选自由加利福尼亚州圣地亚哥的Systech公司提供的模块化网关系列。由Systech公司提供的和SysCORE系列产品包括为多种配置选项提供最大灵活性的多种型号。例如,/>500/800/1000/15000型号系列包含典型地用于简单的桥接应用以及简单的自动柜员机(ATM)、销售点(POS)和自动售货应用程序的低成本、单一用途的网关。/>2000、3000和4000型号系列是支持跨多个本地或远程网络连接多个装置并且典型地用于多用途建筑、家庭和远程站点应用程序的功能齐全的通用网关、网桥和路由器。/>和SysCORE系列装置可支持包括多个本地网络连接和用于互联网连接的多个宽带网络的组合。然而,应理解,来自其他制造商的其他网关也可用作一个或多个网关130。
网关130包括通信接口170、有线或无线耦合到存储器134的控制器132以及装置管理器160。控制器132可被实现为例如图6的有线和/或无线计算装置600或其一部分,并且存储器134可以是数据库(例如,诸如数据库114)和/或图6的存储器615和620中的一者或多者。存储器134可被配置为存储网关130的唯一网关ID。另外地,装置ID也可存储在存储器134中,例如,响应于从平台110检索与网关ID相关联的装置ID。
网关130可被配置为经由通信接口170与外部装置通信。通信接口170包括多个通信模块,该多个通信模块包括有助于通过相应通信协议进行通信的有线和/或无线通信部件。无线通信部件可包括天线系统(例如,图6的天线670)、无线电系统(例如,图6的无线电系统665)和基带系统(例如,图6的基带系统660)。因此,根据每个模块实现的协议,在相应无线电系统的管理下,每个相应模块的天线系统在空中传输和接收射频(RF)信号。
网关130能够经由通信接口170通过一个或多个局域传送协议与包括在每个外部装置140中的一个或多个硬件装置控制器142通信。通信接口170包括局域通信模块172(也称为短程通信模块或局域通信接口),以用于根据局域传送协议(也称为短程通信协议)与每个外部装置140的局域通信模块144通信。在说明性示例中,局域通信模块172包括蓝牙TM模块,以用于与作为局域通信模块144的一部分包括的每个外部装置140的蓝牙TM模块进行通信。通信接口170可包括其他模块作为局域通信模块的一部分或作为附加的局域通信模块,诸如但不限于Z-waveTM、ZigBeeTM、Wi-FiTM等以促进与外部装置140A至140N的通信。
网关130还能够经由通信接口170的其他模块174中的一者通过诸如互联网的宽范围传送协议与平台110通信。例如,其他模块174可包括广域通信模块(也称为网络模块或网络接口),以用于通过对应的通信协议与平台110通信。虽然网关130将主要被描述为通过互联网与平台110通信,但应理解,网关130可被配置为使用任何常规的通信协议与平台110通信。这种通过多种协议进行通信的能力允许网关130是传输不可知的和协议不可知的,并且解决广泛范围的复杂性的控制系统。
其他通信模块174还可包括用于连接到路由器和调制解调器的以太网端口。在一些实施方案中,通信接口170本身可包括蜂窝调制解调器和/或通信地耦合到这种调制解调器,从而提供与网络120的蜂窝数据连接(例如,如美国临时申请号63/019,493中所述,该临时申请的公开内容以全文引用方式并入本文)。
局域通信模块172和144包括局域通信天线和局域通信芯片组,并且能够实现所有对应的标准和协议以提供通过相应局域通信模块的通信。例如,在局域通信模块172和144包括蓝牙TM模块的说明性示例中,蓝牙TM模块172和144中的每一者包括蓝牙TM天线和蓝牙TM芯片组(如下面在图3中说明性地示出),并且能够实现所有蓝牙TM标准和协议,包括蓝牙TM低功耗(BLE)和基本速率(BR)/增强型数据速率(EDR)协议。蓝牙TM技术规范由蓝牙TM特别兴趣小组(SIG)制定和发布。修订日期为2018年12月31日的蓝牙TM核心规范版本5.2描述了BLE标准的各种特征并且以全文引用方式并入本文。
可用于网关的任何特定配置的特定选项可由硬件能力的物理存在来控制,和/或通过独立于硬件能力的物理存在的电子配置来本地或远程控制。可用作网关130中的一者或多者的系列网关包括其他通信模块174中包括的以下一项或多项:
·一个或多个硬件升级插槽,其支持蜂窝模块和/或其他硬件选项,包括未来的硬件选项;
·支持2G、3G、4G和5G蜂窝技术(例如,码分多址(CDMA)、演进数据优化(EVDO)、长期演进(LTE)、全球移动通信系统(GSM)、单载波无线电传输技术(1xRTT)、高速分组接入(SPA+))以及未来的蜂窝技术的架构;
·一个或多个多以太网端口,包括具有多个独立互联网协议(IP)地址的多以太网端口;
·一个或多个普通老式电话服务(POTS)端口(例如,v.90、v.92);
·一个或多个串行端口(例如,具有RS232、RS422和/或RS485物理接口),其可被配置为标准串行端口(例如,用于POS和/或安全应用程序)和/或DEX和MDB端口(例如,用于自动售货应用程序);
·一个或多个通用串行总线(USB)端口;
·一个或多个microSD插槽;
·支持一种或多种本地无线技术,包括Wi-FiTM(例如,802.11a/b/g/n)、ZigBeeTM、Z-WaveTM、蓝牙TM、近场通信(NFC)、ANT等;
·一个或多个传感器(例如,温度传感器、运动传感器等);
·用于外部通用输入/输出(GPIO)的一个或多个连接器,例如,使用GPIO和/或USB接口;
·一个或多个内部或外部电池;和/或
·支持本地应用程序。
在实施方案中,网关130包括装置管理器160,该装置管理器提供各种插件软件驱动程序166,每个插件软件驱动程序可动态地注册到装置管理器160并符合指定的驱动程序接口。装置管理器160使多个不同的驱动程序166能够通过API插入到驱动程序层164中。驱动程序166对应于每个外部装置140。也就是说,为了使给定装置与网关130适当地通信,可能需要将对应的驱动程序安装到网关130上。驱动程序166也可对应于网络和/或用户系统150的部件。驱动程序166可基于外部装置140的制造来源、外部装置140的型号和/或序列号、和/或由外部装置140执行的软件版本。驱动程序166也可对应于网络和/或用户系统150的部件。
每个驱动程序166可对应于硬件装置控制器142,并且被设计为使用与控制器142共用的传送层或协议进行通信。每个驱动程序166可提供在通信接口170与网关130操作系统之间的软件接口,以用于将以第一协议(例如,与控制器142共用)在通信接口170处接收到的通信转换为可由网关130的操作系统处理的协议。多个驱动程序166的可用性使得能够创建异构系统,该异构系统能够跨多个传送层和协议与多种不同装置类型进行通信。能够经由特定传送层进行通信的一组可用的插件驱动程序166可根据需要与对应的硬件控制器142组合以解决各种控制系统要求,而无需使用单一的底层数据架构。
驱动程序166可通过驱动程序层164与其余基础设施部件的惯例和数据要求隔离,该驱动程序层包括数据驱动的适配器语言,当值沿任一方向传递时动态地调用该语言(例如,改变属性名称、格式、缩放、类型和其他方面),使得驱动程序层164的任一侧都不知道驱动程序层164的另一侧发生了什么。这意味着每个驱动程序166都可独立存在,并且不需要随着系统的其他方面改变而改变,从而有助于快速创建用于各种传送协议的驱动程序,而不会影响现有的安装或架构。同样地,更广泛的基础设施部件(例如,数据架构、脚本执行环境150等)不需要改变以适应对驱动程序的改变。响应于驱动程序层164的一侧或两侧的改变,可能需要做出的唯一改变是更新模式定义(例如,在平台110上的数据文件中表示)。这使得驱动程序层164的两侧能够独立演进。
在实施方案中,驱动程序层164确保各个驱动程序166不需要知道如何存储和操纵数据的细节。具体地,驱动程序层164使装置属性值、名称、缩放、格式和类型在从外部装置140(和/或网络120)接收的那些与每个驱动程序166内部使用的那些之间转换。这允许驱动程序166以数据格式不可知的方式插入到装置管理器160中。
在实施方案中,装置管理器160提供在装置控制器142与网关130的部件之间的双向通信。装置管理器160可直接地从脚本执行环境190或间接地作为网关130订阅的数据中发生的数据(例如,装置属性)更新的结果(例如,经由包括控制器132和通信接口170但不包括脚本执行环境190的通信路径)而接收装置相关命令。关于装置管理器160的附加细节可在美国专利号10,116,461中找到,该专利的公开内容以其全文并入本文。
1.2.蓝牙TM架构和协议
图3是根据本文的实施方案的被实现为蓝牙TM的图2的局域通信模块的示例的框图。虽然参考蓝牙TM标准和协议提供以下描述,但本文的实施方案不限于此。蓝牙TM实现方式仅作为说明性示例提供,本文公开的实施方案可使用其他局域通信协议和标准。图3示出了可被实现为局域通信模块172和144的蓝牙TM模块300或芯片组(例如,作为一个或多个离散芯片、ASIC、SoC、FPGA等)的示例。根据所公开实施方案的一些非限制性示例,每个模块可包括蓝牙TM天线305。
蓝牙TM模块300包括应用程序层310、蓝牙TM协议栈320和处理器330,该处理器包括例如中央处理单元(CPU)332(诸如双核CPU或具有任何数量的处理器核心的任何其他多核CPU)、随机存取存储器(RAM)334、只读存储器(ROM)336和接口电路338以与蓝牙TM无线电介接。RAM 334和ROM 336可使用任何已知类型的半导体存储器来实现。
存在两种形式的蓝牙TM无线技术系统:基本速率(BR)/增强型数据速率(EDR)和低功耗(LE)。两个系统都包括装置发现、连接建立和连接机制。蓝牙TM模块可被实现为单模或双模芯片组。
单模芯片组是针对超低功耗操作进行优化并且可使用BLE架构(例如,BLE协议栈)进行通信以便传输和接收的仅BLE芯片组。单模芯片可使用纽扣电池(例如3V、220mAhCR2032)长时间操作(数月甚至数年)。相比之下,双模芯片组能够使用BR/EDR蓝牙TM架构(例如,BR/EDR协议栈)以及BLE技术与传统蓝牙TM技术和其他双模芯片组进行通信。因此,蓝牙TM模块300可以是蓝牙TM低功耗(BLE)协议栈、蓝牙TMBR/EDR协议栈或两种协议栈的组合的形式(如下面结合图3所描述)。
BLE协议栈针对允许连接之间的较长休眠时间、小数据传送、极低占空以及比传统蓝牙TM装置更简单的拓扑的偶尔连接进行优化。BLE技术的有助于实现超低功耗(ULP)性能的一些特性包括最大待机时间、快速连接和低峰值传输/接收功率。传统的蓝牙TM采用具有固定连接间隔的“面向连接的”无线电。相比之下,BLE技术采用可根据应用而设置为几毫秒到几秒的可变连接间隔。另外,由于它的特征是非常快速的连接,因此BLE技术通常可处于无连接状态,其中链路的两端相互感知,但仅在绝对必要时才链接,然后链接尽可能短的时间。BLE技术的这种无连接操作模式理想地适合数据传输,其中完全异步通信可用于通信以不频繁地发送少量数据。
协议栈320和/或应用程序层310可体现为以程序指令序列的形式存储在RAM 336和/或ROM 337中的程序逻辑,所述程序指令当在CPU 332中执行时执行所公开的实施方案的功能中的至少一些功能。程序逻辑可以诸如常驻存储器装置、智能卡或其他可移动存储器装置的计算机可用介质的形式从计算机程序产品递送到RAM 336或ROM 337。替代地,它们可体现为编程逻辑阵列或定制设计的专用集成电路(ASI C)形式的集成电路逻辑。在一些实现方式中,程序逻辑可从这样的计算机可读介质下载以存储在例如RAM 262或可编程ROM 336中以供CPU 332执行。
应用程序层310可提供在蓝牙TM模块300与包括蓝牙TM模块300的装置(例如,外部装置140和/或网关130)上的其他应用程序之间的接口。例如,应用程序层310可根据API提供来自蓝牙TM模块300的数据信号,这定义了蓝牙TM模块300可与其他操作系统交互的方式。对应的API和/或驱动程序可安装在底层装置上,以用于接收和转换数据信号来控制在其上执行的应用程序和系统并与其交互。
每个蓝牙TM协议可对应于作为耦合到天线305的单独收发器电路的相应无线电354和346。在一些实施方案中,无线电可以是能够以高速、时间和频率复用方式处理一个或多个通道的单个无线电模块。
1.2.1.蓝牙TM协议栈
在下面的描述中,将提供关于蓝牙TM协议栈320的一些层的细节。蓝牙TM规范版本5.2中描述了其他层和关于每一层的细节。
协议栈320包括主机322和一个或多个控制器。蓝牙TM BR/EDR系统的最小实现方式包括由蓝牙TM规范定义的四个最低层和相关联协议以及一个公共服务层协议,即,服务发现协议(SDP)324,其中总体配置文件要求在通用访问配置文件(GAP)326指定。仅BLE核心系统的最小实现方式还包括由蓝牙TM规范定义的四个最低层和相关联协议以及两个公共服务层协议,即,安全管理器协议(SMP)328和属性协议(ATT)348并且其中总体配置文件要求在通用访问配置文件(GATT)348和GAP 326中指定。结合蓝牙TM BR/EDR和LE的实现方式包括上述两种最小实现方式。
如上所述,蓝牙TM模块300可包括蓝牙TM低功耗(BLE)协议栈和蓝牙TM BR/EDR协议栈中的一者或多者。也就是说,协议栈320可包括比根据所实现的协议栈的说明性块更少的块。
图3示出了核心块,每个块具有其相关联的通信协议。链路管理器350、链路控制器352和BR/EDR无线电354块组成BR/EDR控制器356。链路管理器340、链路控制器342和LE无线电344块组成LE控制器346。逻辑链路控制和适配协议(L2CAP)358、SDP 324和GAP 326块组成BR/EDR主机。L2CAP 358、SMP 328、ATT 348、GAP 326和GATT 348块组成LE主机。主机322说明了结合来自每个相应主机的块集的BR/EDR/LE主机。这是涉及控制器与主机之间的标准物理通信接口的常见实现方式。
主机和控制器之间的通信被标准化为主机控制器接口(HC I)。非核心配置文件(即,蓝牙TM规范未定义的应用程序层310功能)可在主机之上实现。
预期L2CAP 358层在将L2CAP协议数据单元(PDU)提交给相应的控制器以传送到连接的装置时执行一些简单的资源管理。这包括将L2CAP服务数据单元(SDU)分段为更易于管理的PDU,并且然后将PDU分段为大小适合相应控制器缓冲区的开始和连续数据包,以及管理相应控制器缓冲区的使用以确保通道的可用性与服务质量(QoS)保证。
L2CAP 358向比如SMP 328、ATT 348和SDP 324的上层协议提供数据服务。它负责控制器的协议复用和数据分段,以及另一端的解复用和重组操作。L2CAP 358是GAP 326的后端接口,其定义与BLE装置的发现和连接到其他BLE装置的链路管理方面相关的通用过程。
SMP 328负责BLE协议的装置配对和密钥分发。SMP 328定义装置的安全管理器如何与其在连接的装置上的对应方进行通信。SMP 328提供可由堆栈的其他部件使用的附加加密功能。BLE使用标准AES-128位加密引擎并且使用配对机制进行密钥分发。SMP 328提供了不仅对数据加密还提供数据认证的机制。
SMP 328是用于生成加密密钥和身份密钥的对等协议。该协议在专用的固定L2CAP通道上操作。SMP 328块还管理加密密钥和身份密钥的存储,并且负责生成随机地址并将随机地址解析为已知的装置身份。SMP块328直接与控制器介接,以提供用于在加密或配对过程期间进行加密和认证的存储的密钥。
SMP块328仅用于BLE系统中。BR/EDR系统中的类似功能被包含在BR/EDR控制器356的链路管理器块352中。SMP 328功能在BLE系统上的主机322中,以降低仅BLE控制器的实现成本。
ATT块348实现在属性服务器与属性客户端之间的对等协议。ATT客户端通过专用的固定L2CAP通道与远程装置上的ATT服务器通信。ATT客户端向ATT服务器发送命令、请求和确认。ATT服务器向客户端发送响应、通知和指示。这些ATT客户端命令和请求提供了在具有ATT服务器的对等装置上读取和写入属性值的手段。
GATT 348描述了使用ATT 348来发现服务以及在对等装置上读取和写入特性值的服务框架。它通过应用程序的配置文件与应用程序交互。应用程序配置文件本身定义了属性的集合以及在通信中使用这些属性所需的任何权限。
GATT 348块代表属性服务器和任选地属性客户端的功能。配置文件描述了在属性服务器中使用的服务、特性和属性的层次结构。该块提供用于发现、读取、写入和指示服务特性和属性的接口。GATT 348在BLE装置上用于BLE配置文件服务发现。
在结合BR/EDR和BLE系统的实现方式中,架构块可在系统之间共享,或者每个系统可有其自己的块实例。
链路管理器350和340负责创建、修改和释放逻辑链路(并且如果需要,它们相关联的逻辑传送),以及更新与装置之间的物理链路相关的参数。链路管理器350和340通过使用BR/EDR中的链路管理器协议(LMP)和LE中的链路层协议(LL)与远程蓝牙TM装置中的链路管理器通信来实现这一点。
LM或LL协议允许在需要时在装置之间创建新的逻辑链路和逻辑传送,以及对链路和传送属性进行一般控制,诸如在逻辑传送上启用加密、在物理链路上适配传输功率,或调整逻辑链路的BR/EDR中的QoS设置。
链路控制器352和342负责对来自与物理通道、逻辑传送和逻辑链路相关的数据有效载荷和参数的蓝牙TM数据包进行编码和解码。链路控制器352和342执行BR/EDR中的链路控制协议信令和LE中的链路层协议(与资源管理器的调度功能紧密结合),这用于传达流量控制和确认以及重传请求信号。这些信号的解释是与基带数据包相关联的逻辑传送的特性。链路控制信令的解释和控制通常与资源管理器的调度器相关联。
物理块(例如,相应的无线电354和344)负责在物理通道上传输和接收信息包。PHY块将进出物理通道的数据流转换为下游处理所需的格式。
GAP 326块表示所有蓝牙TM装置共用的基本功能,诸如传送、协议和应用程序配置文件使用的模式和访问过程。GAP 326服务包括装置发现、连接模式、安全、认证、关联模型和服务发现。
GAP 326配置文件定义与蓝牙TM装置的发现相关的通用过程(空闲模式过程)和连接到蓝牙TM装置的链接管理方面(连接模式过程)。它还定义与使用不同安全级别相关的过程。另外,该配置文件包括对可在用户界面级别访问的参数的通用格式要求。
1.2.2.发现
为了在支持蓝牙TM的装置与网关之间建立连接,支持蓝牙TM的装置必须设置为可发现模式。装置的可发现性可例如由最终用户通过操作开关或支持蓝牙TM的装置上的其他输入来切换。此类操作可激活装置中的蓝牙TM模块并发起发现过程。在另一个示例中,支持蓝牙TM的装置可能不需要用户干预来将支持蓝牙TM的装置置于可发现模式,相反,此类装置可在打开时处于发现模式并传输脉冲广播信号。GAP 326与管理BR/EDR和BLE协议中的支持蓝牙TM的装置的可发现性有关。
BR/EDR协议中的支持蓝牙TM的装置的发现过程利用查询过程来发现附近的装置,或被其本地的装置发现。查询过程是不对称的。试图找到其他附近装置的蓝牙TM装置被称为查询装置,并且置于空闲模式并主动地发送查询请求。可被找到的蓝牙TM装置被称为可发现装置并且收听这些查询请求并发送响应。查询过程将特殊的物理通道用于查询请求和响应。
查询过程的目的是向发起者(例如,查询装置)提供BD_ADDR、时钟、装置类别、页面扫描模式以及处于可发现模式的装置的扩展查询响应信息。在装置发现过程期间,首先执行查询并返回已发现的蓝牙TM装置列表,该列表包括每个装置的查询响应中包含的BD_ADDR。响应于接收到的查询,每个响应装置传输对应的BD_ADDR和查询响应。然后对响应查询的一些或所有装置执行名称发现以发现每个装置的装置名称。
BLE使用推模型而不是传统的蓝牙TM无线技术中使用的基于查询的拉模型。在BLE中,广告广播(或信标)也用作装置向周围装置指示它可与其他装置或特定装置连接的方法。收听广告广播的装置也可处于独占连接模式,其中它们仅在从希望连接到另一个装置的装置接收到可连接广告广播时才响应。广告广播可包括BD_ADDR、广告数据和扫描响应数据。
在BLE协议中,希望被其他装置发现的装置使用广播广告(或信标)以用于收听此类广播的装置,而传统的蓝牙TM协议在发送装置信息之前将希望被其他装置发现的装置置于收听来自查询装置的广播的模式。
1.2.3.配对
一旦发现装置,最终用户就发起配对过程。然而,一些装置不需要配对,但原本处于混杂模式并且可在没有配对的情况下与另一个装置相关联。这样的装置广播它们的信息并且在接收装置上需要用户干预以进行通信,但不需要执行配对(例如,如下所述建立链接密钥或长期密钥)来关联以进行通信。广播装置被配置为与接受其消息的任何装置通信。然而,在任一情况下,都需要用户干预以便装置交换信息。
通过BR/EDR物理链路和/或BLE物理链路的常规配对要求最终用户通过对装置的输入界面的物理用户输入来发起绑定过程。用户输入可包括输入密钥或被要求输入密钥,其明确目的是在两个蓝牙TM装置之间创建绑定(也可能是安全关系),因为装置事先没有共享公共链接密钥。在第一情况下,最终用户需要在装置上执行一些物理输入以进行绑定并由此建立连接。在一些实施方案中,配对装置可使用应用程序层310处的软件而不是经由人类交互来交换PI N码;然而,仍需要人类干预以通过接受配对邀请或选择要配对的装置来发起配对。
最终用户使用在装置上运行的应用程序来发起配对。来自最终用户的输入被提供给应用程序层310,然后被供应到协议栈320以发起配对过程。在LM 332协议中定义了通过BR/EDR物理链路的配对。通过LE物理链路的配对由SMP 328定义。
在配对期间,两个装置通过创建在BR/EDR协议中称为链接密钥并且在BLE协议中称为长期密钥的共享秘密来建立关系。在这两种协议中,基于在发现过程中提供的最少信息来导出相应的密钥,例如,基于BD_ADDR来导出相应的密钥,如下所述。如果两个装置存储相同的密钥,则它们被称为已配对或绑定。只想与绑定的装置通信的装置可加密认证另一装置的身份,从而确保它是先前配对的相同装置。
在BR/EDR协议中,至少从BD_ADDR导出链接密钥,并且在若干实施方案中,从随机数、L八位字节PIN码和BD_ADDR导出链接密钥。PIN可以是支持蓝牙TM的装置拥有或由用户选择并且然后在要匹配的两个装置中输入的固定号码。在发现过程期间供应BD_ADDR。配对装置可使用应用程序层310处的软件而不是经由人类交互来交换PIN码。当生成初始化密钥时,可用BD_ADDR来扩充PIN。
必须生成并在装置之间分发链接密钥,以便在认证过程中使用。由于链接密钥是秘密的,因此无法以可获得蓝牙TM装置地址的相同方式通过查询例程来获得这些链接密钥。在分别针对使用认证和加密的每两个装置执行的初始化阶段期间发生密钥交换。初始化过程包括每个装置中生成初始化密钥、生成链接密钥、链接密钥交换、认证以及(任选地)生成加密密钥。
在初始化过程之后,装置可继续通信,或可断开链接。如果实施了加密,则算法可与从当前链接密钥导出的加密密钥一起使用。下次激活加密时,应创建从该特定链接密钥导出的新加密密钥。如果没有链接密钥可用,则LM 350应自动地开始初始化过程。
对于BLE协议,执行配对以建立密钥,所述密钥然后可用于对链接进行加密。执行传送特定密钥分发以共享可用于在未来的重新连接中加密链接、验证签名数据和随机地址解析的密钥。SMP 328使用密钥分发方法在无线电通信中执行识别和加密功能。这意味着每个装置生成并控制它分发的密钥,而没有其他装置影响这些密钥的生成。密钥的强度与分发装置内部实现的算法一样强。与BR/EDR协议不同,BLE协议部分地基于根据其BD_ADDR认证配对装置来生成长期密钥。例如,通过发起装置发送公开密钥(发起装置的公开-私人密钥对中的公开密钥,其中私人密钥是秘密密钥)来发起的BLE中的配对。响应装置用其自己的公开密钥进行回复。两个装置基于提供装置的BD_ADDR来验证接收到的公开密钥。附加的细节可在以全文引用方式并入本文的修订日期为2018年12月31日的蓝牙TM核心规范版本5.2中找到。
一旦生成了相应的密钥并执行配对过程,就可对装置之间的经认证链接进行加密,以保护交换的数据免受窃听。用户可从任一装置删除密钥,这会移除装置之间的绑定,因此一个装置可以具有不再与之配对的装置的存储的链接密钥。链接密钥可存储在装置文件系统中,而不是在蓝牙TM模块本身上。
2.过程概述
根据蓝牙TM协议需要人类干预来发起装置的可发现性和/或配对可能是繁琐的并且阻碍了支持蓝牙TM的装置在现场的进展和集成。具体地,可能难以对其中一个或多个装置缺少常规用户界面的装置(诸如智能电话或个人计算机)进行关联或配对。这些装置可能需要通过物理按钮、网站门户界面来激活,或可自动地置于可发现模式。然而,在两个这样的装置试图关联或配对的情况下,可能无法对缺少常规用户界面的两个装置进行关联或配对。因此,在各种实施方案中,网关130提供了用于发现有效装置并且对其进行关联或配对的廉价且完全自动化的手段,该手段简化并消除了进行用户干预以发现装置并将其与网关130进行关联或配对的需要。
其他通信协议(例如,Z-waveTM、ZigBeeTM、Wi-FiTM等)存在类似地抑制进行人类干预以促进对装置进行配对和/或关联的要求。尽管协议可能不同,但存在相同的缺陷并且本文的实施方案同样适用于任何通信协议。
在各种实施方案中,网关130被配置为检索与其网关ID相关联的指示已经被认证和批准用于与网关130通信的装置的装置ID列表。基于获得相应的ID,装置ID可与远程数据库(例如,数据库114)中的网关ID相关联。应理解,获得用于存储在数据库114中的相应ID不需要激活任一装置。相反,可从数据库(例如,数据库152)扫描或获得ID。当网关130检测到外部装置(例如,经由广告其存在的广播信号)时,该网关130可接收检测到的信号中包括的检测到的装置的装置ID并将接收到的ID与存储在其存储器中的ID进行比较。如果存在匹配,则该装置被指定为有效并且自动地发起关联或配对过程。通过如本文提供的验证装置,可在不需要人类干预的情况下执行配对,因为装置已经被认证和验证,从而消除进一步验证装置被准许与网关130通信的需要。
现在将详细描述用于一个或多个装置与网关的自动关联和自动配对的过程的实施方案。应理解,所描述的过程可体现在由一个或多个硬件处理器执行的一个或多个软件模块中,所述软件模块可完全由平台110的处理器执行、完全由网关130和/或用户系统150的处理器执行,或可跨平台110和网关130和/或用户系统150分布,使得应用程序的一些部分或模块由平台110执行并且应用程序的其他部分或模块由网关130和/或用户系统150执行。所描述的过程可被实现为以源代码、目标代码和/或机器代码表示的指令。这些指令可直接由硬件处理器执行,或替代地可由在目标代码和硬件处理器之间操作的虚拟机执行。另外,所公开的应用程序可建立在一个或多个现有系统上或与之交互。
2.1.绑定
图4示出了根据实施方案的用于将网关130与一个或多个外部装置140绑定的过程400。可针对多个网关130执行过程400,以便将一个或多个外部装置140配套到相应的网关130。过程400可由包括数据库152和/或扫描器装置154的用户系统150执行。用户系统150可与装置制造商的仓库、网关制造商、分发中心或可使用将多个装置与网关绑定的其他位置相关联、位于一处或通信地耦合。过程400可以是将物理装置与物理网关绑定以用于运送和递送的总体过程的一部分。
在步骤410中,获得给定网关130的唯一网关ID。例如,可例如从ID的数据库152检索与网关130相关联的唯一网关ID。在一些实施方案中,数据库152可按序列号和/或产品号组织。因此,可通过使用序列号或其他唯一编号检索ID来从查找数据库获得每个网关的唯一网关ID。在另一个示例中,可使用另一个记录定位器从数据库152检索序列号或其他唯一编号。在另一个示例中,单独地或组合地,唯一网关ID可例如通过包含唯一网关ID的标记或标签粘附到网关130和/或在运送期间容纳(被布置为容纳)网关130的包装,并且通过读取或以其他方式扫描标记或标签来获得。标签或标记可以是条形码、QR码或附加到或以其他方式印刷到网关130上的其他唯一可识别码的形式。在一些实施方案中,唯一网关ID可存储在粘附到网关130的RFID标签中。作为另一个示例,唯一ID可由网关130的OEM提供。作为另一个示例,可通过激活网关130并从网关130生成的信号中读取唯一ID来获得唯一ID。
在一些实施方案中,唯一网关ID可以是网关130的BD_ADDR、MAC地址等,如上所述。在另一个实施方案中,唯一ID可以是从其他装置唯一地标识网关130的任何唯一字符串。唯一网关ID可用于检索和/或导出BD_ADDR或发现另一个装置并与其配对所必要的其他参数。
在步骤420中,以类似于上面在步骤410中描述的方式获得对应于外部装置140的唯一装置ID。在任选的步骤425中,可确定是否有附加的外部装置140要与网关130配套(例如,绑定)。如果存在附加的装置,则该过程对每个附加的外部装置140执行步骤420。否则,如果没有附加的外部装置140要与网关130配套,则过程继续到步骤430。如果未执行步骤425,则可针对每个装置/网关对执行过程400,从而将每个装置ID与网关ID相关联。然而,通过执行步骤425,一个或多个装置ID可与单个网关ID相关联,从而形成与其相关联的一组唯一装置ID。
在步骤430中,将在步骤410和420处获得的ID相互关联。例如,可将ID输入到由第一列中的网关ID和每个对应行中的与每个网关ID相关联的装置ID组织的数据结构中。作为另一个示例,可在每一行中提供网关ID,并且在每一列中定位与其相关联的装置ID。虽然本文提供了将所获得的ID相关联的示例,但应理解,可实现用于收集和关联数据的任何方法。然后在步骤460处将关联的ID作为一对(或在适用的情况下,一组)传输到数据库114以用于存储。
在任选的步骤450中,可确定是否有附加的网关130要绑定。如果存在附加的网关,则该过程对每个附加的网关130执行步骤410。否则,如果没有附加的网关130,则过程继续到步骤460。
在一些实施方案中,步骤410和420可同时或按顺序执行。在一些实施方案中,可先执行步骤410,然后是步骤420,并且过程400继续,如图4所示。在另一个实施方案中,步骤420可在步骤410之前执行。在另一个示例中,任选的步骤450可在任选的步骤425之前执行。因此,过程400可在步骤450处确定附加的网关130将与给定的外部装置相关联并且重复步骤410。因此,本文的实施方案允许一个网关130与一个外部装置140绑定、一个网关130与多个外部装置140绑定、多个网关130与多个外部装置140绑定,和/或多个网关130与一个外部装置140绑定。
一旦针对给定网关130完成了过程400,物理装置和网关就可被绑定(例如,包装在一起或分开包装)并分发到相应的目的地。因此,过程400可在装置制造商、网关制造商或分发中心执行,其中装置将与网关绑定和/或包装在一起。
2.2.将装置与网关关联/配对
图5示出了根据实施方案的自动关联和/或自动配对过程500(进一步统称为配对)。过程500可完全由平台110和/或完全由网关130执行,或者可跨平台110、网关130和/或装置140分布,使得应用程序的一些部分或模块由平台110执行,并且应用程序的其他部分或模块由网关130和/或装置140执行。
在步骤510中,激活网关130。例如,客户打开或以其他方式向网关130供电以激活网关130并将其通电。在各种实施方案中,激活网关130不需要包括激活其中的局域通信模块(例如,蓝牙TM模块)。响应于激活并在经由网络120成功连接到平台110之后,在步骤520中,网关130从数据库114检索与网关装置相关联的一个或多个唯一装置ID。例如,网关130可经由网络120下载唯一装置ID的列表。唯一装置ID可经由过程400与网关130相关联。因此,网关130可向服务器112传输其网关ID和对与所传输的网关ID相关联的装置ID的请求。请求可作为本领域已知的GET请求来执行。服务器112可基于使用网关ID定位数据库114中的装置ID来从数据库114检索装置ID并且将相关联的装置ID传输到网关130。网关130然后将装置ID存储在存储器134中。接收到的装置ID列表可代表被准许经由网关130访问第三方系统180的有效装置。
在一些实施方案中,过程400可在激活网关130之前执行并且在激活时可用于下载。在一些实施方案中,与给定的网关ID相关联的装置ID可通过执行过程400在数据库114中周期性地更新(例如,在运送给最终用户之后添加要与网关130绑定的装置)。因此,每当网关130上线或以其他方式激活时,网关130可执行步骤520。另外地,网关130可按预定的时间间隔周期性地执行步骤520(例如,一天一次、一个月一次等,如在网关130的配置文件中设置)。因此,网关130被配置为通过动态地更新装置ID关联来维护最新的有效装置列表。
在一些实施方案中,平台110可被配置为在步骤520处例如通过使用POST请求来将装置ID列表推送到网关130。在示例中,可执行过程400以更新数据库114中与给定网关ID相关联的装置ID,并且传输POST请求以响应于更新自动地或按周期性时间间隔将更新的列表推送到网关130。因此,可动态地更新与网关130相关联的装置ID。
上述提供更新的装置ID列表的能力可有利于精简替换装置和附加装置。例如,当第一装置出现故障或以其他方式无法使用时,可提供替换装置。在运送替换装置之前,可执行过程400以更新数据库114中与网关ID相关联的装置ID列表。然后可将该替换装置ID传达(例如,由网关130检索或由平台110推送)到网关130并存储在其中。
在另一个实施方案中,网关130可预加载一个或多个唯一装置ID的列表。例如,在网关130的绑定过程、制造和/或配置期间,一个或多个唯一装置ID可被加载到网关130中并存储在其中。
在步骤530中,一个或多个外部装置140传输无线信号,并且在步骤540中,网关130接收信号并从装置获得装置ID。例如,外部装置140可广播包括其装置ID的无线信号。网关外部装置140接收该无线信号,检测外部装置130,并对该信号进行解码以从中获得装置ID。在一些实施方案中,外部装置140在打开时被设置为可发现模式,因此该装置可在激活时广播无线信号。例如,网关130可被配置为在激活时进入扫描模式,并且在扫描模式期间,它将随时间接收外部装置的列表和使它们可见以供发现的对应的唯一ID。
在一些实现方式中,可基于白名单生成步骤540处的外部装置列表,该白名单可任选地被包括在通信模块中。例如,BLE标准提供了在LE控制器346中的任选的白名单,该白名单列举了被允许与网关通信的装置。当BLE标准中的白名单生效时,来自不在白名单上的装置的传输将被忽略。因此,在步骤540处,网关装置可扫描附近装置以生成外部装置列表,并且如果白名单生效,则只有包含在白名单中的那些装置将被包括在外部装置列表和对应的唯一ID中。
在一些实施方案中,可根据如上所述的BR/EDR蓝牙TM标准或BLE标准来传输无线信号。例如,外部装置140的蓝牙TM模块300可被配置为在激活时自动地广播可发现的无线信号,而不需要任何用户输入来激活蓝牙TM信号。也就是说,外部装置140可以是可自动发现的而不需要人类干预(并且可没有用户输入来切换可发现性),从而一旦打开就自动地发射广告信号(在实施BLE标准的情况下)。在实施BR/EDR标准的情况下,从装置140广播的信号可类似于包括BD_ADDR的查询响应信号,因此不需要来自网关130的对BD_ADDR的初始查询请求。在另一个实施方案中,外部装置140的可发现性可经由外部装置140上的按钮或其他开关输入来切换。然而,即使在这种情况下,也可自动地执行一次切换配对,因为可响应于切换而广播具有装置ID的信号,并且过程500相应地继续。
在步骤550中,网关130确定获得的装置ID是否有效。如果装置ID有效,则在步骤560中,过程500根据所实施的通信协议(例如,蓝牙TM标准)来继续自动地执行配对过程,(例如,根据由外部装置140和网关130两者的协议栈320实施的蓝牙TM协议生成链接密钥或长期密钥)。如果装置ID无效,则会话在步骤570中终止,不准许外部装置140与网关130配对,并且不准许该外部装置访问网络120。例如,在步骤570处,网关130可被配置为停止与外部装置140的连接或以其他方式断开连接。步骤550包括将从外部装置140获得的装置ID与在步骤520中获得的那些进行比较。如果装置ID匹配,则该装置被指定为有效装置。如果不存在匹配,则该装置无效。
在一些实施方案中,过程500可包括任选的步骤555,其中确定外部装置140的驱动程序当前是否安装在网关130中。如果不存在驱动程序,则该过程可进行到步骤570。如果存在驱动程序,则该过程可继续到步骤555。在一些实现方式中,如果不存在驱动程序,则网关130可被配置为查询网络120以获得驱动程序,下载必要的驱动程序,并且然后进行到步骤560。例如,如果在步骤550处,装置有效(例如,由于更新的有效装置列表),则网关130可能尚未更新驱动程序,并且步骤555处的确定可指示需要更新。
在一些实施方案中,装置140可能不需要与另一个装置配对。相反,装置140可处于混杂模式并且广播数据和装置ID两者以供任何装置接收。在这种情况下,过程500以基本上类似于上述的方式进行,除了如果存在装置ID的匹配(例如,装置有效),则网关130将自动地将数据传递到第三方系统。不需要装置140和网关130之间的进一步通信。
虽然可参考蓝牙TM标准来描述本文的实施方案,但描述的范围不限于蓝牙TM。本文的实施方案同样适用于将网关130和外部装置140自动地配对和/或关联以通过任何通信协议进行通信,例如但不限于Z-waveTM、ZigBeeTM、Wi-FiTM等。当以任何此类协议实现时,绑定过程400可用于关联唯一ID并将配对信息(例如,关联的ID)存储在数据库中。一旦在过程500期间激活,唯一ID就被提供给网关130并且如果给定的外部装置140的唯一ID在网关130上有效,则可自动地执行每个通信协议唯一的配对过程。
3.示例处理装置
图6是示出可结合本文描述的各种实施方案使用的示例有线或无线系统600的框图。例如,系统600可用作上述机制、过程、方法或功能中的一者或多者或与之结合使用(例如,用于存储和/或执行一个或多个软件模块),并且可表示平台110、服务器112、网关130、装置140、用户系统150、第三方系统180和/或本文描述的其他装置的部件。系统600可以是服务器或任何常规的个人计算机,或能够进行有线或无线数据通信的任何其他启用处理器的装置。也可使用其他计算机系统和/或架构,如本领域技术人员将清楚。另外,应理解,虽然系统600被示出为具有某些元件,但它可包括比所示的那些更少或更多的元件,具体取决于它表示的特定部件。例如,没有无线通信能力的系统600可不包括基带660、无线电665和天线670。
系统600优选地包括一个或多个处理器,诸如处理器610。可提供附加处理器,诸如用于管理输入/输出的辅助处理器、用于执行浮点数学运算的辅助处理器、具有适合于快速执行信号处理算法的架构的专用微处理器(例如,数字信号处理器)、从属于主处理系统的从处理器(例如,后端处理器)、用于双或多处理器系统的附加微处理器或控制器,或协处理器。这样的辅助处理器可以是分立处理器,或可与处理器610集成。可与系统600一起使用的处理器的示例包括但不限于处理器、Core/>处理器、/>处理器和可从加利福尼亚州圣克拉拉市的英特尔公司购得的其他型号,以及来自其他制造商(诸如加利福尼亚州森尼维耳市的超威半导体公司)的硬件处理器。
处理器610优选地连接到通信总线605。通信总线605可包括用于促进存储设备与系统600的其他外围部件之间的信息传送的数据通道。另外,通信总线605可提供用于与处理器610通信的一组信号,所述通信总线包括数据总线、地址总线和控制总线(未示出)。通信总线605可包括任何标准或非标准总线架构,诸如,例如符合工业标准架构(ISA)、扩展工业标准体系架构(EISA)、微通道架构(MCA)、外围部件互连(PCI)局部总线或由电气和电子工程师协会(IEEE)颁布的标准的总线架构,包括IEEE 488通用接口总线(GPIB)、IEEE 696/S-100等。
系统600优选地包括主存储器615并且还可包括辅助存储器620。主存储器615为在处理器610上执行的程序提供指令和数据的存储,诸如上面讨论并至少在图4和图5中示出的功能和/或模块中的一者或多者。应理解,存储在存储器中并由处理器610执行的程序可根据任何合适的语言来编写和/或编译,所述语言包括但不限于C/C++、Java、JavaScript、Perl、Visual Basic、.NET、专有可视化脚本语言、专有脚本语言等。主存储器615通常是基于半导体的存储器,诸如动态随机存取存储器(DRAM)和/或静态随机存取存储器(SRAM)。其他基于半导体的存储器类型包括例如同步动态随机存取存储器(SDRAM)、Rambus动态随机存取存储器(RDRAM)、铁电随机存取存储器(FRAM)等,包括只读存储器(ROM)。
辅助存储器620可任选地包括内部存储器625和/或可移动介质630,例如软盘驱动器、磁带驱动器、光盘(CD)驱动器、数字通用盘(DVD)驱动器、其他光学驱动器、闪存存储器驱动器、microSD等。可移动介质630以众所周知的方式被读取和/或写入。可移动存储介质630可以是例如软盘、磁带、CD、DVD、SD卡、拇指驱动器等。
可移动存储介质630是其上存储有计算机可执行代码(即,软件)和/或数据的非暂时性计算机可读介质。存储在可移动存储介质630上的计算机软件或数据被读取到系统600中以由处理器610执行。
在替代实施方案中,辅助存储器620可包括用于使得能够将计算机程序或其他数据或指令加载到系统600中的其他类似装置。这样的装置可包括例如外部存储介质695和接口640。外部存储介质695的示例可包括外部硬盘驱动器、外部光学驱动器或外部磁光驱动器。
辅助存储器620的其他示例可包括基于半导体的存储器,诸如可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除只读存储器(EEPROM)或闪存存储器(类似于EEPROM的面向块的存储器)。还包括任何其他可移动存储介质630和通信接口640,它们允许软件和数据从外部介质660传送到系统600。
系统600可包括通信接口640。通信接口640允许软件和数据在系统600与外部装置(例如,打印机)、网络或信息源之间传送。例如,计算机软件或可执行代码可经由通信接口640从网络或云服务器传送到系统600。通信接口640的示例包括内置网络适配器、网络接口卡(NIC)、个人计算机存储卡国际协会(PCMCIA)网络卡、卡总线网络适配器、无线网络适配器、通用串行总线(USB)网络适配器、调制解调器、网络接口卡(NIC)、无线数据卡、通信端口、红外接口、IEEE 1394火线或能够使系统600与网络或另一个计算装置介接的任何其他装置。
通信接口640优选地实现行业颁布的协议标准,诸如以太网IEEE 802标准、光纤通道、数字订户线(DSL)、异步数字订户线(ADSL)、帧中继、异步传送模式、综合数字服务网络(ISDN)、个人通信服务(PCS)、传输控制协议/互联网协议(TCP/IP)、串行线路互联网协议/点对点协议(SLIP/PPP)等,但也可实现定制的或非标准的接口协议。
经由通信接口640传送的软件和数据通常采用电通信信号655的形式。这些信号655优选地经由通信通道650提供给通信接口640。在一个实施方案中,通信通道650可以是有线或无线网络,或任何种类的其他通信链路。通信通道650携载信号655,并且可使用各种有线或无线通信方式来实现,包括电线或电缆、光纤、常规电话线、蜂窝电话链路、无线数据通信链路、射频(“RF”)链路或红外链路,仅举几例。
计算机可执行代码(即,计算机程序或软件,诸如公开的应用程序)存储在主存储器615和/或辅助存储器620中。计算机程序还可经由通信接口640接收并且存储在主存储器615和/或辅助存储器620中。这样的计算机程序在被执行时使得系统600能够执行如先前描述的本发明的各种功能。
在本说明书中,术语“计算机可读介质”、“存储介质”和“介质”用于指代用于向系统600提供计算机可执行代码(例如,软件和计算机程序)的任何非暂时性计算机可读存储介质。这些介质的示例包括主存储器615、辅助存储器620(包括内部存储器625、可移动介质630和外部存储介质695)以及与通信接口640通信地耦合的任何外围装置(包括网络信息服务器或其他网络装置)。这些非暂时性计算机可读介质是用于向系统600提供可执行代码、编程指令和软件的装置。
在使用软件实现的实施方案中,软件可存储在计算机可读介质上,并且通过可移动介质630、I/O接口635或通信接口640加载到系统600中。在这样的实施方案中,软件以电通信信号655的形式加载到系统600中。当由处理器610执行时,软件优选地使处理器610执行本文先前描述的发明特征和功能。
在实施方案中,I/O接口635提供在系统600的一个或多个部件与一个或多个输入和/或输出装置之间的接口。示例输入装置包括但不限于键盘、触摸屏或其他触敏装置、生物感测装置、计算机鼠标、轨迹球、基于笔的指示装置等。输出装置的示例包括但不限于阴极射线管(CRT)、等离子显示器、发光二极管(LED)显示器、液晶显示器(LCD)、打印机、真空荧光显示器(VFD)、表面传导电子发射显示器(SED)、场发射显示器(FED)等。
系统600还可包括有助于通过语音和通过数据网络进行无线通信的任选无线通信部件。无线通信部件包括天线系统670、无线电系统665和基带系统660。在系统600中,在无线电系统665的管理下,由天线系统670在空中传输和接收射频(RF)信号。
在一个实施方案中,天线系统670可包括一个或多个天线以及一个或多个多路器(未示出),所述多路器执行切换功能以向天线系统670提供传输和接收信号路径。在接收路径中,可将接收到的RF信号从多路器耦合到低噪声放大器(未示出),该低噪声放大器放大接收到的RF信号并且将放大后的信号发送到无线电系统665。
在替代实施方案中,无线电系统665可包括被配置为在各种频率和协议上进行通信的一个或多个无线电。在一个实施方案中,无线电系统665可在一个集成电路(IC)中组合解调器(未示出)和调制器(未示出)。解调器和调制器也可以是独立的部件。在传入路径中,解调器剥离RF载波信号而留下基带接收音频信号,该基带接收音频信号被从无线电系统665发送到基带系统660。
如果接收到的信号包含音频信息,则基带系统660对该信号进行解码并且将其转换为模拟信号。然后,信号被放大并且发送到扬声器。基带系统660还从传声器接收模拟音频信号。这些模拟音频信号被转换为数字信号,并且由基带系统660编码。基带系统660还对数字信号进行编码以供传输,并且生成被路由到无线电系统665的调制器部分的基带传输音频信号。调制器将基带传输音频信号与RF载波信号混合,从而生成RF传输信号,该RF传输信号被路由到天线系统并且可通过功率放大器(未示出)。功率放大器放大RF传输信号并且将其路由到天线系统670,在该天线系统中,信号被切换到天线端口以供传输。
基带系统660还与处理器610通信地耦合。中央处理单元610可访问数据存储区615和620。中央处理单元610优选地被配置为执行可存储在存储器615或辅助存储器620中的指令(即,计算机程序或软件)。计算机程序也可从基带系统660接收并且存储在数据存储区615或辅助存储器620中,或者在接收时执行。这样的计算机程序在被执行时使得系统600能够执行如先前描述的本发明的各种功能。例如,数据存储区615可包括各种软件模块(未示出)。
各种实施方案也可例如使用诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)的部件主要在硬件中实现。能够执行本文描述的功能的硬件状态机的实现方式对于相关领域的技术人员来说也将是显而易见的。各种实施方案也可使用硬件和软件的组合来实现。
此外,本领域技术人员将理解,结合上述附图和本文公开的实施方案描述的各种说明性逻辑块、模块、单元和算法步骤通常可被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,各种说明性部件、块、模块、电路和步骤已经按照其功能性在上面进行了总体描述。此类功能被实现为硬件还是软件取决于在整个系统上施加的特定应用和设计约束。对于每个特定应用,技术人员可用不同的方式实现所描述的功能,但此类实现决策不应被解释为导致偏离本发明的范围。另外,模块、块、电路或步骤内的功能分组是为了易于描述。在不脱离本发明的情况下,可将特定功能或步骤从一个模块、块或电路移动到另一个模块、块或电路。
此外,结合本文公开的实施方案描述的各种说明性逻辑块、模块、功能和方法可用被设计为执行本文描述的功能的通用处理器、数字信号处理器(DSP)、ASIC、FPGA或其他可编程逻辑装置、离散门或晶体管逻辑、分立的硬件部件或它们的任何组合来实现或执行。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何处理器、控制器、微控制器或状态机。处理器还可被实现为计算装置的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器连同DSP核心或任何其他此类配置。
另外地,结合本文公开的实施方案描述的方法或算法的步骤可直接体现在硬件、由处理器执行的软件模块或两者的组合中。软件模块可驻留在RAM存储器、闪存存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或任何其他形式的存储介质中,包括网络存储介质。示例性存储介质可耦合到处理器,使得处理器可从存储介质读取信息和将信息写入到存储介质。在替代方案中,存储介质可与处理器成一体。处理器和存储介质还可驻留在ASIC中。
本文描述的任何软件部件可采用多种形式。例如,部件可以是独立的软件包,也可以是作为“工具”并入更大软件产品中的软件包。它可作为独立产品或作为安装在现有软件应用程序中的插件包从网络(例如,网站)下载。它还可作为客户端-服务器软件应用程序、支持网络的软件应用程序和/或移动应用程序提供。
提供所公开的实施方案的以上描述以使得本领域的任何技术人员能够采取或者使用本发明。对这些实施方案的各种修改对于本领域技术人员来说将显而易见,并且在不脱离本发明的精神或范围的情况下,本文描述的一般原理可应用于其他实施方案。因此,应理解,本文所呈现的说明书和附图代表本发明的当前优选实施方案,并且因此代表由本发明所广泛地考虑的主题。还应理解,本发明的范围完全涵盖对于本领域技术人员来说可变得明显的其他实施方案,并且本发明的范围相应地不限于此。

Claims (35)

1.一种用于一个或多个外部装置与网关装置的自动化配对的方法,所述方法包括:
由所述网关装置检索与所述网关装置的网关标识符相关联的所述一个或多个外部装置的装置标识符;
由所述网关装置通过第一外部装置与所述网关装置之间的局域通信接口从所述第一外部装置接收至少第一发现信号,所述第一发现信号包括所述第一外部装置的第一装置标识符,并且所述局域通信接口根据局域传送协议实现;
在所述网关装置处基于通过所述网络接口检索到的所述装置标识符来确定所述第一装置标识符是有效装置标识符;以及
基于所述确定,根据所述局域传送协议执行与所述第一外部装置的配对过程。
2.如权利要求1所述的方法,其中通过所述网关装置与存储所述装置标识符的数据库之间的网络接口来检索所述装置标识符。
3.如权利要求1和2中任一项所述的方法,其中所述检索所述装置标识符包括响应于激活所述网关装置,通过所述网络接口将所述网关标识符传输到数据库,并且基于所述网关标识符的所述传输而从所述数据库接收所述装置标识符。
4.如前述权利要求中任一项所述的方法,其中在激活所述网关装置之前,将所述装置标识符与所述网关装置相关联并存储在数据库中。
5.如前述权利要求中任一项所述的方法,其中根据将所述网关装置与所述一个或多个外部装置绑定,将所述装置标识符与所述网关装置相关联并存储在数据库中。
6.如前述权利要求中任一项所述的方法,其中将所述装置标识符存储在基于云的存储系统中。
7.如前述权利要求中任一项所述的方法,其中所述局域通信接口包括蓝牙TM接口,并且所述局域传送协议包括蓝牙TM协议。
8.如前述权利要求中任一项所述的方法,其中响应于所述第一外部装置被激活,所述第一外部装置进入可发现模式并且将所述第一发现信号传输到所述网关装置。
9.如前述权利要求中任一项所述的方法,所述方法还包括:
确定所述网关装置上是否安装了对应于所述第一外部装置的驱动程序;
在未安装所述驱动程序的情况下,终止所述网关装置与所述第一外部装置之间的会话或通过所述网络接口下载驱动程序;以及
在安装了所述驱动程序的情况下,根据所述局域传送协议来执行所述配对过程。
10.如前述权利要求中任一项所述的方法,所述方法还包括:
由所述网关装置通过所述局域通信接口从第二外部装置接收第二发现信号,来自所述第二外部装置的所述第二发现信号包括所述第二外部装置的第二装置标识符;
在所述网关装置处基于通过所述网络接口检索到的所述一个或多个外部装置标识符来确定所述第二装置标识符不是有效装置标识符;以及
响应于所述确定,终止所述网关装置与所述第二外部装置之间的会话。
11.如前述权利要求中任一项所述的方法,其中所述装置标识符被预加载并存储在所述网关装置的存储器中,其中所述检索所述装置标识符包括从所述存储器检索所述装置标识符。
12.一种用于与一个或多个外部装置自动配对的网关设备,所述网关设备包括:
至少一个网络接口,所述至少一个网络接口被配置为与网络通信;
至少一个局域通信接口,所述至少一个局域通信接口被配置为根据局域传送协议与所述一个或多个外部装置通信;
至少一个存储器,所述至少一个存储器被配置为存储指令;以及
一个或多个处理器,所述一个或多个处理器耦合到所述至少一个网络接口、所述至少一个局部通信接口和所述至少一个存储器,所述一个或多个处理器被配置为:
由网关装置检索与所述网关装置的网关标识符相关联的所述一个或多个外部装置的装置标识符;
由所述网关装置通过第一外部装置与所述网关装置之间的局域通信接口从所述第一外部装置接收至少第一发现信号,所述第一发现信号包括所述第一外部装置的第一装置标识符,并且所述局域通信接口根据局域传送协议实现;
在所述网关装置处基于通过所述网络接口检索到的所述装置标识符来确定所述第一装置标识符是有效装置标识符;以及
基于所述确定,根据所述局域传送协议执行与所述第一外部装置的配对过程。
13.如权利要求12所述的网关设备,其中通过所述网关装置与存储所述装置标识符的数据库之间的网络接口来检索所述装置标识符。
14.如权利要求12或13所述的网关设备,其中所述一个或多个处理器还被配置为响应于激活所述网关装置,通过所述网络接口将所述网关标识符传输到数据库,并且基于所述网关标识符的所述传输而从所述数据库接收所述装置标识符。
15.如权利要求12至14中任一项所述的网关设备,其中在激活所述网关装置之前,将所述装置标识符与所述网关装置相关联并存储在数据库中。
16.如权利要求12至15中任一项所述的网关设备,其中根据将所述网关装置与所述一个或多个外部装置绑定,将所述装置标识符与所述网关装置相关联并存储在数据库中。
17.如权利要求12至16中任一项所述的网关设备,其中将所述装置标识符存储在基于云的存储系统中。
18.如权利要求12至17中任一项所述的网关设备,其中所述局域通信接口包括蓝牙TM接口,并且所述局域传送协议包括蓝牙TM协议。
19.如权利要求12至18中任一项所述的网关设备,其中响应于所述第一外部装置被激活,所述第一外部装置进入可发现模式并且将所述第一发现信号传输到所述网关装置。
20.如权利要求12至19中任一项所述的网关设备,其中所述一个或多个处理器被配置为:
确定所述网关装置上是否安装了对应于所述第一外部装置的驱动程序;
在未安装所述驱动程序的情况下,终止所述网关装置与所述第一外部装置之间的会话或通过所述网络接口下载驱动程序;以及
在安装了所述驱动程序的情况下,根据所述局域传送协议来执行所述配对过程。
21.如权利要求12至20中任一项所述的网关设备,其中所述一个或多个处理器被配置为:
通过所述局域通信接口从第二外部装置接收第二发现信号,来自所述第二外部装置的所述第二发现信号包括所述第二外部装置的第二装置标识符;
基于通过所述网络接口检索到的所述一个或多个外部装置标识符来确定所述第二装置标识符不是有效装置标识符;以及
响应于所述确定,终止所述网关装置与所述第二外部装置之间的会话。
22.如权利要求12至21中任一项所述的网关设备,其中所述一个或多个处理器被配置为基于所述第一外部装置与所述网关装置的所述配对通过所述局域通信接口将从所述第一外部装置接收的通信经由所述网络接口路由到所述网络。
23.如权利要求12至23中任一项所述的网关设备,其中所述装置标识符被预加载并存储在所述网关装置的所述至少一个存储器中,其中所述检索所述装置标识符包括从所述至少一个存储器检索所述装置标识符。
24.一种用于一个或多个最终用户装置与网关装置的自动化配对的系统,所述系统包括:
网络上的数据库,所述数据库被配置为存储与所述一个或多个最终用户装置的装置标识符相关联的所述网关装置的网关标识符;
所述网关装置,所述网关装置包括:
广域通信模块,所述广域通信模块被配置为与所述网络通信;以及
短程通信模块,所述短程通信模块被配置为根据短程通信协议与所述一个或多个最终用户装置通信;
所述网关装置被配置为:
基于所述网关标识符通过所述广域通信模块从所述数据库检索所述装置标识符;
通过所述短程通信模块从第一最终用户装置接收第一装置标识符;
基于从所述数据库检索到的所述装置标识符来确定所述第一装置标识符是有效装置标识符;以及
基于所述确定,根据所述短程通信协议来执行与所述第一最终用户装置的配对过程。
25.如权利要求24所述的系统,所述系统还包括通过所述网络通信地耦合到所述数据库的标识符获得系统,所述标识符获得系统被配置为:
获得一个或多个最终用户装置的所述装置标识符和所述网关装置的所述网关标识符;
将所述获得的装置标识符与所述获得的网关标识符相关联;以及
将所述关联的装置标识符和网关标识符存储到所述数据库。
26.如权利要求25所述的系统,其中所述标识符获得系统包括扫描器,所述扫描器被配置为分别从所述一个或多个外部装置和所述网关装置获得所述装置标识符和所述网关标识符。
27.如权利要求25或22所述的系统,其中所述标识符获得系统是在所述网关装置和所述一个或多个最终用户装置上执行的绑定过程的一部分。
28.如权利要求24至27中任一项所述的系统,其中在激活所述网关装置之前,将所述装置标识符与所述网关装置相关联并存储在所述数据库中。
29.如权利要求24至28中任一项所述的系统,其中所述网关装置还被配置为响应于激活所述网关装置,通过所述广域通信模块将所述网关标识符传输到所述数据库,并且基于所述网关标识符的所述传输而从所述数据库接收所述装置标识符。
30.如权利要求24至29中任一项所述的系统,其中所述数据库是基于云的存储系统。
31.如权利要求24至30中任一项所述的系统,其中所述短程通信模块包括蓝牙TM接口,并且所述短程通信协议包括蓝牙TM协议。
32.如权利要求24至31中任一项所述的系统,其中响应于所述第一外部装置被激活,所述第一外部装置进入可发现模式并且将所述第一发现信号传输到所述网关装置。
33.如权利要求24至32中任一项所述的系统,其中所述网关装置还被配置为:
确定所述网关装置上是否安装了对应于所述第一最终用户装置的驱动程序;
如果未安装所述驱动程序,则终止所述网关装置与所述第一最终用户装置之间的会话或通过所述广域通信模块下载所述驱动程序;以及
如果安装了所述驱动程序,则根据局域传送协议来执行所述配对过程。
34.如权利要求24至33中任一项所述的系统,其中所述网关装置还被配置为:
通过所述短程通信模块从第二最终用户装置接收第二装置标识符;
基于从所述数据库检索到的所述装置标识符来确定所述第二装置标识符不是有效装置标识符;以及
响应于所述确定,终止所述网关装置与所述第二最终用户装置之间的会话。
35.如权利要求24至34中任一项所述的系统,其中所述网关装置被配置为基于所述第一最终用户装置与所述网关装置的所述配对通过所述短程通信模块将从所述第一最终用户装置接收的通信经由所述广域通信模块路由到所述网络。
CN202180066549.9A 2020-09-01 2021-08-31 装置与通信网关的自动配对 Pending CN116458124A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063073066P 2020-09-01 2020-09-01
US63/073,066 2020-09-01
PCT/US2021/048485 WO2022051289A1 (en) 2020-09-01 2021-08-31 Automatic pairing of devices to a communication gateway

Publications (1)

Publication Number Publication Date
CN116458124A true CN116458124A (zh) 2023-07-18

Family

ID=80492174

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180066549.9A Pending CN116458124A (zh) 2020-09-01 2021-08-31 装置与通信网关的自动配对

Country Status (5)

Country Link
US (1) US20230328815A1 (zh)
EP (1) EP4208984A1 (zh)
CN (1) CN116458124A (zh)
CA (1) CA3191092A1 (zh)
WO (1) WO2022051289A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117792798A (zh) * 2024-02-27 2024-03-29 常州银杉信息技术有限公司 一种即时通讯信息交互系统及方法
CN117792798B (zh) * 2024-02-27 2024-05-14 常州银杉信息技术有限公司 一种即时通讯信息交互系统及方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023200551A1 (en) * 2022-04-13 2023-10-19 Arris Enterprises Llc Association of devices to a sensing device control system
KR102495603B1 (ko) * 2022-07-06 2023-02-06 주식회사 빅토리지 Ess 설비 데이터 자동 맵핑과 클라우드 연동을 위한 게이트웨이 엔진을 탑재한 전력 관리 시스템 및 그 구동방법
CN116709598B (zh) * 2023-06-05 2024-02-20 广州达谙信息科技有限公司 一种集云边端协同一体的智能网关系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9497196B2 (en) * 2014-04-01 2016-11-15 Belkin International Inc. IOT device environment detection, identification and caching

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117792798A (zh) * 2024-02-27 2024-03-29 常州银杉信息技术有限公司 一种即时通讯信息交互系统及方法
CN117792798B (zh) * 2024-02-27 2024-05-14 常州银杉信息技术有限公司 一种即时通讯信息交互系统及方法

Also Published As

Publication number Publication date
WO2022051289A1 (en) 2022-03-10
CA3191092A1 (en) 2022-03-10
US20230328815A1 (en) 2023-10-12
EP4208984A1 (en) 2023-07-12

Similar Documents

Publication Publication Date Title
US10965473B2 (en) Smart object identification in the digital home
EP3695581B1 (en) Interworking service for the restful internet of things
KR101986922B1 (ko) 사물 인터넷 (iot) 디바이스들에 대한 연결성 모듈
US20230328815A1 (en) Automatic pairing of devices to a communication gateway
EP3195566B1 (en) Service layer interworking using mqtt protocol
US20220141262A1 (en) Automated service enrollment in a machine-to-machine communications network
US20170372600A1 (en) Method, apparatus, and computer program product for local control through intermediate device
US20230254375A1 (en) Method and apparatus for secure wireless communication
US11671306B2 (en) Enhancing native service layer device management functionality
WO2016114846A1 (en) Method, apparatus, and computer program product for local control through intermediate device
KR20170082609A (ko) 허가 기반 리소스 및 서비스 발견
KR102258608B1 (ko) 홈 네트워크 서비스를 제공하기 위한 장치 및 그 방법
US11695635B2 (en) Rapid install of IoT devices
US11792290B2 (en) Methods to enable automated M2M/IoT product management services
WO2020142164A1 (en) Optimizing interaction between applications and devices in a communications network
Gonçalves et al. A federated authentication and authorization approach for IoT farming
Kaynar Developing a zigbee wireless network and controlling it through the internet
Dahlin et al. Protocol Analysis of Ubiquitous Sensor Networks with Health Care Monitoring and Surveillance

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