物联网协同框架iotivity简介(部分)

上传人:F****n 文档编号:99425037 上传时间:2019-09-19 格式:DOCX 页数:18 大小:1.42MB
返回 下载 相关 举报
物联网协同框架iotivity简介(部分)_第1页
第1页 / 共18页
物联网协同框架iotivity简介(部分)_第2页
第2页 / 共18页
物联网协同框架iotivity简介(部分)_第3页
第3页 / 共18页
物联网协同框架iotivity简介(部分)_第4页
第4页 / 共18页
物联网协同框架iotivity简介(部分)_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《物联网协同框架iotivity简介(部分)》由会员分享,可在线阅读,更多相关《物联网协同框架iotivity简介(部分)(18页珍藏版)》请在金锄头文库上搜索。

1、目录一、物联网操作系统的整体架构51.物联网操作系统整体架构概述5a)物联网操作系统内核概述5b)外围功能组件概述6c)物联网协同框架概述6d)公共智能引擎概述8e)集成开发环境概述8f)物联网领域应用概述8g)物联网操作系统整体架构总结9h)物联网操作系统在不同场景的应用举例102.物联网操作系统架构详解10a)内核的主要组成部件10i.物联网设备硬件11ii.硬件抽象层(HAL)11iii.设备管理框架及设备驱动11iv.任务管理11v.内存管理11vi.中断管理12vii.内核同步12viii.安全与权限12ix.内核统计12x.应用管理12xi.内核API12b)外围功能组件的主要组成

2、部件13i.在线更新13ii.C运行库13iii.安全传输协议13iv.TCP/IP协议栈13v.Java虚拟机13vi.文件系统13vii.图形用户界面13c)物联网协同框架主要功能描述14d)公共智能引擎主要组成部件14e)集成开发环境主要功能描述14二、内核:专为物联网而生142.物联网操作系统内核概述14a)物联网操作系统内核的特点14b)任务管理子系统14i.任务管理子系统概述14ii.任务的状态及切换15iii.任务调度算法17c)内存管理子系统18i.内存管理概述18ii.物理内存管理算法-空闲链表法18iii.物理内存管理算法-固定内存块链表法20d)设备管理子系统20e)内核

3、辅助子系统20i.安全与权限管理20ii.内核统计20iii.硬件抽象层(HAL)203.可伸缩机制:内核能大能小20a)基于宏定义的编译配置20b)基于列表的模块加载20c)可加载外部模块204.任务管理:兼顾效率与扩展性20a)线程调度20b)内核同步21c)内核休眠:能节电就节电215.内存管理子系统21a)固定尺寸内存块链表:确保内存分配时间21b)空闲内存块链表:充分提升内存使用效率21c)基于硬件MMU的内存保护21d)内存对齐21e)内存清零21f)基于硬件MMU的内存空间隔离216.设备管理子系统22a)中断管理22i.中断管理概述22ii.毫秒级时钟中断22iii.中断嵌套技

4、术23iv.可控锁中断技术23v.中断扼杀机制23b)设备命名与标识24c)总线管理24d)设备驱动程序247.内核辅助子系统24a)内核的安全与可靠性24i.内核对象签名24ii.看门狗技术24iii.限制队列机制24iv.基于染色的堆栈异常检测24v.隔离数据区机制24vi.加密与验证24b)内核效率保障机制24i.系统时钟动态调整24ii.Direct Ethernet技术24c)内核统计25i.CPU占用率统计25ii.内存分配统计25iii.中断统计25d)硬件抽象层25i.硬件抽象层主要功能25ii.非对齐访问25iii.CPU大头与小头25三、物联网操作系统的外围功能组件251.

5、外围功能组件概述252.JAVA虚拟机:实现软硬件分离263.在线更新机制274.用户界面(shell)275.数据加密与安全套接字(SSL)276.简化的TCP/IP协议栈277.文件系统278.图形用户界面27四、物联网操作系统协同框架271.物联网协同框架综述27a)低功耗连接协议29i.CoAP协议29b)标准化的操作模式34c)设备全局标识34d)Restful资源标识34e)设备配置与激活34f)设备发现34g)设备认证与权限管理34h)设备交互352.IoTivity框架36a)IoTivity协同框架概述36b)IoTivity协同框架主要功能36c)IoTivity协同框架整

6、体架构36i.IoTivity的核心服务层38ii.IoTivity的附加服务层39d)IoTivity主要技术实现39i.IoTivity的软件架构40ii.IoTivity的资源标识及标准操作模式40iii.IoTivity设备的初始化40iv.IoTivity设备注册41v.IoTivity设备的发现机制42vi.IoTivity设备信息获取45vii.IoTivity设备配置修改47viii.IoTivity场景管理器47ix.IoTivity软件定义传感器49x.IoTivity服务目录49xi.IoTivity多协议通信网关49e)IoTivity开发实例49f)IoTivity优

7、点和不足分析493.Google Weave框架49g)Weave背景及定位49h)Weave的主要特点50i)Weave的整体架构50i.LibWeave和uWweave51ii.智能手机客户端52iii.Weave Cloud52iv.Weave API53j)Weave的主要技术实现54i.标准的命令和状态Schema55ii.用户权限管理58iii.针对低功耗蓝牙的深度优化58iv.针对资源受限系统的专门设计59k)Weave开发举例60l)Weave优点和不足分析604.不同协同框架的对比分析61五、公共智能引擎611.公共智能引擎概述612.公共机器学习引擎613.DSL语言与处理

