云芯介绍

云芯包括云服务、芯片、以及芯片OS,是百度云能力与芯片的深度整合,形成云端一体化的方案。云芯做为百度云能力的载体,具备设备接入、数据上报、局域或远程控制等功能,下游的合作商通过云芯,能够方便地接入百度云服务,快速开发出具备云能力的智能硬件,实现产品智能化。

对于下游产品方案上来说,只需将百度云芯嵌入自己的产品,与主控单元对接起来,就能通过云芯获得百度云服务,省去了自建云服务的成本和需要完成智能化的诸多开发成本,加速了产品的智能化转型。

功能和亮点

  • 完整的设备端、云端、APP三者一体化的方案
  • 云与设备的完美结合
  • 加速产品智能化转型,提升想象空间
  • 面向智能家居场景的实现,超低开发门槛,快速上手

软件原理

完整的方案模型

云端一体化方案模型

如图中所示模型,一个完整的云芯方案应该是这个三角形的完整实现。三角形的三个顶点是三个实体,分别代表云、智能设备和APP。三角形的三条边是通信协议,分别代表云到端的通路(设备-云,APP-云)以及端到端(设备-APP)的通路。

云芯设备端方案

百度云芯是一个软硬结合的SOC,其软件架构图如上图所示。在软件框图中,除云芯SDK部分以外的其他模块属于板级支持库,与具体的SOC选型相关,云芯SDK是板级无关的,能够方便移植到其他的SOC上。

图中所示的框图仅为示意,事实上,某些模块都能够被具有相同能力的软件模块平行替代。例如,RTOS可以没有,可以用整个zigbee协议栈z-stack代替。网络协议栈中的Socket、TCP/UDP等子模块也可被其他的协议栈代替,只要应用层能够请求Http/Https API就可以。

Websocket、JSON和RSA/MD5这几个模块都是为了配合智能家居云端的交互协议,其中websocket只需部署client端即可。

云芯云端方案

云芯除了设备端的方案外,还需云端的强大支撑才能发挥云芯的性能优势。本方案以智能家居场景为例来描述设计方案。

设备接入:智能设备通过APP或WEB端进行云端接入,设备接入模块分配给设备全局唯一deviceId,同时设备接入包括设备绑定与解绑功能,设备与APP/WEB上登录的用户账号进行绑定,才可以进行后续的数据上传与远程控制。

数据上报:智能设备绑定后,需要根据设备对应的类型,进行设备的数据上报与统计分析。

设备控制: 用户可以通过 APP/WEB 对智能设备进行远程控制与查看,云端主要对APP/WEB的控制请求转发给 websocket,通过 websocket 的长连接与设备进行通信。

设备关系管理:智能设备最终都会属于某个家庭的某个房子的某个房间或某个组里,所以设备关系管理主要是对设备与设备所属的房间或者组进行管理,以便后续场景化的操作。

OTA:主要包括OTA检测与OTA升级两部分,用于设备的升级功能。

设备联动:接入云端的多个设备之间可以进行联动配置,以便于用户的场景化需求。

上报数据分析:主要包括对设备上报的数据进行分析,以便更好的场景化。

IFTTT:实现了触发功能,某指标达到某种情况后,触发对应的动作。

PUSH/VOIP:对用户设定的条件触发后,可以进行消息推送或者电话通知。

云芯与智能家居云端

云芯与云端构成一个统一的整体,是整个方案的核心。云芯是云能力的载体,封装了云的对应接口。两者间主要有三条通路需要考虑:

1. 数据通道

这条通路由基本的http/https请求实现,负责用户数据的上报和初始化工作。该通道是单向的,无需实现长连接。

2. 控制通道

该通路由websocket实现,负责由云端发起的远程控制和数据推送。该通道是双向的,需保持长连接。

3. OTA通道

该通路是独立的用于OTA的逻辑通道,需单独设计。负责实现云芯固件的升级。

APP方案

APP作为云芯方案中与用户的交互最为密切,需重点考虑用户使用场景和用户体验。本方案建议在技术上采用Native+轻应用的方式来实现APP。云芯所对应的各类设备,在APP中可作为若干张卡片展现出来,用户通过卡片,能够控制操作云芯设备,也能查看设备的状态和统计参数。

云芯与APP

云芯与APP间的通信是间接通信,数据流可以通过远程的云端中转,也可通过局域的路由中转。云芯与APP间需要关注的交互需求主要有下面三个:

1. 云芯初始化时连接路由器

这个交互需求通过模组的快连(Smart link)来实现

2. 云芯初始化时向云端注册和设备绑定

云芯在初始化时需要向云端报告自身的存在,注册状态需要通过局域同步给APP。另外,设备绑定过程因为涉及到账号体系,需要由APP发起,绑定状态也需要同步。

3. 局域间的直接通信

这个交互需求主要是为了覆盖无外网的场景,使得用户在没有外网的情况下,也能用手机APP通过局域网直接操作云芯。

资料下载

资料清单