CN107071052A - 一种给物联网设备提供云后端服务的装置、***和方法 - Google Patents
一种给物联网设备提供云后端服务的装置、***和方法 Download PDFInfo
- Publication number
- CN107071052A CN107071052A CN201710347093.9A CN201710347093A CN107071052A CN 107071052 A CN107071052 A CN 107071052A CN 201710347093 A CN201710347093 A CN 201710347093A CN 107071052 A CN107071052 A CN 107071052A
- Authority
- CN
- China
- Prior art keywords
- internet
- things
- equipment
- module
- things equipment
- 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.)
- Granted
Links
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- 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/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- 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/50—Network services
- H04L67/53—Network services using third party service providers
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Telephonic Communication Services (AREA)
Abstract
一种被配置为向物联网设备提供对云资源访问的***。该***包括被配置为提供从由数据管理,文件管理,用户管理和设备管理组成的组中选择的至少一个服务的后端***。该***还包括物联网客户端设备,其包括与物联网设备通信的物联网设备和后端服务模块,所述物联网客户端设备被配置为通过广域网与后端***进行通信。所述后端服务模块包括物联网协议引擎,其被配置为从所述物联网设备传送的消息和与所述物联网协议引擎通信的后端服务API引擎来识别所述后端***的API调用,所述后端服务模块被配置为生成所识别的API调用。后端服务模块还包括用于将API呼叫通信到后端***的互联网栈。
Description
技术领域:
本发明涉及为物联网设备和移动应用的开发提供后端服务的技术领域,尤其涉及到使用预建的云后端基础设施和物联网设备接口之间的硬件结合再配合上软件以辅助物联网设备应用和开发的装置、***和方法。
背景技术:
预测展望在2020年将存在500-750亿个物联网设备,需要应用软件来运行每个这样的设备,此外,大多数这些设备需要访问互联网,随着物联网应用的普及和复杂性的增加,更过的应用开发人员使用第三方应用开发平台,以便更快的开发物联网设备的同时降低成本,一般而言,物联网设备还包括某种形式的相关联的用户界面,其通常以手持电子设备为载体并以移动应用的形式被提供,当然也可以使用网络应用程序。
应用开发平台可以提供数据和文件存储,用户和设备管理以及推送通知以及应用可以通过网络与之交互的其他功能。大多数这些平台是为移动应用程序开发而开发和设计的。通常,移动应用开发者使用为特定平台提供的API(应用程序界面)来访问这些功能。然而,这些平台的API不容易适用于物联网设备的宽泛“宇宙”。
为物联网应用程序调整这些平台创造了一些导致开发延迟和增加开发成本的问题。第一个问题是物联网设备包括更广泛和多样的底层硬件和软件操作***环境。因此,平台开发人员无法想出几个SDK(软件开发工具包)来覆盖大多数应用程序开发。这与移动应用的“宇宙”形成对比。在这里,平台开发者可能只需要三个SDK来覆盖大多数应用,例如,用于IOS,Android移动应用和其他网络应用的SDK。在物联网的形势下,需要解决更多的软件操作***问题和更多的硬件变化问题。这使得平台开发人员几乎不可能满足物联网应用程序开发的需求。
第二个问题是,大多数物联网开发人员具有与移动应用开发人员和后端开发人员相比非常不同的技能和体验。上述结果是由于物联网开发人员使用的开发工具和开发环境与移动应用开发人员和后端开发人员通常使用的开发工具和开发环境大不相同。因此,即使存在适合用作物联网开发***的平台,物联网开发工程师也可能没有快速使用平台的知识和技能。
参考图5,根据现有技术示出了物联网开发过程500的流程图。例如,采用过程500,当在物联网设备的开发和与物联网设备结合使用的后端的开发过程中,还包括开发与物联网设备一起使用的网络应用程序或移动应用程序。
过程500包括设备开发502,后端开发504和应用开发506,其中,设备开发502的设备测试包括动作503。后端开发的后端测试504包括动作505,应用开发506的应用测试包括动作507,过程500还包括测试物联网设备和物联网设备和后端集成测试508的动作、应用测试和应用程序和后端集成测试510的动作以及***集成测试512的动作。
在物联网设备通过在动作503的设备测试时,设备开发502结束,并且过程500移动到测试物联网设备和物联网设备和后端集成测试508的动作。否则,过程500将返回到设备开发502的开始以便后续发展。如果后端开发504在动作505处通过后端测试,则后端开发504结束,并且过程500移动到测试物联网设备和物联网设备和后端集成测试508的动作以及测试应用和应用程序和后端集成测试510的动作。否则,过程500返回到后端开发504的开始以便后续发展。如果应用开发506在动作507处通过应用测试,则应用开发506结束,并且过程500移动到测试应用和应用程序和后端集成测试510的行为。否则,过程500返回到后端开发506的开始以便后续发展。
当测试物联网设备和物联网设备和后端集成测试508以及测试app和应用程序和后端集成测试510的每个动作被成功地完成时,过程500移动到***集成测试512的动作。测试***集成的动作512包括物联网***的操作的总体测试,其中物联网设备,后端和应用一起使用。当***集成测试512的动作成功完成时,过程500结束。例如,当没有由于***集成测试512的动作而导致的设备问题或应用问题时。
图5示出了当开发人员执行物联网设备和后端的定制开发以支持物联网设备时面临的问题和挑战。例如,开发者必须在设备开发502中耗费时间和资源,以开发包括在物联网设备中的互联网连接硬件和软件。另外,开发者必须在后端开发504中耗费大量的时间和资源以开发后端架构,后端数据库和后端专用的用于与物联网设备一起使用的API。
前述挑战激励一些开发者为了减少与完全开发项目相关联的时间和成本而采用第三方后端。然而,即使这种方法也无法解决上述关于过程500的一些重大问题。如下面更详细地描述的,使用第三方后端的物联网设备的开发不消除开发硬件和软件以支持设备的互联网连接,也不需要学习***中使用的复杂API。
图6示出了使用第三方后端服务开发物联网的流程图。过程600包括设备开发602,后端开发604和应用开发606中的每一个。设备开发602包括在动作603的设备测试。后端开发包括在动作605的后端测试。应用开发606包括在动作607的应用测试过程600还包括测试物联网设备和物联网设备和后端集成测试608的动作,测试应用和应用程序和后端集成测试610的动作以及***集成测试612的动作。
如果物联网设备在动作603通过设备测试,则设备开发602结束,并且过程600移动到测试物联网设备和物联网设备和后端集成测试608的动作。否则,过程600返回到设备的开始开发602进行后续开发。如果后端开发604在动作605处通过后端测试,则后端开发604结束,并且过程600移动到测试物联网设备和物联网设备和后端集成测试608的动作以及测试应用和应用程序和后端集成测试610的动作。否则,过程600返回到用于后续开发的后端开发604的开始。如果应用开发606在动作607处通过应用测试,则应用开发606结束,并且过程600移动到测试应用和应用程序和后端集成测试610的动作。否则,过程600返回到后端开发606的开始以便跟随开发。
当成功地完成测试物联网设备和物联网设备和后端集成测试608以及测试app和应用程序和后端集成测试610的每个动作时,过程600移动到***集成测试612的动作。***集成测试612的动作包括对物联网***的操作的整体测试,其中物联网设备,后端和应用一起使用。当***集成测试612的动作成功完成时,过程600结束。例如,当没有由于***集成测试612的动作而导致的设备问题或应用问题时。
过程600说明尽管在物联网开发过程中集成了第三方后端,开发人员所需的大量努力。例如,开发者必须仍然在设备开发602中耗费时间和资源,以开发包括在物联网设备中的互联网连接硬件和软件。这是尽管互联网连接是每个物联网设备的一部分。设备开发还继续需要使用专用于后端的API调用来开发云通信。此外,后端开发包括开发人员为第三方后端学习复杂API。所有这些都增加了物联网开发的复杂性。
用于物联网开发的许多平台需要开发人员理解并开发针对可能对物联网应用和移动应用开发常见的几个技术层的软件的专业知识。例如,在大多数情况下,开发人员必须具有多个技术层的专业知识,例如用户界面框架(UI),移动网络,服务器网络,应用逻辑(移动客户端和服务端),数据库操作,机器级(硬件和/或虚拟)等。通过与可提供对虚拟化数据库和虚拟化服务器资源的访问的通用后端服务的集成,可以减轻这种复杂性中的一些,但是大多数应用开发复杂性仍然是开发者的责任。
面对物联网应用开发者面临许多挑战。一方面,开发人员必须开发定制的硬件并且还开发定制的BIOS以支持在实时操作***下或没有操作***的硬件。从那里开始,物联网开发人员必须解决传感器数据收集和处理,用户界面开发等问题,以及开发硬件,软件和API调用,将数据带到云端后端***。这通常需要开发互联网连接和后端平台。此外,物联网开发人员通常还必须开发移动应用以与消费物联网设备的信息并控制物联网设备的用户交互。对所有这些元素的工作给物联网开发人员带来了巨大的负担。
发明内容:
为解决上述问题,本发明提供了一种给物联网设备提供云后端服务的装置、***和方法。
一种将云连接的后端***与物联网客户端设备集成以通过广域网向所述物联网客户端设备提供服务的方法,所述方法包括:
提供后端***,被配置为提供从由以下组成中选择的至少一个服务:数据管理,文件管理,用户管理和设备管理;
包括物联网设备和物联网客户端设备中的后端服务模块;
由所述后端服务模块接收从所述物联网设备传送到所述后端服务模块以访问所述至少一个服务中的访问请求,以所述物联网设备本地的消息格式传送的所述访问请求和非本地到后端***;
通过后端服务模块自动将访问请求转换为以后端***本地格式的API调用和配置后端***以从后端服务模块接收API呼叫来提供服务。
进一步地,还包括使用协议来编程所述物联网设备,所述协议允许开发人员以所述物联网设备本地的格式工作以生成传送到所述后端服务模块的访问请求,其中所述后端的本地格式***对物联网设备是非本地的。
进一步地,还包括当所述物联网客户端设备通电时,利用所述后端服务模块自动生成用户管理API调用以初始化所述物联网客户端设备,所述用户管理API调用包括所述物联网唯一的ID客户端设备,由后端***先前分配给物联网客户端设备的ID。
进一步地,还包括:
以硬件编程的后端服务模块,其具有将后端服务模块唯一地标识到后端***的初始ID;和当物联网客户端设备首次部署后端服务模块时,自动分配物联网客户端设备唯一的ID;
其中所述后端***包括至少一个数据库,其中所述物联网客户端设备包括至少一个传感器,并且其中所述方法还包括:
生成与所述后端服务模块的数据管理API调用,以将来自所述至少一个传感器的传感器输出数据传送到所述后端***和将传感器输出数据存储在至少一个数据库中,使用ID存储的传感器输出数据将传感器输出数据与物联网客户端设备相关联;
其中所述后端***包括至少一个数据库,其中所述物联网客户端设备包括至少一个致动器,并且其中所述方法还包括:
与所述后端服务模块一起生成设备管理API调用,以将所述至少一个致动器的状态传达到所述后端***和将致动器的状态存储在至少一个数据库中,使用ID存储的致动器的状态将该状态与物联网客户端设备相关联。
进一步地,还包括当所述物联网客户端设备首先经由所述广域网与所述后端***通信时,由所述后端***采用自动分配所述物联网客户端设备唯一的ID的ID分配算法。
一种被配置为向物联网设备提供对云资源的访问的***,所述***包括:
后端***,被配置为提供从由以下组成的组中选择的至少一个服务:数据管理,文件管理,用户管理和设备管理和物联网设备与所述物联网设备通信的后端服务模块的物联网客户端设备,所述物联网客户端设备被配置为通过广域网与所述后端***通信;
其中,所述后端服务模块包括被配置为从所述物联网设备传送的消息和与所述物联网协议引擎通信的后端服务API引擎来识别所述后端***的API调用的物联网协议引擎,所述后端服务模块被配置为生成识别API调用;
其中,所述后端服务模块包括用于将所述API调用与所述后端***进行通信的互联网栈;
其中,所述消息包括对所述至少一个服务的访问请求,以及所述API调用由所述后端***处理以提供所请求的服务。
进一步地,其中所述后端服务模块被包括在包括处理器和耦合到所述处理器的存储器的硬件中,所述存储器被配置为存储所述API引擎,所述物联网协议引擎和所述互联网栈;
其中所述后端服务模块包括物联网设备接口,所述物联网设备接口被配置为接收所述消息并且在从所述后端***接收之后将所请求的服务传送到所述物联网设备;
其中所述消息是从包括数据存储/检索消息,发布/子消息,添加/删除传感器消息和数据库创建/读取/写入/删除消息的组中选择的组;
其中,所述API调用是从包括数据管理呼叫,用户管理呼叫,设备管理呼叫,即时消息收发呼叫,企业接入标识呼叫,加密呼叫和一个社交网络集成电话。
进一步地,其中所述物联网设备包括加密/解密引擎;
其中,所述后端服务模块包括加密/解密引擎;
其中,消息以加密的形式从物联网设备传送到后端服务模块,并且API调用从后端服务模块以加密形式传送到后端***。
一种用于与物联网设备集成以向所述物联网设备提供对云资源的访问的模块,所述模块包括:
一个物联网协议引擎,被配置为从从物联网设备传送的消息中识别针对云资源的API调用;
与物联网协议引擎通信的云资源API引擎,云资源模块被配置为生成所识别的API调用,以及用于将API调用通信到云资源的互联网堆栈;
其中,所述消息包括对由所述云资源提供的至少一个服务的访问请求,以及所述API调用由所述云资源处理以提供所请求的服务。
进一步地,其中所述模块被包括在包括处理器和耦合到所述处理器的存储器的硬件中,所述存储器被配置为存储所述云资源API引擎,所述物联网协议引擎和所述互联网栈;
其中,所述模块被提供为软件模块,所述软件模块被配置为与所述物联网设备本地的软件集成。
因此,需要有助于物联网开发人员处理物联网应用开发的各种任务的方法。例如,本文描述的实施例可以帮助物联网开发商开发用于物联网设备的移动和/或web应用。
在至少一个的实施例中,后端平台可以是使物联网应用开发者能够通过访问由后端平台提供的功能和服务来丰富其移动和物联网应用的***。后端平台可以提供各种预定义功能和API,为开发移动和物联网应用程序提供有用的服务。后端平台可以提供可以在移动应用和物联网应用中使用的API,以提供诸如支付服务,用户管理,数据服务(例如,存储,搜索等),日志记录等的服务。通过提供这样的服务,后端平台可以降低开发物联网应用程序和相关移动应用程序的难度。
在至少一个实施例中,物联网应用开发者可以通过将其应用与后端平台接口集成来访问后端平台的服务。在其他实施例中,物联网应用程序开发人员可以使用其他机制(如Web应用程序,Web服务等)与后端平台服务集成。
装置,***和方法提供物联网应用后端服务。根据实施例,后端平台可以用作移动应用后端平台或者物联网应用后端平台,或两者都可以。本文描述的各种实施例涉及基于云的架构中的物联网应用开发。在各种实施例中的至少一个中,物联网应用被设计为与网络上的后端通信。
在至少一个实施例中,能够使物联网应用程序开发人员设计一个物联网应用程序,以经由BaaS芯片或模块通过网络与后端通信。根据这些实施例,当物联网应用与后端通信时,它首先通过硬件接口上的预定义硬件协议使用预定义的协议与BaaS芯片或模块进行通信。在这些实施例中,BaaS芯片或模块实现用于访问后端服务的所有API调用。例如,BaaS芯片接收来自物联网应用程序的通信,并将物联网请求转换为API调用。然后,BaaS芯片向后端发出API调用,以获取所请求的服务,然后将该服务中继到物联网应用程序。根据这些实施例,当后端向物联网应用提供服务时,它首先与BaaS芯片或BaaS模块进行通信。BaaS芯片或BaaS模块将服务传递给物联网应用程序。
在这些实施例中,物联网应用不进行任何API调用,因为后端和物联网应用之间的通信是通过BaaS芯片或BaaS模块。相反,物联网应用程序遵循物联网应用程序开发人员熟悉的简单协议。该协议被配置为以物联网应用程序开发人员熟悉的格式实现API调用的子集。BaaS芯片或BaaS模块实现了全套API调用。在某些情况下,BaaS芯片或BaaS模块对某些功能实现了一些API调用,而物联网应用程序开发人员甚至不知道。作为一个例子,可以在BaaS芯片或模块中实现用户管理。由于BaaS芯片或模块在与后端云进行通信所需的所有协议和硬件之上建立BaaS呼叫,因此物联网应用程序不需要实施用户管理本身。上述节省了物联网应用程序开发人员的时间和金钱。
一方面,一种方法将云连接的后端***与物联网客户端设备集成,以经由广域网向物联网客户端设备提供服务。根据一个实施例,后端***被配置为提供从由以下组成的组中选择的至少一个服务:数据管理,文件管理,用户管理和设备管理。物联网客户端设备包括物联网设备和后端服务模块。由所述后端服务模块接收从所述物联网设备传送到所述后端服务模块的请求访问所述至少一个服务中包括的服务的访问请求。根据一个实施例,访问请求以对于物联网设备本机的消息格式进行传送,并且非本地地传送到后端***。在进一步的实施例中,后端服务模块将访问请求自动地转换为以后端***本机的格式的API调用。后端***被配置为操作以在从后端服务模块接收API呼叫时提供服务。
另外,使用协议对物联网设备进行编程,所述协议允许开发人员以物联网设备本地的格式工作以生成传送到后端服务模块的访问请求,其中后端的本地格式***对物联网设备是非本地的。
另外,后端***包括至少一个数据库,并且该物联网客户端设备包括至少一个传感器。在一个版本中,该方法包括与后端服务模块一起生成数据管理API调用,以将来自至少一个传感器的传感器输出数据传送到后端***,以及将传感器输出数据存储在至少一个数据库中,其中传感器使用ID存储的输出数据将传感器输出数据与物联网客户端设备相关联。
另一方面,***被配置为向物联网设备提供对云资源的访问。根据一个实施例,***包括:后端***,被配置为提供从由数据管理,文件管理,用户管理和设备管理组成的组中选择的至少一个服务;以及包括与所述物联网设备通信的物联网设备和后端服务模块的物联网客户端设备,所述物联网客户端设备被配置为在广域网上与所述后端***通信。根据另外的实施例,后端服务模块包括:物联网协议引擎,被配置为从来自物联网设备的消息中识别用于后端***的API调用;以及与所述物联网协议引擎通信的后端服务API引擎,所述后端服务模块被配置为生成所识别的API调用。根据又一实施例,后端服务模块包括用于将API呼叫通信到后端***的互联网栈,该消息包括访问至少一个服务的请求,并且该API调用由后端***提供所请求的服务。
另外,后端服务模块被包括在包括处理器和连接到处理器的存储器的硬件中,所述存储器被配置为存储API引擎,物联网协议引擎和互联网栈。
另外,物联网设备包括加密/解密引擎,后端服务模块包括加密/解密引擎。根据该实施例,消息从物联网设备传送到后端服务模块形式和API调用从后端服务模块以加密形式传送到后端***。
另一方面,提供了一种用于与物联网设备集成以提供物联网设备对云资源的访问的模块。根据一些实施例,该模块包括被配置为识别的物联网协议引擎从通过物联网设备传送的消息中的云资源的API调用;与物联网协议引擎通信的云资源API引擎,被配置为生成所识别的API调用的云资源模块,以及用于将API调用与云资源通信的互联网栈。根据另外的实施例,该消息包括对由云资源提供的至少一个服务的访问请求,并且该API调用被云资源处理以提供所请求的服务。在一个实施例中,该模块被包括在包括处理器和耦合到处理器的存储器的硬件中,存储器被配置为存储云资源API引擎,物联网协议引擎和互联网栈。在另一个实施例中,该模块被提供为被配置为与物联网设备本地的软件集成的软件模块。
有益效果:本发明有助于物联网开发人员处理物联网应用开发的任务执行,解决了移动应用开发者使用为特定平台提供的API(应用程序界面)不容易适用于物联网设备的问题,提高了开发效率和节省了开发成本。
附图说明:
图1示出了根据各种实施例的***的框图。
图2示出了一个实施例的BaaS芯片或模块。
图3示出了一个实施例的BaaS芯片或模块软件堆栈。
图4示出了一个实施例的使用BaaS芯片或模块的物联网客户端设备。
图5示出了现有技术中物联网开发过程的流程图。
图6示出了现有技术中使用第三方后端服务开发物联网的流程图。
图7示出了本发明物联网开发过程的流程图。
具体实施方式:
结合附图,对本发明作进一步详细描述:
本发明在其应用中不限于在以下描述中阐述或在附图中示出的构件的细节和组件的布置。本发明能够具有其他实施例并且能够以各种方式实践或执行。此外,这里使用的措辞和术语是为了描述的目的,不应被视为限制。“包含”,“包含”或“具有”,“含有”,“涉及”及其变体的使用意在包括此后列出的项目及其等同物以及附加项目。
在提及描述时,阐述了具体细节,以提供对所公开的实施例的透彻理解。在其他情况下,公知的方法,程序,组件和材料没有被详细描述为不会不必要地延长本公开。
应当理解,如果元件或部件在本文中被称为是“开启”,“反对”,“与。。。通信”,“连接到”或“耦合到”另一元件或部件,那么它可以与其他元件或部件直接连接,连接,连接或耦合,或者可以存在中间元件或部件。当使用时,术语“和/或”包括一个或多个相关列出的项目的任何和所有组合,如果提供的话。
本文使用的术语仅用于描述特定实施例的目的,而不是限制性的。如本文所使用的,单数形式“一”,“一”和“该”也旨在包括复数形式,除非上下文另有明确指示。应当进一步理解,当在本说明书中使用时,术语“包括”和/或“包括”指定所述特征,整体,步骤,操作,元件和/或部件的存在,但不排除没有明确说明的一个或多个其他特征,整体,步骤,操作,元件,组件和/或组的存在或添加。
在下面的描述中,参考附图,其是可以实践所公开的发明的实施例的图示。然而,应当理解,鉴于本文的公开内容,本领域技术人员可以在不脱离本公开的新颖性和范围的情况下开发其他结构和功能性修改。
对于示例性实施例,除非上下文另有明确指示,否则根据相应的含义在本文中使用以下术语。
术语“物联网”是本文所用的“物联网”的缩写,指的是具有用于互联网连接的IP地址的物理对象的不断增长的网络,以及在这些对象和其他互联网之间发生的通信启用的设备和***。物联网(物联网)是嵌入电子,软件,传感器和网络连接的物理对象-设备,车辆,建筑物和其他项目的网络,使这些对象能够收集和交换数据。
如本文所使用的术语“物联网后端平台”是指可以提供云后端服务的应用平台,其可由物联网应用开发者使用以简化其物联网应用的开发。物联网后端平台可以通过在物联网设备上运行的物联网应用程序在网络上访问。物联网后端平台提供的服务可能有所不同,但可能提供数据管理,用户管理,设备管理,推送通知,社交网络集成,企业应用和数据库集成,即时通讯,支付交易支持等。在各种实施例中的至少一个中,物联网后端平台可以被配置为除了物联网应用之外为通用应用提供服务。虽然物联网后端平台可能在基于云的环境中运行,但并不限于此;可以采用其他公知的运行架构。
如本文所使用的术语“移动后端平台”是指可以提供云后端服务的应用平台,其可由移动应用开发者使用以简化其移动应用的开发。移动后端平台可以通过在移动设备上操作的移动应用通过网络来访问。移动后端平台提供的服务可能有所不同,但它们可能会提供数据管理,用户管理,设备管理,推送通知,社交网络集成,企业应用和数据库集成,即时消息,支付交易支持等。在各种实施例中的至少一个实施例中,移动后端平台可以被配置为向移动应用附加的通用应用提供服务。虽然Mobile后端平台可能在基于云的环境中运行,但并不限于此;可以采用其他公知的操作架构。如本文所使用的术语“后端平台”可以单独地包括“物联网后端平台”和“移动后端平台”,或者彼此组合或与其他元件组合。如本文所使用的术语“API调用”是指由对象或移动应用程序内的针对由后端平台提供的服务的API调用。物联网和Mobile应用程序开发人员可以使用API调用来访问后端平台提供的服务。函数调用可以对应于由后端平台提供的内置服务。
本文中使用的术语“BaaS芯片”,“BaaS模块”是指内置API调用以实现由“后端平台”提供的服务的芯片或模块,还具有与微处理器或微控制器的接口,微处理器和微控制器可以与芯片或模块一起使用访问后端服务,该接口是定义微处理器或微控制器如何与芯片或模块通信的协议。
术语“后端脚本”是指可由物联网或移动应用开发者提供给后端平台的软件源代码的选择。云脚本是由物联网或移动应用程序开发人员定制设计的软件,可用于一个或多个物联网或移动应用程序。云脚本可以被部署到后端平台,并且可以被集成到后端平台服务中并且提供一个或多个物联网或移动应用。可以使用各种计算机编程语言开发云脚本。
如本文所使用的术语“后端脚本服务器”是指可被配置为执行后端脚本模块的服务器和/或网络设备。后端脚本服务器可以被布置为包括用于执行后端脚本的一个或多个沙盒。
本文所用的术语“码头容器”是指可驻留在后端服务器上的专用计算过程。容器设计用于在经过测试和/或监视的运行时环境中执行后端脚本。它们可能包括对正在执行的后端脚本可能访问的资源的限制。
本文所用的术语“物联网应用”是指被设计为在物联网设备上操作的计算/软件应用。物联网应用程序可能包括访问由后端平台提供的服务和功能的API调用。
本文所用的术语“物联网应用开发者”是指设计和开发物联网应用的用户。物联网应用程序开发人员可以创建和部署可在物联网应用程序中使用的云代码。
本文所用的术语“移动应用”是指被设计为在移动设备上操作的计算/软件应用。移动应用程序可能包括访问由后端平台提供的服务和功能的API调用。
本文所用的术语“移动应用程序开发人员”是指设计和开发移动应用程序的用户。移动应用程序开发人员可以创建和部署可能在移动应用程序中使用的云代码。
图1是可以实现各种实施例的***100的框图。可能不需要所有的部件来实现各种实施例,并且可以在不脱离各种实施例的精神或范围的情况下进行部件的布置和类型的变化。根据所示实施例,***100包括后端网络199,其包括至少一个服务器以支持客户端物联网设备的开发和部署,包括三种类型的客户端物联网设备:第一类型的物联网客户端设备101;第二类型的物联网客户端设备104;和第三类型的物联网客户端设备107。
根据所示实施例,第一类型的物联网客户端设备101包括物联网电路和软件102以及PT MBass芯片103。根据一个实施例,PT MBass芯片103包括BaaS API引擎,物联网协议引擎和互联网堆栈,物联网接口和网络接口。
根据所示实施例,第二类型的物联网客户端设备104包括物联网电路和软件105以及PT MBaaS模块106。根据一个实施例,PT MBaaS模块106由包括BaaS的一组软件模块来实现API引擎,物联网协议引擎,Internet堆栈和物联网软件界面。
根据所示实施例,第三类型的物联网客户端设备104包括具有集成107的BaaS呼叫的物联网硬件和软件。根据一个实施例,使用BaaS API引擎生成BaaS呼叫。
在各种实施例中,后端网络199通过使用各种联网计算设备来启用一个或多个网络服务。在所示实施例中,联网的计算设备包括用于消息接发服务的pub/hub消息服务器113;用于语音和视频消息或聊天服务的VOIP语音服务器114;DataHub数据交换服务器115,用于数据存储,用户管理,数据管理,推送通知,社交网络集成,用户组管理和分析服务;和AnalyticHub数据分析服务器116,用于数据分析和大数据分析服务。此外,联网的计算设备包括数据连接121,以链接到企业数据服务器120和企业应用程序118以提供企业应用程序和数据库服务;以及安全连接119以链接到企业安全应用117以提供企业安全服务。根据各种实施例,后端网络199包括用于连接网络计算设备的内联网122。根据实施例,联网的计算设备可以在单个地理位置或多个地理位置中。
根据一些实施例,可以以一种或多种配置将一个或多个移动设备包括在云网络199中,以向用户提供一个或多个网络服务。根据一些实施例,可以一起采用本文所示和描述的联网计算设备的各种布置。根据一个实施例,后端平台消息服务器113,语音服务器114,数据交换服务器115,数据分析服务器116可以包括用于管理与可能在运行各种客户端应用的客户端设备的请求和其他通信的过程,模块,服务,组件等。
另外,用户可以使用多个实际上任何类型的有线或无线联网的计算设备来与云网络安全连接119通信并访问至少一个网络服务。这些网络计算设备可以包括物联网客户端设备101,物联网客户端设备104,物联网客户端设备107,客户端平板设备110,客户端手持设备111,客户端穿戴设备109,客户端桌面设备112等。
在各种实施例中,传送到/来自后端网络199,数据链接器,安全链接器和内联网122的信息可以包括实际上任何种类的信息,包括但不限于处理器可读指令,数据结构程序模块,应用程序,原始数据,控制数据,归档数据,视频数据,语音数据,图像数据,文本数据等。
网络199可以部分地或完全地由一个或多个无线网络体现。无线网络可以包括可以进一步覆盖独立自组织网络的各种无线子网络中的任何一个等。这样的子网可以包括网状网络,无线LAN(WLAN)网络,无线路由器(WR)网格,蜂窝网络,微微网络,PAN,露天激光网络,微波网络等。网络199还可以包括耦合到有线和/或无线通信链路的诸如终端,网关,路由器,交换机,防火墙,负载平衡器等中间网络设备的自治***。这些自主设备可以可操作地自由和随机地移动并且任意组织,使得网络199的拓扑可能快速地改变。
以下结合图2更详细地描述BaaS芯片或模块的一个实施例。BaaS芯片或模块可以采用有线网络,无线网络或有线和无线网络的某种组合。
在各种实施例中,后端网络199可以采用实际上任何形式的通信技术和拓扑。例如,网络199可以包括局域网个人局域网(PAN),(LAN),校园区域网络(CAN),城域网(MAN)广域网(WAN),直接通信连接等等,或其任何组合。可以使用Wi-Fi网络,BluetoothTM通信,蜂窝网络,卫星通信以及单独或彼此组合可用的对等网络中的任何一种进行通信。其他通信协议和拓扑也可以根据各种实施例来实现。
图2是根据各种实施例的BaaS芯片/模块500的示例实施例。220是BaaS芯片/模块架构,大多数用于访问后端服务的API调用223完全包含在BaaS芯片/模块220中。一部分API调用226在BaaS芯片/模块220中实现,其将由来自物联网设备的通信激活。API调用223通过API调用实现API调用实现引擎222来实现。实现API调用实现引擎被配置为将API调用实现为存储在计算机存储器中的微处理器程序指令,其可以按需或在预设时间或事件或周期性地执行。例如,根据在一些实施例中,在***上电时执行用户管理呼叫,以通过BaaS芯片/模块200的唯一ID识别物联网设备。也就是说,每个BaaS芯片/模块200在制造时被编程以具有唯一的ID以识别本身。最初使用编程的唯一ID作为BaaS芯片/模块接收永久ID的关键。为了安全起见,采用该永久性身份验证来鉴别设备连接到后端时的包括BaaS芯片/模块的客户端物联网设备。因此,永久ID是用于识别特定物联网设备的***的令牌。另一个例子是企业访问标识调用。这些调用在需要时执行,例如,当物联网设备发布企业数据库/应用程序访问请求时。
BaaS芯片/模块220具有硬件协议221以定义与物联网设备的硬件接口,硬件接口可以是诸如SPI,I2C,UART,并行总线,数字IO等的工业标准接口之一,BaaS芯片/模块220具有软件协议224以定义到物联网设备的软件接口,物联网设备使用软件协议224访问后端服务,物联网协议转换器引擎内部芯片/模块220将消息从物联网设备转换为API调用以访问后端服务。示例消息类型在226:数据存储/检索消息使物联网设备数据存储到后端并根据需要检索它;发布/子消息使物联网设备能够将消息发布到由后端定义的通道,并从后端通道收听消息;添加/删除传感器可使物联网设备添加或删除传感器。数据库创建/更新/读/写/删除使物联网设备能够访问企业应用程序和数据库。BaaS芯片/模块与物联网设备之间的所有通信都要加密。
图2示出了根据一个实施例实现的BaaS芯片/模块硬件201。根据本实施例,BaaS芯片/模块硬件201包括处理器208,网络接口209,物联网接口210和电源接口211。BaaS芯片/模块硬件201还包括存储器207,存储器207存储基本输入/输出***202,操作***203,互联网协议栈204,BaaS API引擎205和物联网协议引擎206。处理器208通过使用互联网堆栈204和BaaS API引擎205的网络接口209与后端199进行通信。此外,处理器还与物联网设备通过遵循硬件协议221的物联网接口,使用实现物联网协议转换器225的物联网协议引擎206。电源接口211负责向BaaS芯片/模块硬件201提供电力。
根据各种实施例,BaaS芯片/模块200可以通过将其作为ASIC来实现为硅芯片,或者使用诸如微处理器,RAM,ROM,以太网芯片/模块,无线芯片/模块,蜂窝通信芯片(3G,4G,LTE等),卫星芯片和电源芯片和分立元件。这里的例子只是为了说明这一实施方式,绝不限制如何实施BaaS。
图3进一步示出了互联网协议栈204的实施例。在各种实施例中,可以通过与云后端199的通信来升级在BaaS芯片/模块200上运行的所有软件。
现在参考图3,图3示出了互联网栈300的三个实施例:第一互联网堆栈301,第二互联网堆栈309和第三互联网堆栈311。在各种实施例中,这些实施例中的任何一个可以包括在图2所示的互联网协议栈204中。
每个互联网堆栈301,309,311包括作为物理层的底层。第一互联网栈301具有用于具有10M的以太网的底层308。100M或1G速度。第二互联网栈309具有用于Wi-Fi的底层310。第三互联网堆栈311具有用于诸如GSM,3G,4G和LTE之类的蜂窝技术的底层312。在每个实施例中,物理层具有位于堆栈中的ARP 307,IP 306,ICMP 305,TCP/UDP 304和DHCP,SNMP,HTTP,FTP,TFTP,XMPP,CoAP,Websocket和MQTT 303协议。所有这些协议使设备能够通过互联网与包括云后端***在内的其他设备进行通信。BaaS层302位于所示互联网堆栈301,309,311中的每一个中堆栈的顶部。根据各种实施例,BaaS层302实现对云后端***的所有API调用。
图4示出了物联网客户端设备400的一个实施例,其在各种实施例中可以包括比所示实施例中所示的更多或更少的组件。例如,物联网客户端设备400可以表示图1所示的物联网客户端设备的至少一个实施例。根据各种实施例,物联网客户端设备至少可以由物联网模块401和BaaS芯片/模块201组成。
物联网模块401包括经由总线419与存储器408通信的处理器415。在物联网模块存储器内部,存在至少一个物联网应用程序406,数据存储405和BaaS软件协议407。物联网模块401包括通过接口418连接BaaS芯片/模块201的BaaS硬件协议416。电源413经由接口417向BaaS芯片/模块提供电力。Oto模块401可以具有传感器接口414或具有感测功能。物联网模块400还可以包括电源413,音频接口409,显示器411,键盘410和输入输出接口412。
电源413可以向客户端设备400提供电力。可以使用可再充电或不可充电电池来提供电力。电源也可以由外部电源(例如AC适配器或用于补充和/或再充电电池的电源对接支架)提供。
音频接口409可以被布置成产生和接收诸如人类声音的声音之类的音频信号。例如,音频接口409可以耦合到扬声器和麦克风(未示出),以实现与他人的通信和/或为一些动作产生音频确认。音频接口409中的麦克风还可以用于输入或控制物联网客户端设备400,例如使用语音识别,基于声音检测触摸等。
显示器411可以是液晶显示器(LCD),气体等离子体,电子墨水,发光二极管(LED),有机LED(OLED)或任何其他类型的光反射或透光显示器,其可以与计算设备。键盘410可以包括布置成从用户接收输入的任何输入装置。例如,键盘410可以包括按钮数字拨盘或键盘。Keypad410还可以包括与选择和发送图像相关联的命令按钮。
物联网模块401还可以包括用于与外部***设备或其他计算设备(例如其他客户端设备和网络设备)通信的输入输出接口412。***设备可以包括音频耳机,显示屏眼镜,远程扬声器***,远程扬声器和麦克风***等。输入输出接口412可以利用诸如通用串行总线(USB),红外线,Wi-Fi,WiMax,Bluetooth TM等的一种或多种技术。
物联网客户端设备400可以包括驻留在BaaS芯片/模块201内的浏览器应用,其被配置为接收和发送网页,基于web的消息,图形,文本,多媒体等。物联网客户端设备的浏览器应用程序可以采用几乎任何编程语言,包括无线应用协议消息(WAP)等。在至少一个实施例中,浏览器应用能够使用手持设备标记语言(HDML),无线标记语言(WML),WMLScript,JavaScript,标准通用标记语言(SGML),超文本标记语言(HTML),可扩展标记语言(XML),HTML5等。
存储器408可以包括RAM,ROM和/或其他类型的存储器。存储器408示出了用于存储诸如计算机可读指令,数据结构,程序模块,传感器数据或其他数据的信息的计算机可读存储介质(设备)的示例。虽然在本文中使用术语“计算机可读”,但是信息和指令也可以被称为“处理器可读”。存储器408可以存储用于控制物联网模块401的低级操作的基本输入/输出***402。存储器还可以存储操作***403用于控制物联网模块401的操作。应当理解,该组件可以包括诸如UNIX版本的通用操作***或LINUX TM,或专用的嵌入式计算机通信操作***,例如Android或FreeRTOS实时操作***。操作***可以包括或与Java虚拟机模块接口,该虚拟机模块能够通过Java应用程序来控制硬件组件和/或操作***操作。
存储器408还可以包括一个或多个数据存储器405,其可由物联网模块401用于物联网应用程序406和其他数据。例如,也可以使用数据存储405来存储传感器数据。数据存储405还可以包括程序代码,数据,算法等,以供处理器使用,诸如处理器415来执行和执行动作。在一个实施例中,数据存储器405中的至少一些也可以用于临时存储更新代码。
物联网应用程序406可以包括计算机可执行(或处理器可执行)指令,当由处理器415执行时,指令发送,接收和/或以其它方式处理指令和数据。在各种实施例中的至少一个中,物联网应用可以包含BaaS软件协议以经由BaaS芯片/模块201访问云后端服务。
现在参考图1。参照图7,根据各种实施例示出了显影过程700。开发过程700可以用于例如开发第1类物联网客户端设备101,第2类物联网客户端设备104,第3类物联网客户端设备107以用于如图1所示的后端服务平台的操作。例如,当开发包括:开发客户端物联网设备时,使用过程700。开发与物联网设备一起使用的网络和/或移动应用程序;并将客户端物联网设备与应用程序与后端服务平台集成。
过程700包括设备开发702中的每一个,后端704的集成以及应用开发706。设备开发包括开发物联网设备708的动作,开发传感器控制器710的动作,利用物联网模块/协议实现与服务器通信过程712,测试物联网设备714的行为和评估测试结果716的行为。后端704包括选择物联网工具和物联网模块/芯片718的行为以及学习简单协议和简化的API调用的动作720。应用程序开发过程706包括开发应用程序722的行为,开发应用程序的用户界面724的行为,利用API接口实现与服务器通信过程726开发云通信的行为,测试应用程序728的行为和评估动作测试结果730。
根据所示实施例,过程700还包括物联网设备和后端集成测试732的集成的动作以及评估测试结果734的动作。该过程还包括应用程序和后端测试736以及评估测试结果738的行为。根据所示实施例,过程700还包括***集成测试740的行为,评估测试结果742的行为和评估是否测试失败是新开发的客户端物联网设备744的结果。
在操作中,该过程从动作701的开始开始。设备开发702从开发物联网设备708的动作开始,例如通过将后端服务模块与物联网设备集成。在一个实施例中,后端服务模块包括在电子硬件中,例如,包括处理器的芯片和包括后端服务引擎,物联网协议引擎和互联网栈(例如,图1所示的PT MBass芯片103)的存储器。根据另一实施例,后端服务模块被提供为软件模块。在步骤利用物联网模块/协议实现与服务器通信过程712,通过遵循后端服务模块协议来开发用于客户端物联网设备的云通信。在测试物联网设备714的行为时对后端服务模块和物联网设备的集成进行测试。对测试结果进行评估,并确定集成是否在评估测试结果716的过程中通过测试。如果客户端物联网设备成功通过测试,设备开发702移动到物联网设备和后端集成测试732的集成的动作。或者,设备开发702返回到开发物联网设备708的动作以校正测试中确定的问题。
后端704的集成开始于选择物联网工具和物联网模块/芯片718中的物联网工具和后端服务模块的动作。过程700继续开发人员执行学习简单协议和简化API调用720的动作。该过程转移到物联网设备和后端集成测试732的集成的每个动作以及应用程序和后端集成测试736的集成的动作。
应用程序开发706开始于开发应用程序722的动作。一旦开发了应用程序,该过程就移动到开发应用程序的用户界面724的每个动作以及利用API接口实现与服务器通信726,其中每一个行为都是测试应用程序728的行为。测试结果进行评估,并确定应用程序是否在评估测试结果730的行为中通过测试。如果应用程序成功通过了测试,应用程序开发706移动到应用程序和后端集成测试736的集成的动作。或者,应用开发706返回到开发应用程序722的动作以校正测试中识别的问题。
物联网设备和后端集成测试732的集成的每个动作以及应用程序和后端集成测试736的集成的动作之后都是测试结果的相应评估。在物联网设备和后端集成测试732的集成的操作之后,过程700移动到评估测试结果734的动作。如果集成通过测试,则过程700移动到***集成测试740的动作,或者,过程700返回到开发物联网设备708的动作以校正测试中识别的问题。
在测试应用程序和后端集成测试736的集成的动作之后,过程700移动到评估测试结果738的动作。如果集成通过测试,则过程700移动到测试***的动作***集成测试740。或者,过程700返回到开发应用程序722的行为解决测试中确定的问题。***集成测试740的行为之后是评估测试结果742的行为。如果***集成通过测试,则过程700在动作746后结束。如果***集成未通过测试,则过程700移动到评估测试失败是否是新开发的客户端物联网设备744的结果的行为。如果测试失败是客户端物联网设备发生问题的结果,过程700返回到开发物联网设备708的动作,以校正任何设备问题。或者,过程700返回到开发应用程序722的动作以校正测试中识别的问题。该过程700减少了开发客户端物联网设备的时间和成本,同时极大地提高了开发过程的效率。例如,包括嵌入式Internet堆栈,后端服务API引擎和物联网协议引擎的组合消除了开发单独的互联网连接硬件和软件的需要。在先前的方法中,例如,过程500和600,互联网连接硬件和软件的所需开发增加了开发时间和复杂性。因为每个物联网开发人员都是从头开始研发的,因此物联网设备测试将会识别必须纠正的问题的相应风险。该过程700还大大减少了后端开发的时间和成本。例如,过程500要求在后端开发504中开发后端架构,后端数据库和API后端中的每一个。客户端物联网设备开发过程700也相对于图1所示的物联网开发过程600而改进。例如,过程600中所需的后端开发604包括用于第三方后端的学习API调用,开发应用数据库和测试后端。这也是测试可能是一个迭代的过程,在这个过程中,在调试完成之前,以一种耗时的“测试和正确”方式来连续地识别和解决问题。
与之前相反,过程700仅通过选择物联网工具和用于开发客户端物联网设备的物联网模块/芯片来任务开发人员。开发者然后只需要学习一个简单的协议和简化的API调用,以调用由后端***提供的服务和功能。根据所示实施例,在过程700中不需要对后端的单独测试。相反,过程700直接移动以测试客户端物联网设备与后端的集成以及应用和后端的集成测试。
描述了以下示例实施例以进一步演示开发人员如何使用本文描述的物联网开发平台的某些实施例。
应用案例1:患者远程监控***。在这个***中,有各种病人监护传感器;示例性的患者传感器可以是活动传感器,睡眠传感器,体重秤,血压计,血糖监测器。所有病人的传感器都可以从货架上取出。还有一个用于收集数据和配置传感器的传感器网关,还有在iPhone或Android手机上运行的患者移动应用程序,服务Web应用程序和医疗保健提供者移动应用程序。开发人员需要开发传感器网关和所有应用程序。本文描述的物联网开发平台的实施例可以以许多方式帮助开发人员。首先,物联网开发商可以将BaaS芯片/模块201集成到传感器网关中,以连接到云端。这种方法允许开发人员专注于开发用于传感器发现,传感器数据收集的硬件和固件,也可以是简单的网关接口,因为BaaS芯片/模块201已经通过云解决了客户端物联网设备和后端资源之间的通信。另一方面,对于移动应用程序和Web应用程序,开发人员可以专注于应用程序用户界面,因为所有后端调用都是通过具有物联网开发平台提供的所有API调用的本机SDK来完成的。此外,在数据分析方面,物联网开发平台还提供API调用,以帮助开发人员。
应用案例2:家庭安全***。在该示例中,物联网设备包括1080p高清摄像机,147°广角镜头,自动夜视,运动检测传感器,多轴加速度计,环境光传感器,电容式触摸传感器,环境温度传感器,湿度传感器,空气质量传感器,高品质麦克风,内置扬声器,90+dB警笛,火灾报警传感器和一氧化碳传感器。通过使用BaaS芯片/模块201,开发人员可以使用2。4GHzWi-Fi(802。11b/g/n)和有线以太网即时连接到后端和互联网。开发人员可以专注于各种传感器硬件/固件和用户界面。结果是完全功能的物联网家庭安全设备比以前的方法更有效地开发。此外,后端平台简化了移动应用开发。例如,开发人员可以获得家庭视频,并将其轻易地流式传输到客户端手持设备111。一个示例场景中,入侵者进入家庭并触发家庭安全设备以使警报被发送到客户端手持设备111。客户端手持设备111的用户接收警报并将视频中的入侵者看到。用户可以发送一个命令来挂起警号。在这种情况下,移动应用和家庭安全设备之间的所有消息通过BaaS芯片/模块201和后端服务。
应用案例3:气体管道监控***。在该***中,气体管道配备有泄漏检测***,其包括泄漏检测传感器和用于警告人类用户的移动或网络应用。通过使用BaaS芯片/模块201,开发者使用蜂窝网络具有到后端和互联网的即时连接。例如,当检测到泄漏时,可以由传感器生成消息并发送到移动或Web应用程序。再次,传感器和Web/移动应用之间的连接,消息传送由BaaS芯片/模块201和BaaS平台执行。
本文描述的一些实施例可以在计算机***上实施,该计算机***通常包括用于处理信息和指令的一个或多个处理器,用于存储静态信息和指令的信息和指令的ROM,用于存储静态信息和指令的RAM诸如用于存储信息和指令的磁盘或磁盘驱动器的数据存储单元和作为在处理器上执行的软件单元的模块,用于向计算机显示信息的可选用户输出设备,例如显示设备(例如,监视器)用户和可选的用户输入设备。
鉴于本文的公开内容,本领域技术人员将理解,本示例可以至少部分地体现在具有存储在其中的计算机可用程序代码的任何有形的表达介质中体现的计算机程序产品。例如,参考方法,装置(***)和计算机程序产品的流程图和/或框图在此描述的一些实施例可以由计算机程序指令来实现。计算机程序指令可以存储在计算机可读/处理器可读介质中,该介质可以引导计算机,控制器或其他可编程数据处理装置以特定方式工作,使得存储在计算机可读介质中的指令构成一个物品包括实现例如流程图和/或框图中指定的功能/动作/步骤的指令和过程。这些计算机程序指令可以提供给通用计算机,专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机的处理器或其他可编程数据处理装置执行的指令提供一种***来实现流程图和/或框图中所指定的功能/动作的动作或动作。以上显示和描述了本发明的基本原理和主要特征及本发明的优点,本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内,发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (10)
1.一种将云连接的后端***与物联网客户端设备集成以通过广域网向所述物联网客户端设备提供服务的方法,所述方法包括:
提供后端***,被配置为提供从由以下组成中选择的至少一个服务:数据管理,文件管理,用户管理和设备管理;
包括物联网设备和物联网客户端设备中的后端服务模块;
由所述后端服务模块接收从所述物联网设备传送到所述后端服务模块以访问所述至少一个服务中的访问请求,以所述物联网设备本地的消息格式传送的所述访问请求和非本地到后端***;
通过后端服务模块自动将访问请求转换为以后端***本地格式的API调用和配置后端***以从后端服务模块接收API呼叫来提供服务。
2.根据权利要求1所述的方法,还包括使用协议来编程所述物联网设备,所述协议允许开发人员以所述物联网设备本地的格式工作以生成传送到所述后端服务模块的访问请求,其中所述后端的本地格式***对物联网设备是非本地的。
3.根据权利要求2所述的方法,还包括当所述物联网客户端设备通电时,利用所述后端服务模块自动生成用户管理API调用以初始化所述物联网客户端设备,所述用户管理API调用包括所述物联网唯一的ID客户端设备,由后端***先前分配给物联网客户端设备的ID。
4.根据权利要求3所述的方法,还包括:
以硬件编程的后端服务模块,其具有将后端服务模块唯一地标识到后端***的初始ID;和当物联网客户端设备首次部署后端服务模块时,自动分配物联网客户端设备唯一的ID;
其中所述后端***包括至少一个数据库,其中所述物联网客户端设备包括至少一个传感器,并且其中所述方法还包括:
生成与所述后端服务模块的数据管理API调用,以将来自所述至少一个传感器的传感器输出数据传送到所述后端***和将传感器输出数据存储在至少一个数据库中,使用ID存储的传感器输出数据将传感器输出数据与物联网客户端设备相关联;
其中所述后端***包括至少一个数据库,其中所述物联网客户端设备包括至少一个致动器,并且其中所述方法还包括:
与所述后端服务模块一起生成设备管理API调用,以将所述至少一个致动器的状态传达到所述后端***和将致动器的状态存储在至少一个数据库中,使用ID存储的致动器的状态将该状态与物联网客户端设备相关联。
5.根据权利要求4所述的方法,还包括当所述物联网客户端设备首先经由所述广域网与所述后端***通信时,由所述后端***采用自动分配所述物联网客户端设备唯一的ID的分配算法。
6.一种被配置为向物联网设备提供对云资源的访问的***,所述***包括:
后端***,被配置为提供从由以下组成的组中选择的至少一个服务:数据管理,文件管理,用户管理和设备管理和物联网设备与所述物联网设备通信的后端服务模块的物联网客户端设备,所述物联网客户端设备被配置为通过广域网与所述后端***通信;
其中,所述后端服务模块包括被配置为从所述物联网设备传送的消息和与所述物联网协议引擎通信的后端服务API引擎来识别所述后端***的API调用的物联网协议引擎,所述后端服务模块被配置为生成识别API调用;
其中,所述后端服务模块包括用于将所述API调用与所述后端***进行通信的互联网栈;
其中,所述消息包括对所述至少一个服务的访问请求,以及所述API调用由所述后端***处理以提供所请求的服务。
7.根据权利要求6所述的***,其中所述后端服务模块被包括在包括处理器和耦合到所述处理器的存储器的硬件中,所述存储器被配置为存储所述API引擎,所述物联网协议引擎和所述互联网栈;
其中所述后端服务模块包括物联网设备接口,所述物联网设备接口被配置为接收所述消息并且在从所述后端***接收之后将所请求的服务传送到所述物联网设备;
其中所述消息是从包括数据存储/检索消息,发布/子消息,添加/删除传感器消息和数据库创建/读取/写入/删除消息的组中选择的组;
其中,所述API调用是从包括数据管理呼叫,用户管理呼叫,设备管理呼叫,即时消息收发呼叫,企业接入标识呼叫,加密呼叫和一个社交网络集成电话。
8.根据权利要求7所述的***,其中所述物联网设备包括加密/解密引擎;
其中,所述后端服务模块包括加密/解密引擎;
其中,消息以加密的形式从物联网设备传送到后端服务模块,并且API调用从后端服务模块以加密形式传送到后端***。
9.一种用于与物联网设备集成以向所述物联网设备提供对云资源的访问的模块,所述模块包括:
一个物联网协议引擎,被配置为从从物联网设备传送的消息中识别针对云资源的API调用;
与物联网协议引擎通信的云资源API引擎,云资源模块被配置为生成所识别的API调用,以及用于将API调用通信到云资源的互联网堆栈;
其中,所述消息包括对由所述云资源提供的至少一个服务的访问请求,以及所述API调用由所述云资源处理以提供所请求的服务。
10.根据权利要求9所述的模块,其中所述模块被包括在包括处理器和耦合到所述处理器的存储器的硬件中,所述存储器被配置为存储所述云资源API引擎,所述物联网协议引擎和所述互联网栈;
其中,所述模块被提供为软件模块,所述软件模块被配置为与所述物联网设备本地的软件集成。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/436,420 US10348866B2 (en) | 2016-02-19 | 2017-02-17 | Apparatus, system and method to provide IoT cloud backend service |
US15/436,420 | 2017-02-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107071052A true CN107071052A (zh) | 2017-08-18 |
CN107071052B CN107071052B (zh) | 2021-08-24 |
Family
ID=59609601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710347093.9A Expired - Fee Related CN107071052B (zh) | 2017-02-17 | 2017-05-17 | 一种给物联网设备提供云后端服务的装置、***和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107071052B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107517270A (zh) * | 2017-09-07 | 2017-12-26 | 广东美的暖通设备有限公司 | 数据监控***、方法及其相关设备 |
CN109587242A (zh) * | 2018-12-05 | 2019-04-05 | 华润置地控股有限公司 | 物联网平台***及其云端平台和本地终端 |
CN110138780A (zh) * | 2019-05-15 | 2019-08-16 | 四川长虹电器股份有限公司 | 一种基于探针技术实现物联网终端威胁检测的方法 |
CN111316613A (zh) * | 2017-11-10 | 2020-06-19 | 国际商业机器公司 | 访问网关管理控制台 |
CN111399979A (zh) * | 2020-03-11 | 2020-07-10 | 云南电网有限责任公司电力科学研究院 | 一种配电智能终端架构 |
CN112037096A (zh) * | 2020-09-01 | 2020-12-04 | 中国银行股份有限公司 | 学费监管*** |
CN112042213A (zh) * | 2017-12-12 | 2020-12-04 | 贝斯特网络***股份有限公司 | 基于iot设备的信息***和方法 |
CN112866083A (zh) * | 2020-12-31 | 2021-05-28 | 广州极飞科技股份有限公司 | 消息发送方法、电子设备及通信*** |
WO2021164385A1 (zh) * | 2020-02-21 | 2021-08-26 | 苏州浪潮智能科技有限公司 | 物联网设备***的虚拟化方法、装置、设备及存储介质 |
CN113691413A (zh) * | 2021-07-07 | 2021-11-23 | 广州鲁邦通物联网科技有限公司 | 一种物联网设备兼容多模组的方法和*** |
CN114416169A (zh) * | 2022-01-18 | 2022-04-29 | 网易(杭州)网络有限公司 | 基于微前端的数据处理方法、介质、装置和计算设备 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102089767A (zh) * | 2008-05-30 | 2011-06-08 | 爱迪德加拿大公司 | 无人值守应用程序的经认证数据库连接 |
CN102196569A (zh) * | 2010-03-01 | 2011-09-21 | 中兴通讯股份有限公司 | 一种下一代业务网络***及其实现业务应用的方法 |
CN102263776A (zh) * | 2010-05-26 | 2011-11-30 | 魏星 | 一种智能家居远程控制***及智能家居服务器 |
CN102571948A (zh) * | 2011-12-29 | 2012-07-11 | 国云科技股份有限公司 | 基于云计算的PaaS平台***及其实现方法 |
CN103108294A (zh) * | 2011-11-10 | 2013-05-15 | 中国电信股份有限公司 | 数据转发处理方法、网关设备与通信*** |
CN103152368A (zh) * | 2011-12-06 | 2013-06-12 | 中国电信股份有限公司 | 一种可扩展的物联网感知数据显示转换方法及*** |
CN103236969A (zh) * | 2013-04-03 | 2013-08-07 | 中国科学院合肥物质科学研究院 | 一种用于云服务计费管理的网关***和方法 |
CN104391689A (zh) * | 2014-11-04 | 2015-03-04 | 中国石油天然气股份有限公司 | 一种物联网应用的开发方法、中间件及PaaS平台 |
CN104932895A (zh) * | 2015-06-26 | 2015-09-23 | 南京邮电大学 | 一种基于soa的中间件及其信息发布方法 |
CN105530304A (zh) * | 2015-12-17 | 2016-04-27 | 四川物联亿达科技有限公司 | 一种广泛接入设备的物联传感云*** |
US20170026488A1 (en) * | 2015-07-20 | 2017-01-26 | Verizon Patent And Licensing Inc. | Internet of things (iot) api platform |
-
2017
- 2017-05-17 CN CN201710347093.9A patent/CN107071052B/zh not_active Expired - Fee Related
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102089767A (zh) * | 2008-05-30 | 2011-06-08 | 爱迪德加拿大公司 | 无人值守应用程序的经认证数据库连接 |
CN102196569A (zh) * | 2010-03-01 | 2011-09-21 | 中兴通讯股份有限公司 | 一种下一代业务网络***及其实现业务应用的方法 |
CN102263776A (zh) * | 2010-05-26 | 2011-11-30 | 魏星 | 一种智能家居远程控制***及智能家居服务器 |
CN103108294A (zh) * | 2011-11-10 | 2013-05-15 | 中国电信股份有限公司 | 数据转发处理方法、网关设备与通信*** |
CN103152368A (zh) * | 2011-12-06 | 2013-06-12 | 中国电信股份有限公司 | 一种可扩展的物联网感知数据显示转换方法及*** |
CN102571948A (zh) * | 2011-12-29 | 2012-07-11 | 国云科技股份有限公司 | 基于云计算的PaaS平台***及其实现方法 |
CN103236969A (zh) * | 2013-04-03 | 2013-08-07 | 中国科学院合肥物质科学研究院 | 一种用于云服务计费管理的网关***和方法 |
CN104391689A (zh) * | 2014-11-04 | 2015-03-04 | 中国石油天然气股份有限公司 | 一种物联网应用的开发方法、中间件及PaaS平台 |
CN104932895A (zh) * | 2015-06-26 | 2015-09-23 | 南京邮电大学 | 一种基于soa的中间件及其信息发布方法 |
US20170026488A1 (en) * | 2015-07-20 | 2017-01-26 | Verizon Patent And Licensing Inc. | Internet of things (iot) api platform |
CN105530304A (zh) * | 2015-12-17 | 2016-04-27 | 四川物联亿达科技有限公司 | 一种广泛接入设备的物联传感云*** |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107517270A (zh) * | 2017-09-07 | 2017-12-26 | 广东美的暖通设备有限公司 | 数据监控***、方法及其相关设备 |
CN111316613A (zh) * | 2017-11-10 | 2020-06-19 | 国际商业机器公司 | 访问网关管理控制台 |
CN111316613B (zh) * | 2017-11-10 | 2022-05-31 | 国际商业机器公司 | 访问网关管理控制台 |
CN112042213A (zh) * | 2017-12-12 | 2020-12-04 | 贝斯特网络***股份有限公司 | 基于iot设备的信息***和方法 |
CN109587242A (zh) * | 2018-12-05 | 2019-04-05 | 华润置地控股有限公司 | 物联网平台***及其云端平台和本地终端 |
CN110138780A (zh) * | 2019-05-15 | 2019-08-16 | 四川长虹电器股份有限公司 | 一种基于探针技术实现物联网终端威胁检测的方法 |
CN110138780B (zh) * | 2019-05-15 | 2021-04-06 | 四川长虹电器股份有限公司 | 一种基于探针技术实现物联网终端威胁检测的方法 |
WO2021164385A1 (zh) * | 2020-02-21 | 2021-08-26 | 苏州浪潮智能科技有限公司 | 物联网设备***的虚拟化方法、装置、设备及存储介质 |
CN111399979A (zh) * | 2020-03-11 | 2020-07-10 | 云南电网有限责任公司电力科学研究院 | 一种配电智能终端架构 |
CN112037096A (zh) * | 2020-09-01 | 2020-12-04 | 中国银行股份有限公司 | 学费监管*** |
CN112866083A (zh) * | 2020-12-31 | 2021-05-28 | 广州极飞科技股份有限公司 | 消息发送方法、电子设备及通信*** |
CN113691413A (zh) * | 2021-07-07 | 2021-11-23 | 广州鲁邦通物联网科技有限公司 | 一种物联网设备兼容多模组的方法和*** |
CN114416169A (zh) * | 2022-01-18 | 2022-04-29 | 网易(杭州)网络有限公司 | 基于微前端的数据处理方法、介质、装置和计算设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107071052B (zh) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107071052A (zh) | 一种给物联网设备提供云后端服务的装置、***和方法 | |
US10348866B2 (en) | Apparatus, system and method to provide IoT cloud backend service | |
US10650593B2 (en) | Holographic technology implemented security solution | |
US10114618B2 (en) | Autonomous mobile sensor movement path simulation with an integrated developer environment | |
CN103403685B (zh) | 在线隐私管理 | |
US20160359664A1 (en) | Virtualized things from physical objects for an internet of things integrated developer environment | |
US20160357522A1 (en) | Physical space map overlay and interaction for an internet of things integrated developer environment | |
CN106575243A (zh) | 管理程序托管的虚拟机取证 | |
WO2018194906A1 (en) | Using smart groups for simulated phishing training and phishing campaigns | |
US10904128B2 (en) | Testing functionality of an Internet of Things environment | |
CN105900397A (zh) | 用于移动云服务的本地代理 | |
Boman et al. | Flexible IoT middleware for integration of things and applications | |
US10610161B1 (en) | Diagnosis using a digital oral device | |
CN108111386B (zh) | 资源发送方法、装置及*** | |
US11455163B2 (en) | Systems and methods for preparing and deploying cross-platform applications | |
US20220189646A1 (en) | Dynamic creation of sensor area networks based on geofenced iot devices | |
Liu et al. | Distributed service integration for disaster monitoring sensor systems | |
Michalik | Base station for Wireless sensor network | |
US11676574B2 (en) | Duration based task monitoring of artificial intelligence voice response systems | |
US11423583B2 (en) | Augmented reality enabled handling and risk mitigation | |
US11119229B2 (en) | IoT enabled device filter | |
CA3174842A1 (en) | Application topology discovery | |
US10901430B2 (en) | Autonomous robotic avatars | |
CAO et al. | An os for internet of everything: Early experience from a smart home prototype | |
Glitho et al. | A cloud based—Architecture for cost-efficient applications and services provisioning in wireless sensor networks |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210728 Address after: 518000 Guangdong city of Shenzhen province Nanshan District South Road No. 10 four Applicant after: Yin Zhishuai Address before: 430000 1208, Huagong science and technology industry building, No. 876 Luoyu Road, Hongshan District, Wuhan City, Hubei Province Applicant before: Wuhan MBaaS Computing Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210824 |
|
CF01 | Termination of patent right due to non-payment of annual fee |