8、引擎624.语音与语义识别引擎62六、物联网操作系统开发环境与运行支撑体系621.开发环境622.运行支持机制62a)物联网操作系统辅助平台62b)开发社区支持62c)物联网领域应用621. IoTivity框架a) IoTivity协同框架概述我们知道,由于缺乏标准,不同的物联网设备和系统之间直接交互非常困难,这样就无法实现物联网的“协同”特性。比如有的设备支持低功耗蓝牙(BLE),有的设备支持WiFi,有的物联网设备则支持Zigbee,这些设备之间因为缺乏统一的通信标准,相互之间无法通信。为了解决不同物联网设备之间的互通问题,由高通,Microsoft,Intel等等业界顶级的IT公司组成

9、了一个叫做开放互联联盟(Open Interconnect Consortium,OIC)的组织(后续简称为OIC),专门制定不同物联网设备之间的互联通信标准。目前来说,参与OIC的公司,已经超过了100多家。OIC定义了一套完整的设备之间的通信标准,只要物联网设备遵循这些标准,相互之间就可以相互通信,并能够相互协同工作。OIC是由很多不同职责的小组组成的,其中核心小组(Core Group)定义了开放互联标准的最核心机制,包括基本的通信协议,安全保证机制,设备命名和资源发布机制,等等。另外还有很多专注于“垂直”应用的小组,比如智慧家庭,工业应用,智慧医疗等。这些垂直应用小组基于核心小组定义的

10、基本机制,来进一步细化和定义垂直领域相关的通信标准。所有这些不同的小组定义的标准,组成了OIC的开放互联标准体系。同时,OIC还设计了认证机制,通过OIC认证的设备,可以确保能够跟其它功能相关(比如,属于同一垂直领域)的设备进行直接交互,而不管这些设备是不是由同一个厂商开发的。在当前代码为王的时代,只有标准是远远不够的,还必须有与之配套的实现代码,以供物联网设备商直接参考。于是在Linux基金会的支持下,OIC专门成立了一个叫做“IoTivity”的项目,用于实现OIC制定的物联网设备互联标准。从IoTivity的名字就可以看出来,这个项目就是瞄准物联网(IoT)的。本质上,IoTivity是

11、一个开源项目的名字,这个项目的目的是为了实现OIC定义的开放互联标准。这个项目最终实现的软件,也被成为IoTivity框架,在本书中叫做“IoTivity协同框架”,强调物联网的“协同”特性。b) IoTivity协同框架主要功能 c) IoTivity协同框架整体架构IoTivity是一个典型的物联网协同框架,其软件组成,也符合物联网协同框架的组成三要素-人侧软件,物侧软件和云侧软件。下图示意了IoTivity的软件组成:其中IoTivity Client就是运行在用户智能手机,电脑,PAD等设备上的人侧软件。而IoTivity Device则是运行在物联网设备上的物侧软件,也是IoTivi

12、ty项目重点开发和实现的软件,在接下来的部分中,我们重点介绍IoTivity Device,及物侧软件。IoTivity Cloud是最新版本的IoTivity推出的一项服务,它实现了一个简单的物联网后台系统。需要注意的是,IoTivity Client可以通过本地局域网,直接控制IoTivity设备,无需经过IoTivity后台。前提是IoTivity Client和IoTivity Device能够位于同一个本地局域网上,能够通过WiFi,蓝牙或者Ethernet等网络技术直接通信。这与物联网协同框架中定义的人侧软件和物侧软件交互机制相同。在IoTivity的实现中,Client通过CoA

13、P协议与物联网设备交互。CoAP协议是基于IP/UDP协议的一种低功耗通信协议,该协议通过利用IP的组播功能,实现了设备的发现机制。具体来说,就是运行IoTivity Client的设备,比如手机,电脑等,在本地局域网上发送设备发现请求(Device Discovery),该请求是一个组播IP报文,会被所有运行IoTivity Device的物联网设备接收到。在请求报文中,Client会指定待发现的设备类型,比如智慧灯泡,智慧门锁,等等。接收到发现请求的物联网设备,首先匹配自己的设备类型与请求报文中的设备类型,如果一致,则单独给Client一个回应。如果不匹配,则直接丢弃该发现报文,不做任何回

14、应。通过这种机制,IoTivity Client就会把局域网中的所有物联网设备“收集上来”,并呈现给用户,从而完成管理和控制功能。这个过程中,还涉及到认证,权限管理,加密等等细节,在后面的部分中,我们会详细介绍。相对运行在物联网设备上的IoTivity Device软件,IoTivity Client和IoTivity Cloud的比重都比较少,属于“附属功能”,因此在本书中不做详细介绍。更方便的是,IoTivity提供了这两类软件的基本组态(各类可直接链接的代码库),在具体物联网软件开发中,直接引用即可,定制的工作量并不大。下面详细介绍运行在物联网设备中的IoTivity Device软件。下图示意了IoTivity Device的整体技术框架:整个IoTivity的功能大致分为三层:最底层是核心服务层(Base Layer),中间一层是IoTivity服务层,最上层是具体的物联

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号