CN108028770B - 用于配置嵌入式设备的系统、方法和装置 - Google Patents
用于配置嵌入式设备的系统、方法和装置 Download PDFInfo
- Publication number
- CN108028770B CN108028770B CN201680030181.XA CN201680030181A CN108028770B CN 108028770 B CN108028770 B CN 108028770B CN 201680030181 A CN201680030181 A CN 201680030181A CN 108028770 B CN108028770 B CN 108028770B
- Authority
- CN
- China
- Prior art keywords
- network
- embedded device
- memory
- configuration data
- interface
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/10—Current supply arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0853—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
- H04L41/0856—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information by backing up or archiving configuration information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/50—Service provisioning or reconfiguring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0492—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload by using a location-limited connection, e.g. near-field communication or limited proximity of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/70—Services for machine-to-machine communication [M2M] or machine type communication [MTC]
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer And Data Communications (AREA)
- Selective Calling Equipment (AREA)
- Telephonic Communication Services (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
Abstract
描述了用于配置嵌入式设备的系统、方法和装置。一种示例性装置包括:网络接口,用于将所述装置与网络通信地耦合;天线,用于接收包括1)配置数据和2)电力的射频信号;耦合到所述天线的存储器,用于接收所述电力并存储所述配置数据;网络配置器,用于从所述存储器取回所述配置数据,并且基于取回的配置数据来配置网络接口;以及除天线以外的电源,用于在所述网络配置器的操作期间向所述存储器和所述网络配置器提供电力。
Description
技术领域
本公开一般涉及嵌入式设备;并且更具体地,涉及用于配置嵌入式设备的系统、方法和装置。
背景技术
具有嵌入在其中的传感器和/或电子器件的嵌入式设备可以被一起联网,有时被称为“物联网”。物联网包括联网的监视设备(例如,照相机、空气质量监视器、远程健康监视等),家庭自动化设备(例如,空调、能源管理、电器等),运输设备(例如,自动车辆、车辆监视器、车队管理等),等等。通常,这样的嵌入式设备包括有限的用户接口或没有用户接口。因此,这种嵌入式设备的配置通常利用与该嵌入式设备通信地耦合的另一更强大的计算设备来执行。例如,通过使用通用串行总线连接将嵌入式设备附接到计算机上,并将配置文件从计算机下载到嵌入式设备,来配置一些嵌入式设备。
附图说明
图1是根据本公开的教导构造的用于配置嵌入式设备的示例性系统的框图。
图2是图1的嵌入式设备的示例性实现的框图。
图3是图1的计算设备的示例性实现的框图。
图4是图1的网络服务器的示例性实现的框图。
图5是图1的后端服务器的示例性实现的框图。
图6-7是表示可以被执行以实现图1和/或图2的示例性嵌入式设备来配置图1和/或图2的示例性嵌入式设备的示例性机器可读指令的流程图。
图8是表示可以被执行以实现图1和/或图3的示例性计算设备来配置图1和/或图2的示例性嵌入式设备的示例性机器可读指令的流程图。
图9-10是表示可以被执行以实现图1和/或图4的示例性网络服务器的示例性机器可读指令的流程图。
图11-12是表示可以被执行以实现图1和/或5的示例性后端服务器来配置图1和/或图2的示例性嵌入式设备的示例性机器可读指令的流程图。
图13是示出图1和/或图2的示例性嵌入式设备、图1和/或图3的示例性计算设备、图1和/或图4的示例性网络服务器以及图1和/或图5的示例性后端服务器之间的通信的消息流程图。
图14是能够执行图6和/或图7的指令以实现图1和/或图2的嵌入式设备的示例性处理器平台的框图。
图15是能够执行图8的指令以实现图1和/或图3的计算设备的示例性处理器平台的框图。
图16是能够执行图9和/或图10的指令以实现图1和/或图4的网络服务器的示例性处理器平台的框图。
图17是能够执行图11和/或图12的指令以实现图1和/或图5的后端服务器的示例性处理器平台的框图。
这些图并不是按比例绘制的。在适当的情况下,将在整个附图和所附的书面描述中使用相同或相似的附图标记来指代相同或相似的部分。
具体实施方式
嵌入式设备(如物联网设备)的初始配置和设置通常要求大量的用户干预和时间来完成。例如,Wi-Fi网络配置会要求技术人员将嵌入式设备连接到有线网络,启动并经由远程桌面来配置嵌入式设备。技术人员也可能需要手动输入设备标识符来完成嵌入式设备的注册。由于用于设置嵌入式设备的劳动力成本增加,这种糟糕的用户体验导致低的普及率和市场份额。
所公开的示例性系统、方法和装置利用诸如近场通信(NFC)的短程无线通信协议来促进嵌入式设备的有效配置。示例性系统、方法和装置可以被用来配置多个嵌入式设备。例如,可以配置一箱嵌入式设备,甚至不需要从箱子和/或每个嵌入式设备的单独包装中移除该嵌入式设备。
为了便于配置嵌入式设备,将天线(例如,NFC天线)添加到嵌入式设备以接收包括向存储器提供电力的足够电力的射频信号。射频信号还包括用于嵌入式设备的配置数据。因此,配置数据可以被转移到示例性嵌入式设备,并被存储在嵌入式设备的存储器中,而无需对该嵌入式设备加电(例如,使用电池或电源适配器对嵌入式设备加电)。之后,当嵌入式设备被加电(例如,使用电池提供电力或电源适配器提供电力)时,嵌入式设备的网络配置器从存储器读取配置数据,并配置该嵌入式设备的网络接口以允许嵌入设备与联网服务(例如,后端服务)进行通信。
如本文所使用的,术语“嵌入式设备”包括任何类型的物理对象,其包括嵌入式电子器件。嵌入式设备可以包括处理器、微处理器、逻辑电路或用于执行计算机化操作的其他电路。如本文所公开的一些嵌入式设备包括用于与其他计算设备(例如,作为物联网的一部分)通信的通信电路,而其他嵌入式设备不包括通信电路(除了如本文所公开的用于配置的短程无线通信电路)。
如本文所使用的,短语“对嵌入式设备加电”及其其他形式是指向嵌入式设备提供电力和/或提供开始操作的指令。如本文所使用的,“对嵌入式设备加电”不包括经由短程无线通信天线(例如,NFC天线)向嵌入式设备的一些或所有部件提供电力以向嵌入式设备提供配置数据。
图1是用于配置嵌入式设备102的示例性系统100的框图。图1的示例性系统100包括嵌入式设备102、传感器104、计算设备106、网络110、网络服务器114、后端服务器116和数据储存库118。
图1的示例性嵌入式设备102是物联网设备,其与传感器104耦合以从传感器104收集数据,并将数据发送到示例性数据储存库118。例如,嵌入式设备102可以是远程温度感测设备,其是跨地理区域分布的温度传感器网络的一部分,并且传感器104可以是温度探针。嵌入式设备替代地可以是包括嵌入式电子器件的任何其他类型的物理对象。例如,嵌入式设备102可以是计算设备,可以是通常不包括处理能力但是已经被添加了处理器以将设备连接到网络的设备(例如,已经被添加了处理和联网能力的冰箱)等。示例性嵌入式设备102不包括显示屏幕。替代地,嵌入式设备102可以包括显示屏幕、有限的用户接口等。结合图2描述嵌入式设备102的示例性实现。
示例性传感器104可以是用于嵌入式设备102的任何类型的传感器、探针或其他数据源。例如,传感器104可以是温度探针、相机、网络数据源等。虽然示例性嵌入式设备102与传感器104耦合,但是系统100可以替代地不包括传感器104。
示例性计算设备106被系统100中的用户使用以与示例性嵌入式设备102通信来配置(例如,初始化)该嵌入式设备102。图1的图示例子的计算设备106是诸如蜂窝电话的移动计算设备。替代地,计算设备106可以是能够与嵌入式设备102通信以配置嵌入式设备102的任何类型的计算设备。
根据所示示例,示例性计算设备106包括与嵌入式设备102的短程无线通信能力通信的短程无线通信能力(例如,NFC)。示例性短程无线通信能力可以用于向示例性嵌入式设备102的部件(例如,部件的子集、所有部件等)提供电力,并且在配置示例性嵌入式设备102期间将配置数据传输到该示例性嵌入式设备102。
结合图3描述计算机设备106的示例性实现。
图示示例的网络110通信地耦合示例性嵌入式设备102、示例性计算设备106、示例性网络服务器114、示例性后端服务器116和示例性数据储存库118。示例性网络110是互联网。网络110可以替代地是任何其他类型和数量的网络。例如,网络110可以由连接到广域网的若干个局域网来实现。例如,示例性嵌入式设备102和示例性计算设备106可以与第一局域网相关联,并且示例性网络服务器114和示例性后端服务器116可以与第二局域网相关联。在这样的示例中,第一局域网和第二局域网可以独立地连接到示例性网络110,以将相应的局域网的设备通信地耦合到示例性网络110。替代地,可以利用任何其他配置和拓扑来实现网络110。例如,网络110可以包括有线网络、无线网络、广域网、局域网等的任何组合。
图1的示例性网络服务器114是提供网络服务以便于系统的用户(例如,管理员用户)管理示例性后端服务器116的服务的服务器。示例性网络服务器114包括用户可以通过其进行认证(例如,通过提供用户名和密码)的接口;用于创建、修改和删除示例性后端服务器116的用户账户的接口;以及用于创建、修改和删除由示例性后端服务器116存储的网络配置信息的接口。示例性用户账户被用于认证系统用户(例如,部署技术人员),也就是说,例如,利用示例性计算设备106来配置示例性嵌入式设备102。示例性网络配置信息包括可以被加载到示例性嵌入式设备102上以使得示例性嵌入式设备102能够连接到网络(例如,通信地耦合到示例性网络110的无线局域网)的网络简档。例如,网络配置信息可以包括例如用于无线网络的识别信息,用于网络的认证信息,用于网络的互联网协议(IP)信息(例如,IP地址信息、域名服务地址、网关IP地址等),代理服务器信息等。
虽然示例性网络服务器114经由由示例性网络服务器114服务的网页来与用户接口,以便于后端服务器116的管理,但是网络服务器114可以替代地用提供任何类型的接口(例如,命令行接口、图形用户接口等)的另一设备(例如,另一计算设备)替代。在一些系统中,后端服务器116可以包括集成的网络服务器,并且可以不包括单独的网络服务器114。另外,虽然图1的示例性网络服务器114提供了用于配置用户账户和用于管理网络配置的接口,但是网络服务器114可以附加地或替代地提供用于管理后端服务器116的其他方面的接口(例如,配置后端服务器116的设置,配置要被加载到示例性嵌入式设备102上的设备设置,等等)。
结合图4描述网络服务器114的示例性实现。
所示示例的后端服务器116是与示例性计算设备106进行通信以认证示例性计算设备106的用户的服务器,其在部署示例性嵌入式设备102期间经由示例性计算设备106收集关于嵌入式设备102的信息,并将配置数据发送到示例性计算设备106以便传输到嵌入式设备102。根据图示的示例,后端服务器116由示例性嵌入式设备102的制造商提供,以便于由嵌入式设备102的终端用户部署示例性嵌入式设备102。替代地,后端服务器116和/或其部分可以由另一实体提供(例如,购买嵌入式设备102的企业可以维护其自己的后端服务器以便于由该企业部署多个嵌入式设备)。附加地或替代地,后端服务器116可以与系统100的其他部件(例如,网络服务器114和/或数据储存库118)集成。例如,后端服务器116可以通过将配置数据发送到嵌入式设备102来便于部署嵌入式设备102,并且可以接收由嵌入式设备102收集的数据以存储在存储库中。
结合图5描述后端服务器116的示例性实现。
图1的示例性数据储存库118是接收由示例性嵌入式设备102收集的数据的数据储存库。示例性数据储存库118可以是任何类型的数据存储库,包括服务器、数据库、文件等。虽然示例性系统100包括示例性数据储存库118,但是系统100的一些实现可以不包括数据储存库118。例如,数据储存库118的功能可以被集成在示例性后端服务器116中,嵌入式设备102可以在本地存储收集到的数据(例如,用于后续的取回),嵌入式设备102可以不是收集数据的设备(例如,嵌入式设备102可以是执行任务而不收集数据的机器人设备)等。在一些示例中,数据储存库118可以提供收集到的数据的报告,可以将收集到的数据发送到另一设备或系统,可以处理收集到的数据等。
在操作中,示例性系统100的用户(例如,在终端用户位置处的用户)操作示例性计算设备106来部署示例性嵌入式设备102(例如,先前未被部署的新接收到的嵌入式设备,要改变其配置的嵌入式设备(例如,与先前未与嵌入式设备相关联的网络通信)等)。用户将证书输入到示例性计算设备106中,该示例性计算设备106用示例性后端服务器116验证该证书(例如,验证该证书与先前经由示例性网络服务器114被添加到后端服务器116的证书相匹配)。示例性计算设备106向示例性嵌入式设备102发送信号,以向嵌入式设备102的至少一些部件提供电力,并从嵌入式设备102取回设备标识符。例如,计算设备106可以为嵌入式设备102的NFC电路供给能量并取回设备标识符。使用设备标识符,计算设备106从示例性后端服务器116取回用于嵌入式设备102的配置数据。示例性计算设备106再次向示例性嵌入式设备102发送信号,以向嵌入式设备102的至少一些部件提供电力,并且将配置数据存储在嵌入式设备102的存储器中。稍后,当嵌入式设备102加电(例如,在配置数据被存储之后第一次加电)时,嵌入式设备102加载新存储的配置数据,并且处理配置数据以执行以下中的一个或多个:将嵌入式设备连接到网络(例如,网络110),与示例性后端服务器116或另一服务器(例如,与用户相关联的配置服务器)进行通信,执行除了网络通信之外的嵌入式设备102的部件的配置,等等。因此,可以将配置数据加载到嵌入式设备102上,即使嵌入式设备102未加电(例如,电力不是由电池或其他电源提供,通/断开关未被激活或处于切断位置,等)。此外,当计算设备106使用无线信号与嵌入式设备102进行通信时,嵌入式设备102(以及可选地多个嵌入式设备102)可以被编程而不需要在计算设备106(或附接到计算设备106的电缆)和嵌入式设备102之间的物理接触。例如,嵌入式设备102可以由计算设备106配置,而嵌入式设备102保留在其包装中,被包装在嵌入式设备的盒子中,在嵌入式设备的托盘上等等。
图2是图1的嵌入式设备102的示例性实现的框图。图2的示例性嵌入式设备102包括:示例性天线202,示例性射频(RF)通信器204,示例性RF存储器206,示例性电源208,示例性网络配置器210,示例性网络接口212,示例性系统存储器214,示例性后端通信器216,以及示例性传感器接口218。
示例性天线202包括两个环形天线,通过感应从所述天线捕获电磁能量。由示例性天线202捕获的能量被转换成用于示例性RF通信器204和示例性RF存储器206的工作功率。在所示示例中,天线202捕获足够的能量来向RF通信器204和RF存储器206提供电力而不需要另一电源。由示例性天线202捕获的电磁能量可以附加地包括示例性RF通信器204存储在示例性RF存储器206中的数据。根据图示示例,计算设备106发射为示例性天线202以及由此为示例性RF通信器204和示例RF存储器206供给能量的电磁信号。另外,示例性电磁信号携带来自示例性计算设备106的请求,并且将来自示例性计算设备106的配置数据携带到示例性嵌入式设备102中。替代地,天线202可以是任何类型的天线和/或天线阵列。此外,当在计算设备106和嵌入式设备102之间的无线通信未被利用时,天线202可以被另一类型的接口替代。例如,天线202可以被容纳有线连接(例如,通用串行总线(USB)连接)的端口来替代。
所示示例的RF通信器204从天线202接收电力,服务经由天线202接收到的设备识别信息的请求,并且将经由示例性天线202接收到的配置数据存储在示例性RF存储器206中。根据图示示例,响应于对设备识别信息的请求(例如,经由示例性天线202从示例性计算设备106接收到的对设备识别信息的请求),示例性RF通信器204取回存储在示例性RF存储器206中的设备标识符。
图2的示例性RF存储器206存储用于由示例性RF通信器204取回的设备识别信息(例如,设备标识符),并存储经由示例性RF通信器204从示例性天线202接收到的配置数据。示例性RF存储器206是电可擦除可编程只读存储器(EEPROM)。替代地,RF存储器206可以是任何其他类型的存储器或存储装置,例如闪存、磁盘存储装置等。
示例性电源208向图2的示例性嵌入式设备102的部件提供电力。根据图示示例,电源208向示例性网络配置器210、示例性网络接口212、示例性系统存储器214、示例性后端通信器216以及示例性传感器接口218提供电力。另外,当RF存储器206未被示例性天线202提供电力时,示例性电源208向示例性RF存储器206提供电力。示例性电源208是电池。替代地,电源208可以是任何其他功率源,例如,电力变换器、感应电源等等。
在嵌入式设备102加电(例如,示例性嵌入式设备102第一次加电)并基于配置数据中包含的信息来配置示例性网络接口212时,图示示例的网络配置器210从示例性RF存储器206取回配置数据。换句话说,当配置数据第一次被存储到RF存储器206中时(例如,当示例性RF通信器204和示例性RF存储器206在示例性嵌入式设备102被加电和/或配置之前的时间由示例性天线202接收到的电磁信号提供电力时),在第二(稍后)时间,网络配置器210拾取所存放的配置数据并执行示例性网络接口212的配置。例如,配置数据可以包含使得示例性网络接口212能够与示例性网络110通信的信息(例如,Wi-Fi网络名称、网络密码、网络访问密钥、代理服务器信息等)。示例性网络配置器210另外将网络配置信息存储在系统存储器214中。例如,网络配置器210可以将网络配置信息存储在系统存储器214中,使得网络配置器210可以在稍后时间(例如,在网络接口212将被再次配置时,在嵌入式设备102的下一次加电/引导期间)加载网络配置。
示例性网络接口212将示例性嵌入式设备102与网络(例如,示例性网络110)通信地耦合。根据图示示例,网络接口212是无线网络连接电路。替代地,网络接口212可以是到有线网络、无线网络、本地网络、有线网络、以太网连接网络、光纤连接网络、互联网协议网络等的任何类型的网络接口。
图示示例的系统存储器214存储来自示例性网络配置器210和/或示例性后端通信器216的配置数据。系统存储器214可以是任何类型的存储装置存储器,例如,EEPROM、闪存、磁盘存储装置等。在系统100的一些实现中,RF存储器206和示例性系统存储器214可以被组合和/或RF存储器206和/或示例性系统存储器214中的一个可以被去除。
示例性后端通信器216从RF存储器206和/或系统存储器214取回配置数据,并且在示例性网络接口212已经由示例性网络配置器210配置之后,经由示例性网络接口212与示例性后端服务器116进行通信。根据图示示例,在嵌入式设备102已经加电并且网络配置器210已经使用配置数据配置网络接口212之后,后端通信器216从配置数据取回用于后端服务器116的网络地址,并联系后端服务器116建立与后端服务器116的安全连接,以例如取回用于示例性嵌入式设备102的附加配置信息。例如,附加配置信息可以包括用于数据储存库118的网络地址,以指示示例性传感器接口218将收集到的数据发送到在识别出的网络地址处的数据储存库118。示例性后端通信器216将取回的配置数据存储在示例性系统存储器214中以供稍后存取(例如,在示例性嵌入式设备102的后续加电/引导期间)。
示例性传感器接口218将示例性嵌入式设备102耦合到示例性传感器104,并将收集到的数据发送到示例性数据储存库118。虽然示例性嵌入式设备102包括传感器接口218,但是嵌入式设备102的其他实现可以附加地或替代地包括其他部件以执行与嵌入式设备的特定实现相关联的功能。例如,如果嵌入式设备是智能灯泡,则传感器接口218将被替换为用于实现和控制灯泡的部件/电路(或多个部件/电路)。换句话说,传感器接口218被提供为代表可以在嵌入式设备102的实现中使用的任何数量的部件的特定示例。
虽然在图2中示出了实现图1的嵌入式设备102的示例性方式,但在图2中所示的一个或多个元件、过程和/或设备可以被组合、划分、重新排列、省略、去除和/或以任何其他方式实现。此外,示例性RF通信器204、示例性网络配置器210、示例性网络接口212、示例性后端通信器216、示例性传感器接口218和/或更一般地示例性嵌入式设备102可以由硬件,软件,固件和/或硬件、软件和/或固件的任何组合实现。因此,例如,示例性RF通信器204、示例性网络配置器210、示例性网络接口212、示例性后端通信器216、示例性传感器接口218和/或更一般地示例性嵌入式设备102中的任一个可以通过一个或多个模拟或数字电路、逻辑电路、可编程处理器、专用集成电路(ASIC)、可编程逻辑器件(PLD)和/或现场可编程逻辑器件(FPLD)实现。当阅读本申请的任何装置或系统权利要求以覆盖纯粹的软件和/或固件实现时,示例性RF通信器204、示例性网络配置器210、示例性网络接口212、示例性后端通信器216和/或示例性传感器接口218中的至少一个在此被明确定义为包括存储软件和/或固件的有形计算机可读存储设备或存储盘,例如存储器、数字通用盘(DVD)、压缩盘(CD)、蓝光盘等。此外,图1的示例性嵌入式设备102可以包括除了或替代图2中所示的那些之外的一个或多个元件、过程和/或设备,和/或可以包括任何或全部所示元件、过程和设备中的多于一个。
图3是图1的计算设备106的示例性实现的框图。图3的示例性计算设备106是包括示例性用户接口302、示例性后端通信器304、示例性RF接口306和示例性天线308的移动计算设备。虽然图3的示例性计算设备106是移动计算设备,但是计算设备106替代地可以是任何其他类型的计算设备(例如,台式计算机、服务器、膝上型计算机、移动电话、手持式计算设备等)。
示例性用户接口302在示例性计算设备106的显示器上呈现图形用户接口以允许用户与示例性计算设备106交互。根据图示示例,示例性用户接口302提供用于接收用于认证的用户证书的第一图形用户接口;用于指示计算设备106准备好扫描新的嵌入式设备的第二图形用户接口;用于允许用户在接收到的配置数据中提供的网络简档中进行选择的第三图形用户接口;指示嵌入式设备正在被供应的第四图形用户接口;以及指示该设备已经或尚未被成功供应的第五图形用户接口。虽然示例性用户接口302提供图形用户接口,但是用户接口302可以附加地或替代地提供任何其他类型的接口,例如语音激活接口、命令行接口等。
图3的图示示例的后端通信器304例如经由示例性网络110将示例性计算设备106通信地耦合到示例性后端服务器116。示例性后端通信器304包括网络接口,例如以无线网络接口、有线网络接口等为例。根据图示示例,后端通信器304与示例性后端服务器116通信以认证示例性计算设备106的用户,将示例性嵌入式设备102的设备识别信息发送给示例性后端服务器116,以及从示例性后端服务器116接收用于示例性嵌入式设备102的配置数据。根据图示示例,后端通信器304经由示例性RF接口306和示例性天线308从嵌入式设备102接收设备识别信息,并经由示例性RF接口306和示例性天线308将从示例性后端服务器116接收到的配置数据发送到示例性嵌入式设备102。替代地,后端通信器304可以从任何其他源接收设备识别(例如,用户可以经由用户接口302将设备识别信息输入到示例性计算设备106)。另外或替代地,后端通信器304可以使用任何其它接口将配置数据发送到示例性嵌入式设备102(例如,后端通信器304可以将配置数据存储在诸如USB闪存驱动器的存储器中,所述存储器随后被连接到嵌入式设备102以将配置数据传送到嵌入式设备102和/或使该配置数据对于嵌入式设备102可用)。
图3的图示示例的示例性RF接口306经由利用示例性天线308的通信将示例性后端通信器304与示例性天线308,并且由此与示例性嵌入式设备102,通信地耦合。示例性天线308向示例性嵌入式设备102发送电磁信号和/或从示例性嵌入式设备102接收电磁信号。根据图示示例,计算设备106利用天线308向嵌入式设备102发送具有足够电力以向示例性嵌入式设备102的至少一些部件(例如,图2的示例的RF通信器204和RF存储器206)提供电力的电磁信号。替代地,当在计算设备106和嵌入式设备102之间的无线通信未被利用时,天线308可以被另一类型的接口替代。例如,天线308可以由容纳有线连接(例如,通用串行总线(USB)连接)的端口来替代。
虽然在图3中示出了实现图1的计算设备106的示例性方式,但是图3中所示的一个或多个元件、过程和/或设备可以被被组合、划分、重新排列、省略、去除和/或以任何其他方式实现。此外,示例性用户接口302、示例性后端通信器304、示例性RF接口306和/或更一般地示例性计算设备106可以由硬件,软件,固件和/或硬件、软件和/或固件的任何组合实现。因此,例如,示例性用户接口302、示例性后端通信器304、示例性RF接口306和/或更一般地示例性计算设备106中的任何一个可以通过一个或多个模拟或数字电路、逻辑电路、可编程处理器、专用集成电路(ASIC)、可编程逻辑器件(PLD)和/或现场可编程逻辑器件(FPLD)实现。当阅读本申请的任何装置或系统权利要求以覆盖纯粹的软件和/或固件实现时,示例性用户接口302、示例性后端通信器304和/或示例性RF接口306中的至少一个在此被明确定义为包括存储软件和/或固件的有形计算机可读存储设备或存储盘,例如存储器、数字通用盘(DVD)、压缩盘(CD)、蓝光盘等。此外,图1的示例性计算设备106可以包括除了或替代图3中所示的那些之外的一个或多个元件、过程和/或设备,和/或可以包括任何或全部所示元件、过程和设备中的多于一个。
图4是图1的网络服务器114的示例性实现的框图。图4的示例性网络服务器114是服务于网页以便于管理示例性后端服务器116的服务器。虽然图4的示例性网络服务器114是服务器,但是网络服务器114替代地可以是任何其他类型的计算设备(例如,台式计算机、膝上型计算机、移动电话、手持式计算设备等)。示例性网络服务器114包括示例性用户接口402、示例性用户帐户接口404以及示例性配置数据接口406。
示例性用户接口402在示例性计算设备106的显示器上呈现图形用户接口,以允许用户与示例性网络服务器114交互。根据图示示例,示例性用户接口402提供用于接收、删除或编辑用于后端服务器116的用户证书的第一图形用户接口,以及用于接收、删除或编辑存储在后端服务器116处的配置数据(例如,网络简档)的第二图形用户接口。虽然示例性用户接口402提供图形用户接口,但是用户接口402可以另外或替代地提供任何其他类型的接口,例如语音激活接口、命令行接口等。
示例性用户账户接口404从示例性用户接口402接收用户账户信息(例如,由示例性网络服务器114的用户(例如,管理员)输入的账户信息),并且将该用户账户信息发送给示例性后端服务器116(例如,用户账户接口404可以经由示例性网络110与示例性后端服务器116的数据库进行通信)。例如,用户账户接口404可以发送添加新用户账户的请求,修改现有用户账户的请求(例如,改变密码),和/或删除用户账户的请求。
示例性配置数据接口406从示例性用户接口402接收配置数据(例如以由示例性网络服务器114的用户(例如,管理员)输入的网络配置数据为例的配置数据),并且将配置数据发送到示例性后端服务器116(例如,配置数据接口406可以经由示例性网络110与示例性后端服务器116的数据库进行通信)。例如,配置数据接口406可以发送向用于嵌入式设备的配置数据的简档添加新的网络配置的请求,修改配置数据的简档的请求,和/或删除配置数据的简档的请求。
虽然在图4中示出了实现图1的网络服务器114的示例性方式,但是图4中所示的一个或多个元件、过程和/或设备可以被被组合、划分、重新排列、省略、去除和/或以任何其他方式实现。此外,示例性用户接口402、示例性用户账户接口404、示例性配置数据接口406和/或更一般地网络服务器114可以由硬件,软件,固件和/或硬件、软件和/或固件的任何组合实现。因此,例如,示例性用户接口402、示例性用户账户接口404、示例性配置数据接口406和/或更一般地网络服务器114中的任何一个可以通过一个或多个模拟或数字电路、逻辑电路、可编程处理器、专用集成电路(ASIC)、可编程逻辑器件(PLD)和/或现场可编程逻辑器件(FPLD)实现。当阅读本申请的任何装置或系统权利要求以覆盖纯粹的软件和/或固件实现时,示例性用户接口402、示例性用户账户接口404和/或示例性配置数据接口406中的至少一个在此被明确定义为包括存储软件和/或固件的有形计算机可读存储设备或存储盘,例如存储器、数字通用盘(DVD)、压缩盘(CD)、蓝光盘等。此外,图1的示例性网络服务器114可以包括除了或替代图4中所示的那些之外的一个或多个元件、过程和/或设备,和/或可以包括任何或全部所示元件、过程和设备中的多于一个。
图5是图1的示例性后端服务器116的示例性实现的框图。图5的示例性后端服务器116包括示例性注册处理机502、示例性嵌入式设备配置处理机504和示例性配置存储库506。
图5的图示示例的示例性注册处理机502从示例性网络服务器114接收用户帐户信息和/或对用户帐户信息的改变,并将用户帐户信息存储在示例性配置存储库506中。示例性注册处理机502另外从示例性计算设备106接收认证用户帐户信息的请求,并且使用存储在示例性配置存储库506中的用户帐户信息来验证与请求相关联的用户帐户信息。
图5的示例性嵌入式设备配置处理机504从示例性网络服务器114接收嵌入式设备配置数据(例如,网络配置数据),并将嵌入式设备配置数据存储在示例性配置存储库506中。示例性嵌入式设备配置处理机504另外通过将在请求中接收到的设备标识符与做出该请求的用户账户进行链接并取回用于嵌入式设备102的配置数据/将用于嵌入式设备102的配置数据发送到示例性计算设备106,来对来自示例性计算设备106的用于嵌入式设备102的配置信息的请求做出响应。
图示示例的示例性配置存储库506是用于存储用户账户信息和嵌入式设备配置数据的数据库。替代地,配置存储库506可以是任何类型的数据存储装置,例如,光学存储装置、磁盘存储装置、闪存、文件等。
虽然在图5中示出了实现图1的后端服务器116的示例性方式,但是图5中所示的一个或多个元件、过程和/或设备可以被组合、划分、重新排列、省略、去除和/或以任何其他方式实现。此外,示例性注册处理机502、示例性嵌入式设备配置处理机504和/或更一般地后端服务器116可以由硬件,软件,固件和/或硬件、软件和/或固件的任何组合实现。因此,例如,示例性注册处理机502、示例性嵌入式设备配置处理机504和/或更一般地后端服务器116中的任何一个可以通过一个或多个模拟或数字电路、逻辑电路、可编程处理器、专用集成电路(ASIC)、可编程逻辑器件(PLD)和/或现场可编程逻辑器件(FPLD)实现。当阅读本申请的任何装置或系统权利要求以覆盖纯粹的软件和/或固件实现时,示例性注册处理机502和/或示例性嵌入式设备配置处理机504中的至少一个在此被明确定义为包括存储软件和/或固件的有形计算机可读存储设备或存储盘,例如存储器、数字通用盘(DVD)、压缩盘(CD)、蓝光盘等。此外,图1的示例性后端服务器116可以包括除了或替代图5中所示的那些之外的一个或多个元件、过程和/或设备,和/或可以包括任何或全部所示元件、过程和设备中的多于一个。
在图6-7中示出了表示用于实现图1和/或图2的嵌入式设备102的示例机器可读指令的流程图。在该示例中,机器可读指令包括用于由处理器(例如,在下文中结合图6-7讨论的在示例性处理器平台1400中示出的处理器1414)执行的程序。该程序可以被体现在存储在有形计算机可读存储介质上的软件中,所述介质例如是CD-ROM、软盘、硬盘驱动、数字通用盘(DVD)、蓝光盘或与处理器1412相关联的存储器,但是整个程序和/或其部分可以替代地由除了处理器1412之外的设备执行和/或以固件或专用硬件实现。此外,虽然参考图6-7所示的流程图来描述示例程序,但是替代地可以使用实现示例性嵌入式设备102的许多其他方法。例如,可以改变框的执行次序,和/或可以改变、去除或组合所描述的一些框。
如上所述,图6-7的示例性过程可以使用存储在有形计算机可读存储介质上的编码指令(例如,计算机和/或机器可读指令)实现,所述介质例如是硬盘驱动、闪存、只读存储器(ROM)、压缩盘(CD)、数字通用盘(DVD)、高速缓存、随机存取存储器(RAM)和/或其中存储信息达任意时长的任何其他存储设备或存储盘(例如,延长的时间段,永久地,用于简短情况,用于临时缓冲,和/或用于高速缓存信息)。如本文所使用的,术语“有形计算机可读存储介质”被明确定义为包括任何类型的计算机可读存储设备和/或存储盘,并且排除传播信号并排除传输介质。如本文所使用的,“有形计算机可读存储介质”和“有形机器可读存储介质”可以互换使用。另外或替代地,图6-7的示例性过程可以使用存储在非瞬态计算机和/或机器可读介质上的编码指令(例如,计算机和/或机器可读指令)实现,所述介质例如是硬盘驱动、闪存、只读存储器、压缩盘、数字通用盘、高速缓存、随机存取存储器和/或其中存储信息达任意时长的任何其他存储设备或存储盘(例如,延长的时间段,永久地,用于简短情况,用于临时缓冲,和/或用于高速缓存信息)。如本文所使用的,术语“非瞬态计算机可读介质”被明确定义为包括任何类型的计算机可读存储设备和/或存储盘,并且排除传播信号并排除传输介质。如本文所使用的,当短语“至少”被用作权利要求的前序部分中的过渡术语时,其以与术语“包括”是开放式相同的方式是开放式的。
根据图6的图示示例,在部署示例性嵌入式设备102期间(例如,在嵌入式设备102第一次加电之前)执行图6的程序。图6的程序开始于示例性天线202接收RF信号(例如,由示例性计算设备106输出的电磁信号)时(框602)。RF信号经由示例性天线202向示例性RF通信器204和示例性RF存储器206提供电力。RF通信器204接收包含在RF信号中的对信息的请求(框604)。根据图示示例,对信息的请求包括对与示例性嵌入式设备102相关联的识别信息的请求。RF通信器204从示例性RF存储器206取回所请求的信息,并使用由天线202发射出的RF信号将该信息(例如,设备标识符)发送到请求的源(例如,计算设备106)(框606)。
RF通信器204然后经由天线202接收发送给嵌入式设备102的配置数据(框608)。例如,计算设备106可以(例如,从后端服务器116)取回配置数据,并且经由另外的RF信号将配置数据发送到嵌入式设备102。示例性RF通信器204将接收到的配置数据存储在示例性RF存储器206中(框610)。图6的程序随后结束。因此,在完成图6的程序时,配置数据被存储在RF存储器206中,等待嵌入式设备102加电,此时将由示例性网络配置器210和示例后端通信器216从RF存储器206拾取并处理配置数据,如结合图7的流程图所描述的。
图7的示例性程序由嵌入式设备102执行以使用从例如示例性计算设备106接收到的配置数据来配置嵌入式设备102。根据图示示例,在配置数据已经被存储在嵌入式设备之后(例如,在已经执行了图6的程序之后),执行图7的程序。图7的示例性程序意图在首次部署嵌入式设备102时执行一次。替代地,每次对嵌入式设备102加电时(例如,在每次加电期间期望或要求配置嵌入式设备102(例如,在配置数据被存储在易失性存储器中的情况下)的实现中),可以执行图7的程序。
图7的程序开始于网络配置器210和示例性后端通信器216从示例性电源208接收到电力时(框702)。根据图示示例,当将电池(示例性电源208)插入到嵌入式设备102中时,对嵌入式设备102加电。替代地,电源208可以是任何其他类型的电源,并且嵌入式设备102可以按照任何其他方式加电(例如,可以将开关从关断位置移动到接通位置,可以由嵌入式设备接收加电指令(例如,可以由功率控制部件接收)等)。
然后,示例性网络配置器210从RF存储器206取回配置数据(框704)。根据图示示例,通过执行图6的程序或类似过程而将配置数据在之前存储在RF存储器206中。替代地,可以使用任何其他过程来存储配置数据(例如,可以通过将数据从便携式存储设备(例如,USB闪存驱动器)传输到RF存储器206,通过制造存储有配置数据的RF存储器206等,将配置数据存储在RF存储器206中)。另外或替代地,可以从另一位置取回配置数据(例如,配置数据可以被存储在示例性系统存储器214中,可以被存储在远程位置(例如,网络配置器210已知并且可以使用网络配置器210已知的默认网络配置信息来访问的网络位置)等)。
根据图示示例,在框704中取回的配置数据被加密,并且因此网络配置器210解密配置数据(框706)。替代地,如果配置数据未被加密,则可以去除框706。在获得未加密的配置数据之后,网络配置器210配置示例性网络接口212(框708)。例如,网络配置器210可以从配置数据取回无线网络名称和无线网络认证参数,并且可以配置网络接口212以利用无线网络认证参数来访问识别出的无线网络。替代地,可以取决于网络接口212的类型来执行网络接口212的任何其他配置。
在网络接口212已经被网络配置器210配置之后(框708),示例性后端通信器216生成用于嵌入式设备102的证书(框710)。例如,证书可以是可以用于认证与嵌入式设备102相关联的网络通信的自签名数字证书。后端通信器216然后经由网络接口212建立与后端服务器116的安全通信会话(框712)。例如,后端通信器216可以根据配置数据(例如,通过从RF存储器206或从系统存储器214取回配置数据)来确定示例性后端服务器116的网络地址。安全会话可以是例如服务器认证的传输层安全(TLS)会话、安全套接字层(SSL)会话等。
后端通信器216然后经由网络接口212将嵌入式设备102的设备识别信息(例如,设备标识符)发送到后端服务器116(框714)。例如,后端通信器216可以从RF存储器206和/或系统存储器214取回设备标识符,可以从用户输入接收设备标识符或其他识别信息等。后端通信器216还发送针对在框710中生成的证书的证书签名请求(框716)。例如,证书签名请求可以被发送到后端服务器116或者可以签名证书的另一服务器(例如,证书机构)。
响应于建立安全通信会话(框712),后端通信器216从后端服务器116接收对于相互安全通信会话的请求,并建立相互安全通信会话(框718)。例如,相互安全通信会话可以促进在嵌入式设备102与后端服务器116之间的通信的加密。示例性后端通信器216从后端服务器116接收签名的证书签名请求(框720)。例如,后端通信器216可以将签名的证书存储在系统存储器214中以用于认证由嵌入式设备102发送的通信。
根据图示示例,后端通信器216然后从后端服务器116接收针对嵌入式设备102的附加配置(框722)。例如,后端通信器216可以将附加配置信息存储在系统存储器214中和/或可以基于附加配置信息来执行嵌入式设备102的配置(例如,可以执行示例性传感器接口218的配置)。在一些实现中,可能不需要附加的配置信息。在一些实现中,可以从除了后端服务器116之外的源或附加源接收配置信息。例如,可以从数据储存库118、从由嵌入式设备102的终端用户管理的服务器等接收附加的配置信息。
然后,图7的程序结束。
在图8中示出了表示用于实现图1和/或图3的计算设备106的示例性机器可读指令的流程图。在这个示例中,机器可读指令包括用于由处理器(例如,在下文中结合图8讨论的在示例性处理器平台1500中示出的处理器1512)执行的程序。该程序可以被体现在存储在有形计算机可读存储介质上的软件中,所述介质例如是CD-ROM、软盘、硬盘驱动、数字通用盘(DVD)、蓝光盘或与处理器1512相关联的存储器,但是整个程序和/或其部分可以替代地由除了处理器1512之外的设备执行和/或被体现在固件或专用硬件中。此外,虽然参考图8所示的流程图描述了示例程序,但是替代地可以使用实现示例性计算设备106的许多其他方法。例如,可以改变框的执行次序,和/或可以改变、去除或组合所描述的一些框。
如上所述,图8的示例性过程可以使用被存储在有形计算机可读存储介质上的编码指令(例如,计算机和/或机器可读指令)实现,所述介质例如是硬盘驱动、闪存、只读存储器(ROM)、压缩盘(CD)、数字通用盘(DVD)、高速缓存、随机存取存储器(RAM)和/或其中存储信息达任意时长的任何其他存储设备或存储盘(例如,延长的时间段,永久地,用于简短情况,用于临时缓冲,和/或用于高速缓存信息)。如本文所使用的,术语“有形计算机可读存储介质”被明确定义为包括任何类型的计算机可读存储设备和/或存储盘,并且排除传播信号并排除传输介质。如本文所使用的,“有形计算机可读存储介质”和“有形机器可读存储介质”可以互换使用。另外或替代地,图8的示例性过程可以使用存储在非瞬态计算机和/或机器可读介质上的编码指令(例如,计算机和/或机器可读指令)实现,所述介质例如是硬盘驱动、闪存、只读存储器、压缩盘、数字通用盘、高速缓存、随机存取存储器和/或其中存储信息达任意时长的任何其他存储设备或存储盘(例如,延长的时间段,永久地,用于简短情况,用于临时缓冲,和/或用于高速缓存信息)。如本文所使用的,术语“非瞬态计算机可读介质”被明确定义为包括任何类型的计算机可读存储设备和/或存储盘,并且排除传播信号并排除传输介质。如本文所使用的,当短语“至少”被用作权利要求的前序部分中的过渡术语时,其以与术语“包括”是开放式相同的方式是开放式的。
根据图8的图示示例,在部署示例性嵌入式设备102期间(例如,在对嵌入式设备102第一次加电之前)执行图8的程序。图8的程序开始于示例性用户接口302经由提供的用户接口接收用户证书时(框802)。示例性后端通信器304与后端服务器116通信以验证用户证书(框804)。例如,如果用户证书不能够被验证(例如,它们是不正确的或者后端服务器116不可用),则后端通信器304可以经由用户接口302请求用户尝试再次输入其用户证书。
然后,RF接口306经由天线308检测嵌入式设备102和/或多个嵌入式设备102的存在(框806)。例如,RF接口306可以在嵌入式设备102在计算设备106附近时经由天线308发送将对嵌入式设备102(例如,图2的示例性嵌入式设备102的RF通信器204和RF存储器206)加电的询问电磁信号。RF接口306在询问电磁信号中包括嵌入式设备102通过发送嵌入式设备102的设备标识符来进行响应的请求(框808)。后端通信器304然后将接收到的设备标识符发送到后端服务器116(框810)。响应于发送设备标识符,后端通信器304从后端服务器116接收网络简档(或多个网络简档)(框812)。用户接口302呈现网络简档以允许用户批准网络简档和/或在多个网络简档中进行选择(框814)。
响应于呈现网络简档(框814),后端通信器304经由用户接口302接收对网络简档的批准或对网络简档之一的选择(框816)。示例性后端通信器304将选定的网络简档的识别与对嵌入式设备102的配置数据的请求发送到后端服务器116(框818)。当后端通信器216从后端服务器116接收配置数据时,RF接口306经由天线308将配置数据发送到嵌入式设备102(框820)。
在发送配置数据(框820)之后,RF接口306确定是否存在要配置的另外的嵌入式设备102(框822)。例如,RF接口306可以确定在框806和/或框808中执行的询问期间识别了多个设备。另外或替换地,RF接口306可以经由天线308执行进一步的询问以确定是否识别出任何附加的嵌入式设备102。RF接口306可以通过将识别出的嵌入式设备102与存储在计算设备106或其他位置处的先前配置的嵌入式设备102的列表(例如,存储在后端服务器116处的列表)进行比较,来确定附加的嵌入式设备可用于配置。替代地,RF接口306可以根据从嵌入式设备102接收到的响应来确定设备正在等待配置(例如,通过从嵌入式设备102接收到的响应中设置的标志)。替代地,一旦嵌入式设备102已经被配置,嵌入式设备102就可以被配置(例如,可以配置RF通信器204)为不响应询问请求。
如果存在要配置的附加的嵌入式设备102(框822),则控制返回到框808以配置下一个嵌入式设备102。替代地,如果没有要配置的另外的嵌入式设备102,则图8的程序结束,或者用户接口302向用户呈现接口以请求用户提供进一步的指令(例如,执行进一步的询问的指令)。
在图9-10中示出了表示用于实现网络服务器114的示例性机器可读指令的流程图。在这个示例中,机器可读指令包括用于由处理器(例如,在下文中结合图9-10讨论的在示例性处理器平台1600中示出的处理器1612)执行的程序。该程序可以被体现在存储在有形计算机可读存储介质上的软件中,所述介质例如是CD-ROM、软盘、硬盘驱动、数字通用盘(DVD)、蓝光盘或与处理器1612相关联的存储器,但是整个程序和/或其部分可以替代地由除了处理器1612之外的设备执行和/或被体现在固件或专用硬件中。此外,虽然参考图9-10所示的流程图来描述示例程序,但是替代地可以使用实现示例性网络服务器114的许多其他方法。例如,可以改变框的执行次序,和/或可以改变、去除或组合所描述的一些框。
如上所述,图9-10的示例性过程可以使用存储在有形计算机可读存储介质上的编码指令(例如,计算机和/或机器可读指令)实现,所述介质例如是硬盘驱动、闪存、只读存储器(ROM)、压缩盘(CD)、数字通用盘(DVD)、高速缓存、随机存取存储器(RAM)和/或其中存储信息达任意时长的任何其他存储设备或存储盘(例如,延长的时间段,永久地,用于简短情况,用于临时缓冲,和/或用于高速缓存信息)。如本文所使用的,术语“有形计算机可读存储介质”被明确定义为包括任何类型的计算机可读存储设备和/或存储盘,并且排除传播信号并排除传输介质。如本文所使用的,“有形计算机可读存储介质”和“有形机器可读存储介质”可以互换使用。另外或替代地,图9-10的示例性过程可以使用存储在非瞬态计算机和/或机器可读介质上的编码指令(例如,计算机和/或机器可读指令)实现,所述介质例如是硬盘驱动、闪存、只读存储器、压缩盘、数字通用盘、高速缓存、随机存取存储器和/或其中存储信息达任意时长的任何其他存储设备或存储盘(例如,延长的时间段,永久地,用于简短情况,用于临时缓冲,和/或用于高速缓存信息)。如本文所使用的,术语“非瞬态计算机可读介质”被明确定义为包括任何类型的计算机可读存储设备和/或存储盘,并且排除传播信号并排除传输介质。如本文所使用的,当短语“至少”被用作权利要求的前序部分中的过渡术语时,其以与术语“包括”是开放式相同的方式是开放式的。
图9的程序开始于图4的示例性网络服务器114的示例性用户接口402接收到创建新用户账户的请求时(框902)。用户账户接口404然后向后端服务器116注册新账户(框904)。接着,图9的程序结束。虽然图9的示例性流程图示出了用于创建用户账户的过程,但是网络服务器114还可以便于在后端服务器116处删除用户账户、编辑现有的用户账户等。
图10的程序开始于图4的示例性网络服务器114的示例性用户接口402接收到创建新的网络配置(例如,新的网络简档)的请求时(框1002)。配置数据接口406然后向后端服务器116注册新的网络配置(框1004)。图10的程序然后结束。虽然图10的示例性流程图示出了用于创建新的网络配置的过程,但是网络服务器114还可以便于在后端服务器116处删除网络配置、编辑现有的网络配置等。
在图11-12中示出了表示用于实现后端服务器116的示例性机器可读指令的流程图。在这个示例中,机器可读指令包括用于由处理器(例如,在下文中结合图11-12讨论的在示例性处理器平台1700中示出的处理器1712)执行的程序。该程序可以被体现在存储在有形计算机可读存储介质上的软件中,所述介质例如是CD-ROM、软盘、硬盘驱动、数字通用盘(DVD)、蓝光盘或与处理器1712相关联的存储器,但是整个程序和/或其部分可以替代地由除了处理器1712之外的设备执行和/或被体现在固件或专用硬件中。此外,虽然参考图11-12所示的流程图来描述示例程序,但是替代地可以使用实现示例性后端服务器116的许多其他方法。例如,可以改变框的执行次序,和/或可以改变、去除或组合所描述的一些框。
如上所述,图11-12的示例性过程可以使用存储在有形计算机可读存储介质上的编码指令(例如,计算机和/或机器可读指令)实现,所述介质例如是硬盘驱动、闪存、只读存储器(ROM)、压缩盘(CD)、数字通用盘(DVD)、高速缓存、随机存取存储器(RAM)和/或其中存储信息达任意时长的任何其他存储设备或存储盘(例如,延长的时间段,永久地,用于简短情况,用于临时缓冲,和/或用于高速缓存信息)。如本文所使用的,术语“有形计算机可读存储介质”被明确定义为包括任何类型的计算机可读存储设备和/或存储盘,并且排除传播信号并排除传输介质。如本文所使用的,“有形计算机可读存储介质”和“有形机器可读存储介质”可以互换使用。另外或替代地,图11-12的示例性过程可以使用存储在非瞬态计算机和/或机器可读介质上的编码指令(例如,计算机和/或机器可读指令)实现,所述介质例如是硬盘驱动、闪存、只读存储器、压缩盘、数字通用盘、高速缓存、随机存取存储器和/或其中存储信息达任意时长的任何其他存储设备或存储盘(例如,延长的时间段,永久地,用于简短情况,用于临时缓冲,和/或用于高速缓存信息)。如本文所使用的,术语“非瞬态计算机可读介质”被明确定义为包括任何类型的计算机可读存储设备和/或存储盘,并且排除传播信号并排除传输介质。如本文所使用的,当短语“至少”被用作权利要求的前序部分中的过渡术语时,其以与术语“包括”是开放式相同的方式是开放式的。
图11的程序开始于当注册处理机502从示例性计算设备106接收到验证用户证书的请求时(框1102)。例如,用户证书可以是由计算设备106的用户输入到示例性计算设备106的用户名和密码。注册处理机502然后确定接收到的用户证书是否与存储在配置存储库506中的用户相匹配(框1104)。注册处理机502可以另外确定配置存储库506是否指示用户被授权部署嵌入式设备(例如,嵌入式设备102)。用户信息可以通过示例性网络服务器114的用户账户接口404存储在配置存储库506中。当接收到的用户证书与示例性配置存储库506中的用户不匹配(或者匹配的用户不具有部署嵌入式设备的授权)时,注册处理机502将向计算设备106发送该请求的拒绝(框1108),并且图11的程序结束。
当接收到的用户证书与在配置存储库506中识别出的授权用户相匹配时(框1106),示例性注册处理机502接收用于计算设备106试图部署的嵌入式设备102的设备信息(例如设备标识符)(框1110)。然后,示例性注册处理机502存储该设备信息(例如,设备标识符)与配置存储库506中识别出的用户的关联,以将用户与嵌入式设备102绑定(框1112)。嵌入式设备配置处理机504随后从配置存储库506取回网络简档,并将网络简档发送给计算设备106(框1114)。例如,网络简档可以与用户相关联(例如,先前由用户在网络服务器114处输入并且由图4的示例性配置数据接口406存储在配置存储库506中的网络简档)。
响应于发送网络简档(框1114),嵌入式设备配置处理机504从计算设备106接收对网络简档的选择(框1116)。嵌入式设备配置处理机504另外从计算设备106接收对于嵌入式设备102的配置数据的请求(框1118)。嵌入式设备配置处理机504然后生成包括所选择的网络简档的配置数据(框1120)。替代地,嵌入式设备配置处理机504可以取回先前生成的与所选择的网络简档相关联的配置数据。嵌入式设备配置处理机504然后加密配置数据(框1122)。例如,可以使用嵌入式设备102已知的加密参数来加密配置数据,使得嵌入式设备102可以解密配置数据,但是其他计算设备(例如,计算设备106)不能够访问配置数据,该配置数据可以包括诸如密码的安全信息。在其他示例中,解密配置数据所需的信息可以按照另一方式可用(例如,可以将加密密钥邮寄到用户的注册地址或电子邮件地址)。
在配置数据被加密(框1122)之后,配置数据被发送到计算设备106以传输到嵌入式设备102(框1124)。例如,在图8的框820处,配置数据可以由计算设备106发送到嵌入式设备102;并在图6的框608处,由嵌入式设备102接收该配置数据。然后,图11的程序结束。
一旦嵌入式设备102加电,就可以执行图12中的程序以建立在示例性后端服务器116与嵌入式设备102之间的通信。根据图示示例,在嵌入式设备102已经被部署之后(例如,在已经执行了图6、8和11的程序之后)执行图12的程序。
图12的程序开始于示例性后端服务器116的示例性注册处理机502从示例性嵌入式设备102接收到安全通信会话时(框1202)。注册处理机502然后经由安全通信会话从嵌入式设备102接收用于嵌入式设备102的设备信息(例如,设备标识符)(框1204)。另外,注册处理机502接收对于由嵌入式设备102生成的证书的证书签名请求(框1206)。
注册处理机502然后确定设备信息(例如,设备标识符)是否与示例性配置存储库506中记录的设备标识符(例如,绑定到用户的设备标识符)相匹配,以验证设备信息属于已经启动供应/部署的嵌入式设备(框1208)。当设备信息未被验证时,注册处理机502向嵌入式设备发送拒绝请求的消息(框1214)。
当设备信息(例如,设备标识符)被验证时(框1210),注册处理机502对证书签名请求进行签名(框1216)。例如,注册处理机502可以使用后端服务器116的证书授权能力对请求进行签名。替代地,注册处理机502可以利用授权证书被签名的指令来将证书签名请求发送给证书机构。
示例性注册处理机502随后建立与嵌入式设备102的安全通信会话(框1218)。例如,注册处理机502可以响应于在框1202处接收到的安全通信会话来建立相互安全通信会话。注册处理机502将签名的证书发送到嵌入式设备102(框1220)。嵌入式设备配置处理机504随后从配置存储库506取回对应于该设备信息(例如,设备标识符)的配置数据,并将该配置数据发送到嵌入式设备102(框1222)。然后,图12的程序结束。
图13是示出示例性嵌入式设备102、示例性计算设备106、示例性网络服务器114和示例性后端服务器116之间的通信的消息流程图。根据图示示例,管理员用户1306、示例性网络服务器114以及示例性后端服务器116位于示例性管理站点1302处,并且终端用户1308、示例性嵌入式设备102以及示例性计算设备106位于示例性客户站点1304处。
图13的示例的流程图开始于在注册用户账户期间管理员用户1306使用示例性网络服务器114的用户接口402输入创建新用户账户的请求(消息1320)时。示例性网络服务器的示例性用户帐户接口404向示例性后端服务器116的示例性注册处理机502发送注册输入用户帐户的请求(消息1322)。另外,示例性管理员用户1306使用示例性网络服务器114的用户接口402输入创建新网络配置的请求(消息1324)。示例性配置数据接口406请求将网络配置注册到示例性后端服务器116的示例性嵌入式设备配置处理机504(消息1326)。
稍后,示例性终端用户1308登录到计算设备106,经由示例性用户接口302输入证书(消息1328)。示例性计算设备106的后端通信器304利用示例性后端服务器116验证接收到的证书(消息1330)。如果证书是有效的,则终端用户1308被认证并且准备好配置嵌入式设备102。然后,示例性终端用户轻敲嵌入式设备102上的计算设备106(例如,支持NFC的移动电话)(动作1332)。根据所示示例,轻敲嵌入式设备102上的计算设备106(或使计算设备106非常接近嵌入式设备102)触发RF接口306,并且天线308允许计算设备106识别嵌入式设备102的存在。例如,计算设备106可以发送能够向嵌入式设备102的部件提供电力的电磁信号,但是如果计算设备106没有非常接近嵌入式设备102(例如,使用NFC技术),则可能不足以(作为限制或通过设计)向该部件提供电力。
然后,计算设备106请求来自嵌入式设备102的设备识别信息(消息1334)。例如,对设备识别信息的请求可以由RF接口306经由示例性计算设备106的天线308发送。响应于该请求,RF接口306经由天线308接收从RF存储器206取回并由嵌入式设备102的示例性RF通信器204发送的设备识别信息(消息1336)。示例性计算设备106的后端通信器304将设备识别信息(以及用于嵌入式设备102的任何其他收集到的硬件信息)发送到后端服务器116(消息1338)。
在接收到设备识别信息时,示例性后端服务器116的示例性注册处理机502将设备识别信息与在消息1330中发送的用户信息绑定(例如,通过将设备识别信息和用户的关联存储在配置存储库506中)(框1340)。然后,嵌入式设备配置处理机504将可用的网络简档发送到计算设备106(消息1342)。用户接口402向终端用户1308显示可用的网络简档(消息1344)。用户经由用户接口402输入对网络简档的选择(消息1346)。
示例性计算设备106的后端通信器304然后向示例性后端服务器116发送对数据块(blob)(例如,配置数据的数据块)的请求(消息1348)。例如,对数据块的请求可以包括由终端用户1308选择的网络简档的识别。响应于该请求,嵌入式设备配置处理机504取回和/或生成加密的数据块,并将加密的数据块发送到计算设备106(消息1350)。RF接口306然后经由天线308将加密的数据块发送到嵌入式设备102(消息1352)。例如,示例性嵌入式设备102的RF通信器204可以经由天线202接收加密的数据块,并且可以将加密的数据块存储在RF存储器206中。因此,嵌入式设备102已经加载有可以用于配置嵌入式设备102的数据块。
稍后,终端用户1308指示嵌入式设备102加电(消息1354)。然后,示例性网络配置器210从RF存储器206取回加密的数据块,并且对加密的数据块进行解密(框1356)。例如,网络配置器210可以将解密的数据块存储在示例性系统存储器214中。网络配置器210然后利用包含在解密的数据块中的信息来配置示例性网络接口212(框1358)。示例性后端通信器216然后为嵌入式设备102生成自签名证书(框1360)。
示例性后端通信器216建立与后端服务器116的服务器认证的TLS会话,并发送对生成的自签名证书的证书签名请求(消息1362)。消息1362包括用于嵌入式设备102的设备识别信息。示例性注册处理机502验证设备识别信息能够被匹配到先前存储在示例性配置存储库506中的设备识别信息(例如,在消息1338中发送给示例性后端服务器116的设备识别信息)(框1364)。如果设备识别信息被验证,则注册处理机502建立相互TLS会话并发送签名的证书签名请求(消息1366)。然后,图13的流程结束。替代地,消息流可以继续提供附加的配置信息和/或维护与嵌入式设备102的通信。
图13的消息流被提供为在示例性嵌入式设备102、示例性计算设备106、示例性网络服务器114和示例性后端服务器116之间的一个消息流的示例。替代地,可以实现许多其他消息流和/或图13的消息的次序可以改变。
图14是能够执行图6-7的指令以实现图2的示例性RF通信器204、示例性网络配置器210、示例性后端通信器216和/或示例性传感器接口218的示例性处理器平台1400的框图。处理器平台1400可以是例如服务器、个人计算机、电器、传感器监视器、或者包括处理电路的任何其他类型的物理设备。
图示示例的处理器平台1400包括处理器1412。图示示例的处理器1412是硬件。例如,处理器1412可以由来自任何期望的家族或制造商的一个或多个集成电路、逻辑电路、微处理器或控制器来实现。图14的示例性处理器1412可以实现图2的示例性RF通信器204、示例性网络配置器210、示例性后端通信器216和/或示例性传感器接口218。
图示示例的处理器1412包括本地存储器1413(例如,高速缓存)。图示示例的处理器1412经由总线1418与包括易失性存储器1414和非易失性存储器1416的主存储器进行通信。易失性存储器1414可以由同步动态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)、RAMBUS动态随机存取存储器(RDRAM)和/或任何其他类型的随机存取存储器设备实现。非易失性存储器1416可以由闪存和/或任何其他期望类型的存储器设备实现。由存储器控制器控制对主存储器1414、1416的访问。
图示示例的处理器平台1400还包括接口电路1420。接口电路1420可以通过任何类型的接口标准来实现,例如以太网接口、通用串行总线(USB)和/或快速PCI接口。接口电路1420可以实现和/或包括示例性网络接口212。
在图示示例中,一个或多个输入设备1422连接到接口电路1420。输入设备1422允许用户将数据和命令输入到处理器1412中。输入设备可以通过例如音频传感器、麦克风、照相机(静止或视频)、键盘、按钮、鼠标、触摸屏、跟踪板、跟踪球、等点(isopoint)和/或语音识别系统实现。
一个或多个输出设备1424也连接到图示示例的接口电路1420。输出设备1424可以例如通过显示设备(例如,发光二极管(LED)、有机发光二极管(OLED)、液晶显示器、阴极射线管显示器(CRT)、触摸屏、触觉输出设备、发光二极管(LED)、打印机和/或扬声器)实现。因此,图示示例的接口电路1420通常包括图形驱动器卡、图形驱动器芯片或图形驱动器处理器。
图示示例的接口电路1420还包括通信设备(例如发送器、接收器、收发器、调制解调器和/或网络接口卡),以便于与外部机器(例如,任何种类的计算设备)经由网络1426(例如,以太网连接、数字用户线路(DSL)、电话线、同轴电缆、蜂窝电话系统等)交换数据。
示例性处理器平台1400还包括用于与示例性计算设备106或另一设备进行通信的示例性天线202。
图示示例的处理器平台1400还包括用于存储软件和/或数据的一个或多个大容量存储设备1428。这种大容量存储设备1428的示例包括软盘驱动器、硬盘驱动器、光盘驱动器、蓝光盘驱动器、RAID系统以及数字通用盘(DVD)驱动器。图14的示例性易失性存储器1414和/或示例性大容量存储设备1428可以实现图2的系统存储器214。处理器平台1400还包括示例性RF存储器206。
图6-7的编码指令1432可以被存储在大容量存储设备1428中、易失性存储器1414中、非易失性存储器1416中和/或可移除的有形计算机可读存储介质(例如CD或DVD)上。
图15是能够执行图8的指令以实现图3的示例性用户接口302、示例性后端通信器304和/或示例性RF接口306的示例性处理器平台1500的框图。处理器平台1500可以是例如服务器、个人计算机、电器、传感器监视器、或者包括处理电路的任何其他类型的物理设备。
图示示例的处理器平台1500包括处理器1512。图示示例的处理器1512是硬件。例如,处理器1512可以由来自任何期望的家族或制造商的一个或多个集成电路、逻辑电路、微处理器或控制器实现。图15的示例性处理器1512可以实现图3的示例性用户接口302、示例性后端通信器304和/或示例性RF接口306。
图示示例的处理器1512包括本地存储器1513(例如,高速缓存)。图示示例的处理器1512经由总线1518与包括易失性存储器1514和非易失性存储器1516的主存储器进行通信。易失性存储器1514可以由同步动态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)、RAMBUS动态随机存取存储器(RDRAM)和/或任何其他类型的随机存取存储器设备实现。非易失性存储器1516可以由闪存和/或任何其他期望类型的存储器设备实现。由存储器控制器控制对主存储器1514、1516的访问。
图示示例的处理器平台1500还包括接口电路1520。接口电路1520可以通过任何类型的接口标准来实现,例如以太网接口、通用串行总线(USB)和/或快速PCI接口。
在图示示例中,一个或多个输入设备1522连接到接口电路1520。输入设备1522允许用户将数据和命令输入到处理器1512中。输入设备可以通过例如音频传感器、麦克风、照相机(静止或视频)、键盘、按钮、鼠标、触摸屏、跟踪板、跟踪球、等点和/或语音识别系统实现。
一个或多个输出设备1524也连接到图示示例的接口电路1520。输出设备1524可以例如通过显示设备(例如,发光二极管(LED)、有机发光二极管(OLED)、液晶显示器、阴极射线管显示器(CRT)、触摸屏、触觉输出设备、发光二极管(LED)、打印机和/或扬声器)实现。因此,图示示例的接口电路1520通常包括图形驱动器卡、图形驱动器芯片或图形驱动器处理器。
图示示例的接口电路1520还包括通信设备(例如发送器、接收器、收发器、调制解调器和/或网络接口卡),以便于与外部机器(例如,任何种类的计算设备)经由网络1526(例如,以太网连接、数字用户线路(DSL)、电话线、同轴电缆、蜂窝电话系统等)交换数据。
示例性处理器平台1500还包括用于与示例性嵌入式设备102或另一设备进行通信的示例性天线308。
图示示例的处理器平台1500还包括用于存储软件和/或数据的一个或多个大容量存储设备1528。这种大容量存储设备1528的示例包括软盘驱动器、硬盘驱动器、光盘驱动器、蓝光盘驱动器、RAID系统以及数字通用盘(DVD)驱动器。
图8的编码指令1532可以被存储在大容量存储设备1528中、易失性存储器1514中、非易失性存储器1516中和/或可移除的有形计算机可读存储介质(例如CD或DVD)上。
图16是能够执行图9-10的指令以实现图4的示例性用户接口402、示例性用户账户接口404和/或示例性配置数据接口406的示例性处理器平台1600的框图。处理器平台1600可以是例如服务器、个人计算机、电器、传感器监视器、或者包括处理电路的任何其他类型的物理设备。
图示示例的处理器平台1600包括处理器1612。图示示例的处理器1612是硬件。例如,处理器1612可以由来自任何期望的家族或制造商的一个或多个集成电路、逻辑电路、微处理器或控制器实现。图16的示例性处理器1612可以实现图4的示例性用户接口402、示例性用户账户接口404和/或示例性配置数据接口406。
图示示例的处理器1612包括本地存储器1613(例如,高速缓存)。图示示例的处理器1612经由总线1618与包括易失性存储器1614和非易失性存储器1616的主存储器进行通信。易失性存储器1614可以由同步动态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)、RAMBUS动态随机存取存储器(RDRAM)和/或任何其他类型的随机存取存储器设备实现。非易失性存储器1616可以由闪存和/或任何其他期望类型的存储器设备实现。由存储器控制器控制对主存储器1614、1616的访问。
图示示例的处理器平台1600还包括接口电路1620。接口电路1620可以通过任何类型的接口标准来实现,例如以太网接口、通用串行总线(USB)和/或快速PCI接口。
在图示示例中,一个或多个输入设备1622连接到接口电路1620。输入设备1622允许用户将数据和命令输入到处理器1612中。输入设备可以通过例如音频传感器、麦克风、照相机(静止或视频)、键盘、按钮、鼠标、触摸屏、跟踪板、跟踪球、等点和/或语音识别系统实现。
一个或多个输出设备1624也连接到图示示例的接口电路1620。输出设备1624可以例如通过显示设备(例如,发光二极管(LED)、有机发光二极管(OLED)、液晶显示器、阴极射线管显示器(CRT)、触摸屏、触觉输出设备、发光二极管(LED)、打印机和/或扬声器)实现。因此,图示示例的接口电路1620通常包括图形驱动器卡、图形驱动器芯片或图形驱动器处理器。
图示示例的接口电路1620还包括通信设备(例如发送器、接收器、收发器、调制解调器和/或网络接口卡),以便于与外部机器(例如,任何种类的计算设备)经由网络1626(例如,以太网连接、数字用户线路(DSL)、电话线、同轴电缆、蜂窝电话系统等)交换数据。
图示示例的处理器平台1600还包括用于存储软件和/或数据的一个或多个大容量存储设备1628。这种大容量存储设备1628的示例包括软盘驱动器、硬盘驱动器、光盘驱动器、蓝光盘驱动器、RAID系统以及数字通用盘(DVD)驱动器。
图9-10的编码指令1632可以被存储在大容量存储设备1628中、易失性存储器1614中、非易失性存储器1616中和/或可移除的有形计算机可读存储介质(例如CD或DVD)上。
图17是能够执行图11-12的指令以实现图5的示例性注册处理机502和/或示例性嵌入式设备配置处理机504的示例性处理器平台1700的框图。处理器平台1700可以是例如服务器、个人计算机、电器、传感器监视器、或者包括处理电路的任何其他类型的物理设备。
图示示例的处理器平台1700包括处理器1712。图示示例的处理器1712是硬件。例如,处理器1712可以由来自任何期望的家族或制造商的一个或多个集成电路、逻辑电路、微处理器或控制器实现。图17的示例性处理器1712可以实现图5的示例性注册处理机502和/或示例性嵌入式设备配置处理机504。
图示示例的处理器1712包括本地存储器1713(例如,高速缓存)。图示示例的处理器1712经由总线1718与包括易失性存储器1714和非易失性存储器1716的主存储器进行通信。易失性存储器1714可以由同步动态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)、RAMBUS动态随机存取存储器(RDRAM)和/或任何其他类型的随机存取存储器设备实现。非易失性存储器1716可以由闪存和/或任何其他期望类型的存储器设备实现。由存储器控制器控制对主存储器1714、1716的访问。
图示示例的处理器平台1700还包括接口电路1720。接口电路1720可以通过任何类型的接口标准来实现,例如以太网接口、通用串行总线(USB)和/或快速PCI接口。
在图示示例中,一个或多个输入设备1722连接到接口电路1720。输入设备1722允许用户将数据和命令输入到处理器1712中。输入设备可以通过例如音频传感器、麦克风、照相机(静止或视频)、键盘、按钮、鼠标、触摸屏、跟踪板、跟踪球、等点和/或语音识别系统实现。
一个或多个输出设备1724也连接到图示示例的接口电路1720。输出设备1724可以例如通过显示设备(例如,发光二极管(LED)、有机发光二极管(OLED)、液晶显示器、阴极射线管显示器(CRT)、触摸屏、触觉输出设备、发光二极管(LED)、打印机和/或扬声器)实现。因此,图示示例的接口电路1720通常包括图形驱动器卡、图形驱动器芯片或图形驱动器处理器。
图示示例的接口电路1720还包括通信设备(例如发送器、接收器、收发器、调制解调器和/或网络接口卡),以便于与外部机器(例如,任何种类的计算设备)经由网络1726(例如,以太网连接、数字用户线路(DSL)、电话线、同轴电缆、蜂窝电话系统等)交换数据。
图示示例的处理器平台1700还包括用于存储软件和/或数据的一个或多个大容量存储设备1728。这种大容量存储设备1728的示例包括软盘驱动器、硬盘驱动器、光盘驱动器、蓝光盘驱动器、RAID系统以及数字通用盘(DVD)驱动器。图17的示例性易失性存储器1714和/或示例性大容量存储设备1728可以实现图5的配置存储库506。
图11-12的编码指令1732可以被存储在大容量存储设备1728中、易失性存储器1714中、非易失性存储器1716中和/或可移除的有形计算机可读存储介质(例如CD或DVD)上。
示例可以包括如下主题,例如根据本文描述的实施例和示例的方法,用于执行方法的动作的单元,包括指令的至少一种机器可读介质,在由机器执行时所述指令使得机器执行方法的动作,或者用于配置嵌入式设备的装置或系统。
示例1是一种装置,其包括:网络接口,用于将所述装置与网络通信地耦合;天线,用于接收包括1)配置数据和2)电力的射频信号;存储器,其耦合到所述天线以接收所述电力并存储所述配置数据;网络配置器,其从所述存储器取回所述配置数据,并且基于取回的配置数据来配置所述网络接口;以及除所述天线以外的电源,其在所述网络配置器的操作期间向所述存储器和所述网络配置器提供电力。
示例2包括示例1的主题,并且还包括第二存储器,用于存储由所述网络配置器基于所述配置数据生成的网络配置。
示例3包括示例1或示例2的主题,并且还包括后端通信器,用于基于所述配置数据经由所述网络接口与后端服务器进行通信。
示例4包括示例3的主题,其中,所述后端通信器还将从所述后端服务器接收到的配置信息存储在所述装置的第二存储器中。
示例5包括示例3的主题,并且还包括射频通信器,用于经由所述天线与不同于所述装置的计算设备进行通信,以将所述装置的设备标识符发送到所述计算设备,接收所述配置数据,并且将所述配置数据存储在所述存储器中。
示例6包括示例5的主题,并且还包括后端通信器,用于将所述设备标识符发送到所述后端服务器,以与由所述网络配置器发送的设备标识符进行比较。
示例7包括示例5的主题,其中,所述射频通信器根据短程无线通信协议进行操作。
示例8包括示例7的主题,其中,所述短程无线通信协议是近场通信。
示例9包括示例1或示例2的主题,其中,所述配置数据被加密,并且所述网络配置器在配置所述网络接口之前对所述配置数据进行解密。
示例10是一种方法,包括:在第一时间段期间:使用由嵌入式设备的天线接收到的射频信号对存储器提供电力;存储由所述天线接收到的配置数据;以及在所述第一时间段之后,在第二时间段期间:使用不同于所述天线的电源为所述存储器提供电力;从所述存储器取回所述配置数据;以及基于所述配置数据来配置所述嵌入式设备的网络接口。
示例11包括示例11的主题,并且还包括:将由所述网络配置器生成的网络配置存储在所述嵌入式设备的第二存储器中。
示例12包括示例10或示例11的主题,并且还包括:基于所述配置数据经由所述网络接口与后端服务器进行通信。
示例13包括示例12的主题,并且还包括:将从所述后端服务器接收到的配置信息存储在所述嵌入式设备的第二存储器中。
示例14包括示例12的主题,并且还包括在所述第一时间段期间经由所述天线:将所述嵌入式设备的设备标识符发送到不同于所述嵌入式设备的计算设备;从所述计算设备接收配置数据;并且将所述配置数据存储在所述存储器中。
示例15包括示例14的主题,并且还包括:在所述第二时间段期间,将所述设备标识符发送到所述后端服务器,以与在所述第一时间段期间发送的设备标识符进行比较。
示例16包括示例10或示例11的主题,其中,所述配置数据被加密,并且还包括在配置所述网络接口之前对所述配置数据进行解密。
示例17是至少一种其上存储有指令的计算机可读存储介质,所述指令在被执行时使机器用于执行上述示例10-16中任一项的方法。
示例18是一种装置,被配置为执行上述示例10-16中任一项的方法。示例18可以包括用于执行上述示例10-16中任一项的方法的一个或多个单元。
示例19是一种用于配置嵌入式设备的系统,所述系统包括:后端服务器;待配置的嵌入式设备;以及计算设备,用于无线地向所述嵌入式设备的一部分提供电力,并且将配置数据从所述后端服务器无线发送到所述嵌入式设备,其中,所述嵌入式设备包括在从所述计算设备接收到所述配置数据之后开启的电源,并且所述嵌入式设备用于基于所述配置数据来配置所述嵌入式设备的网络接口。
示例20包括示例19的主题,其中,所述嵌入式设备包括存储器,用于存储由所述嵌入式设备基于所述配置数据生成的网络配置。
示例21包括示例19或示例20的主题,其中,所述嵌入式设备经由所述网络接口与所述后端服务器进行通信,并且用于将从所述后端服务器接收到的配置信息存储在所述装置的存储器中。
示例22包括示例19的主题,其中,所述嵌入式设备经由所述嵌入式设备的天线与所述计算设备通信,以将所述嵌入式设备的设备标识符发送到所述计算设备,接收配置数据,并且将所述配置数据存储在所述存储器中。
示例23包括示例22的主题,其中,所述嵌入式设备将所述设备标识符发送到所述后端服务器,以用于与发送到所述计算设备的设备标识符进行比较。
示例24包括示例19-20的主题,其中,所述配置数据被加密,并且所述嵌入式设备在配置所述网络接口之前对所述配置数据进行解密。
根据上述内容,可以理解,上面公开的方法、装置和制品便于嵌入式设备的有效配置。在一些实现中,嵌入式设备可以由用户配置,而不需要从其包装中移除嵌入式设备。例如,可以配置托盘上的多个嵌入式设备,而不需要将设备从托盘或其包装中移除。在这样的示例中,相对于必须将设备从包装中取出、配置以及然后重新包装的系统,减少了配置嵌入式设备所需的时间和精力。此外,通过在配置的初始阶段期间利用无线感应电源,可以减少嵌入式设备的电力需求(例如电池使用),这是因为用于嵌入式设备的内置电源可以保持关闭/未使用,直到嵌入式设备加电为止。
虽然在此已经公开了特定的示例性方法、装置和制造物品,但是本申请的覆盖范围不限于此。相反,本申请涵盖了完全落入本申请的权利要求范围内的所有方法、装置和制品。
Claims (16)
1.一种待被无线地配置的装置,所述装置包括:
网络接口,用于将所述装置与网络通信地耦合;
天线,用于接收包括1)配置数据和2)电力的射频信号;
存储器,其耦合到所述天线以接收所述电力并存储所述配置数据;
网络配置器,其从所述存储器取回所述配置数据,并且基于取回的配置数据来配置所述网络接口;
除所述天线以外的电源,其在所述网络配置器的操作期间向所述存储器和所述网络配置器提供电力;
射频通信器,用于在所述装置的部署之前,在经由所述天线提供电力的同时,经由所述天线与不同于所述装置的计算设备进行通信,以将所述装置的设备标识符发送到所述计算设备,接收所述配置数据,并将所述配置数据存储在所述存储器中;以及
后端通信器,用于在所述装置的部署之后,经由所述网络将所述设备标识符发送到后端服务器,以与由所述射频通信器发送的所述设备标识符进行比较。
2.根据权利要求1所述的装置,还包括第二存储器,用于存储由所述网络配置器基于所述配置数据生成的网络配置。
3.根据权利要求2所述的装置,其中,所述后端通信器还用于将从所述后端服务器接收到的配置信息存储在所述装置的第二存储器内。
4.根据权利要求1所述的装置,其中,所述射频通信器根据短程无线通信协议进行操作。
5.根据权利要求4所述的装置,其中,所述短程无线通信协议是近场通信。
6.根据权利要求1或2所述的装置,其中,所述配置数据被加密,并且所述网络配置器用于在配置所述网络接口之前对所述配置数据进行解密。
7.一种用于配置嵌入式设备的方法,所述方法包括:
在第一时间段期间:
使用由所述嵌入式设备的天线接收到的射频信号向存储器提供电力;
将所述嵌入式设备的设备标识符发送到不同于所述嵌入式设备的计算设备;
存储由所述天线从所述计算设备接收到的配置数据;
在所述第一时间段之后,在第二时间段期间:
使用不同于所述天线的电源为所述存储器提供电力;
从所述存储器取回所述配置数据;
基于所述配置数据来配置所述嵌入式设备的网络接口以用于网络上的通信;以及
将所述设备标识符经由所述网络发送到后端服务器,以与在所述第一时间段期间发送的所述设备标识符进行比较。
8.根据权利要求7所述的方法,还将由网络配置器生成的网络配置存储在所述嵌入式设备的第二存储器中。
9.根据权利要求7或8所述的方法,还包括:基于所述配置数据经由所述网络接口与所述后端服务器进行通信。
10.根据权利要求9所述的方法,还包括:将从所述后端服务器接收到的配置信息存储在所述嵌入式设备的第二存储器中。
11.根据权利要求7或8所述的方法,其中,所述配置数据被加密,并且所述方法还包括在配置所述网络接口之前对所述配置数据进行解密。
12.根据权利要求7所述的方法,还包括:响应于将所述设备标识符经由所述网络发送到所述后端服务器,经由所述网络接收供所述嵌入式设备使用的签名的证书。
13.根据权利要求7所述的方法,其中,发送所述设备标识符包括:
生成包括所述设备标识符的证书签名请求;以及
将所述证书签名请求发送到所述后端服务器。
14.一种包括代码的机器可读介质,所述代码在被执行时使机器执行根据权利要求7-13中的任意一项所述的方法。
15.一种用于配置嵌入式设备的设备,包括:
存储指令的存储器;以及
耦合到所述存储器的处理器,所述指令在被所述处理器执行时执行根据权利要求7-13中的任一项所述的方法。
16.一种用于配置嵌入式设备的装置,包括用于执行根据权利要求7-13中的任一项所述的方法的单元。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/752,524 | 2015-06-26 | ||
US14/752,524 US9722864B2 (en) | 2015-06-26 | 2015-06-26 | Systems, methods, and apparatus to configure embedded devices |
PCT/US2016/032468 WO2016209405A1 (en) | 2015-06-26 | 2016-05-13 | Systems, methods, and apparatus to configure embedded devices |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108028770A CN108028770A (zh) | 2018-05-11 |
CN108028770B true CN108028770B (zh) | 2021-07-06 |
Family
ID=57585287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680030181.XA Active CN108028770B (zh) | 2015-06-26 | 2016-05-13 | 用于配置嵌入式设备的系统、方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9722864B2 (zh) |
EP (1) | EP3314977B1 (zh) |
CN (1) | CN108028770B (zh) |
WO (1) | WO2016209405A1 (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9847569B2 (en) | 2015-07-03 | 2017-12-19 | Afero, Inc. | Modular antenna for integration with an internet of things (IOT) hub and associated systems and methods |
US9974015B2 (en) | 2015-07-03 | 2018-05-15 | Afero, Inc. | Embedded internet of things (IOT) hub for integration with an appliance and associated systems and methods |
US10111070B2 (en) | 2015-07-03 | 2018-10-23 | Afero, Inc. | Embedded internet of things (IOT) hub slot for an appliance and associated systems and methods |
ES2730761T3 (es) * | 2015-09-24 | 2019-11-12 | Guangdong Oppo Mobile Telecommunications Corp Ltd | Terminal móvil, adaptador de suministro de alimentación y método de actualización de los mismos |
US10270881B2 (en) * | 2015-11-19 | 2019-04-23 | Adobe Inc. | Real-world user profiles via the internet of things |
KR102546654B1 (ko) * | 2015-12-11 | 2023-06-23 | 삼성전자주식회사 | 조명 시스템, 조명 장치 및 그 제어 방법 |
US10531653B2 (en) * | 2016-02-03 | 2020-01-14 | Iot Sense, Llc | Pest trap monitor |
US11294440B2 (en) * | 2017-11-17 | 2022-04-05 | Hewlett-Packard Development Company, L.P. | Peripheral device configurations by host systems |
USD886143S1 (en) | 2018-12-14 | 2020-06-02 | Nutanix, Inc. | Display screen or portion thereof with a user interface for database time-machine |
US10817157B2 (en) | 2018-12-20 | 2020-10-27 | Nutanix, Inc. | User interface for database management services |
US11816066B2 (en) | 2018-12-27 | 2023-11-14 | Nutanix, Inc. | System and method for protecting databases in a hyperconverged infrastructure system |
US11010336B2 (en) | 2018-12-27 | 2021-05-18 | Nutanix, Inc. | System and method for provisioning databases in a hyperconverged infrastructure system |
EP3835950B1 (en) * | 2019-12-09 | 2023-10-25 | Diomidis Spinellis | Method for configuring an embedded device |
US11604705B2 (en) | 2020-08-14 | 2023-03-14 | Nutanix, Inc. | System and method for cloning as SQL server AG databases in a hyperconverged system |
US11907167B2 (en) | 2020-08-28 | 2024-02-20 | Nutanix, Inc. | Multi-cluster database management services |
US11640340B2 (en) | 2020-10-20 | 2023-05-02 | Nutanix, Inc. | System and method for backing up highly available source databases in a hyperconverged system |
US11604806B2 (en) | 2020-12-28 | 2023-03-14 | Nutanix, Inc. | System and method for highly available database service |
CA3203413A1 (en) * | 2020-12-30 | 2022-07-07 | Christopher Bailey | Systems, methods, computer-readable media, and devices for authenticating users |
US11892918B2 (en) | 2021-03-22 | 2024-02-06 | Nutanix, Inc. | System and method for availability group database patching |
US11803368B2 (en) | 2021-10-01 | 2023-10-31 | Nutanix, Inc. | Network learning to control delivery of updates |
US12105683B2 (en) | 2021-10-21 | 2024-10-01 | Nutanix, Inc. | System and method for creating template for database services |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101223537A (zh) * | 2005-07-12 | 2008-07-16 | 英特尔公司 | 能够嵌入接收机信号强度指示的射频识别标签 |
CN101887752A (zh) * | 2009-05-13 | 2010-11-17 | M·N·阿布杜拉 | 编程相变存储器的无线接口 |
WO2012129796A1 (en) * | 2011-03-30 | 2012-10-04 | Siemens Aktiengesellschaft | A method for configuring a wireless device and a wireless device and system |
CN102948206A (zh) * | 2010-04-30 | 2013-02-27 | 诺基亚公司 | 用于在蜂窝覆盖之外提供移动服务的方法和装置 |
CN103502991A (zh) * | 2011-05-06 | 2014-01-08 | 诺基亚公司 | 设备配置和编程数据的确定 |
CN103703430A (zh) * | 2011-07-01 | 2014-04-02 | 英特尔公司 | 用于维持到远程应用服务器的连接性的系统和方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3941620B2 (ja) * | 2001-08-31 | 2007-07-04 | 株式会社デンソーウェーブ | Idタグ内蔵電子機器 |
US20050086328A1 (en) * | 2003-10-17 | 2005-04-21 | Landram Fredrick J. | Self configuring mobile device and system |
US7825776B2 (en) * | 2006-08-17 | 2010-11-02 | Intel Corporation | Device configuration with RFID |
WO2011154587A1 (en) * | 2010-06-08 | 2011-12-15 | Nokia Corporation | Data access during wireless communication |
CN104966902B (zh) | 2010-11-23 | 2017-11-21 | 华为技术有限公司 | 天线装置、天线系统和天线电调方法 |
US8811896B2 (en) * | 2011-01-07 | 2014-08-19 | Texas Instruments Incorporated | Non-volatile memory for contactless systems |
US9916169B2 (en) * | 2011-04-15 | 2018-03-13 | Polycom, Inc. | System and method for in-box electronic device provisioning |
US9288528B2 (en) | 2011-05-26 | 2016-03-15 | Electronic Imp Incorporated | Modularized control system to enable networked control and sensing of other devices |
US8984107B2 (en) | 2011-05-26 | 2015-03-17 | Electric Imp Incorporated | Optically configured modularized control system to enable wireless network control and sensing of other devices |
US9184801B2 (en) * | 2013-07-12 | 2015-11-10 | Apple Inc. | Apparatus and methods for near-field communication based device configuration and management |
US9251455B2 (en) | 2013-08-22 | 2016-02-02 | Verily Life Sciences Llc | Using unique identifiers to retrieve configuration data for tag devices |
-
2015
- 2015-06-26 US US14/752,524 patent/US9722864B2/en active Active
-
2016
- 2016-05-13 EP EP16814887.2A patent/EP3314977B1/en active Active
- 2016-05-13 CN CN201680030181.XA patent/CN108028770B/zh active Active
- 2016-05-13 WO PCT/US2016/032468 patent/WO2016209405A1/en unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101223537A (zh) * | 2005-07-12 | 2008-07-16 | 英特尔公司 | 能够嵌入接收机信号强度指示的射频识别标签 |
CN101887752A (zh) * | 2009-05-13 | 2010-11-17 | M·N·阿布杜拉 | 编程相变存储器的无线接口 |
CN102948206A (zh) * | 2010-04-30 | 2013-02-27 | 诺基亚公司 | 用于在蜂窝覆盖之外提供移动服务的方法和装置 |
WO2012129796A1 (en) * | 2011-03-30 | 2012-10-04 | Siemens Aktiengesellschaft | A method for configuring a wireless device and a wireless device and system |
CN103502991A (zh) * | 2011-05-06 | 2014-01-08 | 诺基亚公司 | 设备配置和编程数据的确定 |
CN103703430A (zh) * | 2011-07-01 | 2014-04-02 | 英特尔公司 | 用于维持到远程应用服务器的连接性的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3314977A4 (en) | 2019-01-16 |
CN108028770A (zh) | 2018-05-11 |
WO2016209405A1 (en) | 2016-12-29 |
US9722864B2 (en) | 2017-08-01 |
EP3314977A1 (en) | 2018-05-02 |
US20160380809A1 (en) | 2016-12-29 |
EP3314977B1 (en) | 2021-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108028770B (zh) | 用于配置嵌入式设备的系统、方法和装置 | |
US20240155531A1 (en) | Method and apparatus for registering wireless device in wireless communication system | |
CN113031980B (zh) | Ota系统软件升级控制方法及终端设备 | |
US20230208626A1 (en) | Configuration Systems and Methods for Secure Operation of Networked Transducers | |
EP3706364B1 (en) | Security management method and security management device in home network system | |
EP2622885B1 (en) | Methods and apparatuses for access credential provisioning | |
CN105992306B (zh) | 一种终端与家庭网关的绑定方法 | |
US9614723B2 (en) | Device commissioning | |
KR20160003992A (ko) | eUICC(embedded Universal Integrated Circuit Card)를 위한 프로파일 설치 방법 및 장치 | |
WO2015038956A1 (en) | Provisioning a plurality of computing devices using near-field communication | |
US9271151B2 (en) | Fingerprinting a mobile device through near field communication | |
CN104869609A (zh) | 信息提供方法和装置 | |
US20170034218A1 (en) | Network node security using short range communication | |
EP2874465B1 (en) | Method and system for remote equipment data installation | |
KR20150072240A (ko) | 전기제품 및 전기제품의 펌웨어 업데이트 방법 | |
CN112689277A (zh) | 一种为设备配置网络的方法、装置及系统 | |
CN114731283B (zh) | 在设备到设备捆绑包或配置文件传送期间的相互设备到设备认证方法和设备 | |
CN109450718B (zh) | 无线路由设备的远程诊断方法和装置 | |
KR102180481B1 (ko) | 번들 정보를 제공하는 방법 및 장치 | |
KR20170134857A (ko) | 별도의 신호장치를 이용한 2채널 인증 방법 | |
KR20170065716A (ko) | 별도의 신호장치를 이용한 2채널 인증 방법 | |
KR20180056476A (ko) | 차량항법장치와 그 인증 방법 | |
KR20170134883A (ko) | 근거리장치와 그 인증 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |