weave 的iot 应用gur.zucc.edu.cn/files/c136762b7db55d2e7a5c4a46c4d8c548.pdf · 2019. 11. 9. ·...

Post on 05-Sep-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

物联网开发技术——Android Things

第七章

Weave 的 IOT 应用

物联网开发技术——Android Things

在 Google IO 2015中宣布的 Android for IoT – Brillo和配套的协议 Weave 面世!

什么是google weave?

Google把Weave定位为物联网的一个通信层,但本质上,Weave应该属于物

联网系统框架的范畴。因为它不依赖于任何底层的通信协议,它可以运行在任何常

见的物联网通信协议之上,包括WiFi,BLE,Zigbee等等。

Weave 是一个开放的通信协议,是专门设计用于物联网设备进行通讯的跨平台通用语言。

7.1 Weave 协议简介

物联网开发技术——Android Things

1. Weave的整体架构:

Weave是一个完整的物联网协同框架,它包含了一系列的组件,分别应用于

不同的目标对象。

大致来说,Weave包含三个大的功能组件:支撑Weave运行的云端组件

WeaveCloud,运行在智能手机(或Pad等其它智能终端)上的智能手机客户端,

以及运行在物联网设备上的设备端组件LibWeave和uWeave。

物联网开发技术——Android Things

它是与操作系统无关的一个物联网系统框架,

可以移植到任意操作系统上。

针对不同的目标设备,比如资源受限的嵌入

式硬件设备,资源充足的硬件设备,智能手

机客户端(Android或iOS),云平台等,分

别有不同的代码与之对应。

这些不同的代码或组件,Weave提供了一套

标准的设备操作命令(叫做Schema),以及

对应的认证机制。

Weave的大部分代码都是开放的,而且采用

了相对宽松的BSD协议。

2. Weave的特点:

物联网开发技术——Android Things

有了 Weave ,你可以直接在你的设备中构建可交互的通信。Weave 提供了

一种消息服务,它能够使手机和设备进行本地通信,也可以通过云进行远程通信。

Weave 的云服务可以安全、可伸缩地处理远程通信,并访问你的具有 web 连接能

力的设备。

Weave 还提供一组服务,让你可以安全地建立设备并提供访问控制。

另外,Weave 直接内建于 Brillo 中,但也可以在你现存的基于 Linux 的系统上使用

Weave 库。

物联网开发技术——Android Things

1. LibWeave&uWeave

一个叫做LibWeave,适应于具备复杂计算能力的设备,这类设备支持Linux或者其它功能丰富的操作系统内核,具有数十M以上的内存空间。

另外一个叫做uWeave,指的是微小(Micro)的意思。顾名思义,uWeave则是运行在资源受限的嵌入式设备上。

7.2 Weave组件介绍

物联网开发技术——Android Things

2. 智能手机客户端

Weave开发了针对Android和Apple ios 两种智能手机操作系统的客户端程序

库和对应的API,智能手机程序员可以直接调用Weave Client的API,来开发客户

体验良好的Weave应用程序,来操控基于Weave的物联网设备。

物联网开发技术——Android Things

3. Weave cloud

Weave开发了针对Android和Apple ios 两种智能手机操作系统的客户端程序

库和对应的API,智能手机程序员可以直接调用Weave Client的API,来开发客户

体验良好的Weave应用程序,来操控基于Weave的物联网设备。

物联网开发技术——Android Things

Weave组件之间是通过WeaveAPI进行通信和交互的,Weave定义了两类API:Weave Cloud API和Weave Local API。智能手机客户端和LibWeave与Weave Cloud通信,必须使用Weave Cloud API。而智能手机客户端与LibWeave之间的通

信,则基于Weave Local API。这两类API分别基于不同的传输层协议,完成通信

功能。下图示意了整个协议栈:

7.3 Weave API

物联网开发技术——Android Things

一般情况下,智能手机客户端通过局域网(WiFi,Ethernet等)与Weave设备通信,大部分的家庭局域网上,终端设备的IP地址是不固定的,通过DHCP动态

分配。

家庭网关前后两次分配给终端的IP地址,一般是不同的,因此智能手机客户

端无法通过固定的IP地址,直接与Weave设备进行通信。

1. 智能手机客户端如何定位到Weave设备

在定位到Weave设备,并建立通信连接之后,智能手机客户端与Weave设备

之间的通信,必须是安全的。即使通信报文被截获,攻击者也无法查看具体内容。

2. Weave设备必须是安全的

物联网开发技术——Android Things

7.4 Weave device SDK

物联网开发技术——Android Things

Weave 为 iOS 和 Android 提供了移动设备 SDK,这样你可以为移动用户构

建应用来控制和增强连接设备的使用体验。如果你是一个应用开发者,想让你的应

用延伸到物理世界的设备上,你可以使用 Weave mobile 和 web API 在单一的应

用中控制多个跨品牌的 Weave 设备。

物联网开发技术——Android Things

Device SDK设备开发包

Cloud Service云服务

Developer Tools开发者工具

1. Google weave应用构建

物联网开发技术——Android Things

物联网开发技术——Android Things

物联网开发技术——Android Things

2. Weave –设备初始化(device initliazation)

物联网开发技术——Android Things

3. Weave trait 初始化

物联网开发技术——Android Things

4. Weave Server

物联网开发技术——Android Things

5. Weave –设备注册

物联网开发技术——Android Things

Weave –设备注册代码:

物联网开发技术——Android Things

7.5 Weave 开发工具(Development tools)

物联网开发技术——Android Things

1. IoT Developer Console

物联网开发技术——Android Things

2. Metrics and Reports

物联网开发技术——Android Things

物联网开发技术——Android Things

top related