物联网协同框架IoTivity简介(部分).doc
《物联网协同框架IoTivity简介(部分).doc》由会员分享,可在线阅读,更多相关《物联网协同框架IoTivity简介(部分).doc(18页珍藏版)》请在咨信网上搜索。
1、 . . . . . 目录一、物联网操作系统的整体架构51.物联网操作系统整体架构概述5a)物联网操作系统核概述5b)外围功能组件概述6c)物联网协同框架概述6d)公共智能引擎概述8e)集成开发环境概述8f)物联网领域应用概述8g)物联网操作系统整体架构总结9h)物联网操作系统在不同场景的应用举例102.物联网操作系统架构详解10a)核的主要组成部件10i.物联网设备硬件11ii.硬件抽象层HAL11iii.设备管理框架与设备驱动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)核辅助子系统2
3、0i.安全与权限管理20ii.核统计20iii.硬件抽象层HAL203.可伸缩机制:核能大能小20a)基于宏定义的编译配置20b)基于列表的模块加载20c)可加载外部模块204.任务管理:兼顾效率与扩展性20a)线程调度20b)核同步21c)核休眠:能节电就节电215.存管理子系统21a)固定尺寸存块链表:确保存分配时间21b)空闲存块链表:充分提升存使用效率21c)基于硬件MMU的存保护21d)存对齐21e)存清零21f)基于硬件MMU的存空间隔离216.设备管理子系统22a)中断管理22i.中断管理概述22ii.毫秒级时钟中断22iii.中断嵌套技术23iv.可控锁中断技术23v.中断扼杀
4、机制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.外围功能组件概述252.JAVA虚拟机:实现软硬件别离
5、263.在线更新机制274.用户界面shell275.数据加密与安全套接字SSL276.简化的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协同框架整体架构36i.IoTivity的核心服务层38ii.IoTiv
6、ity的附加服务层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优点和不足分析493.Google Weave框架49g)Wea
7、ve背景与定位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语言与处理引擎624.语音与语义识别引擎62六、物联网操作系统开发环境与
8、运行支撑体系621.开发环境622.运行支持机制62a)物联网操作系统辅助平台62b)开发社区支持62c)物联网领域应用621. IoTivity框架a) IoTivity协同框架概述我们知道,由于缺乏标准,不同的物联网设备和系统之间直接交互非常困难,这样就无法实现物联网的“协同特性。比如有的设备支持低功耗蓝牙(BLE),有的设备支持WiFi,有的物联网设备那么支持Zigbee,这些设备之间因为缺乏统一的通信标准,相互之间无法通信。为了解决不同物联网设备之间的互通问题,由高通,Microsoft,Intel等等业界顶级的IT公司组成了一个叫做开放互联联盟Open Interconnect Co
9、nsortium,OIC的组织(后续简称为OIC),专门制定不同物联网设备之间的互联通信标准。目前来说,参与OIC的公司,已经超过了100多家。OIC定义了一套完整的设备之间的通信标准,只要物联网设备遵循这些标准,相互之间就可以相互通信,并能够相互协同工作。OIC是由很多不同职责的小组组成的,其中核心小组Core Group定义了开放互联标准的最核心机制,包括根本的通信协议,安全保证机制,设备命名和资源发布机制,等等。另外还有很多专注于“垂直应用的小组,比如智慧家庭,工业应用,智慧医疗等。这些垂直应用小组基于核心小组定义的根本机制,来进一步细化和定义垂直领域相关的通信标准。所有这些不同的小组定
10、义的标准,组成了OIC的开放互联标准体系。同时,OIC还设计了认证机制,通过OIC认证的设备,可以确保能够跟其它功能相关比如,属于同一垂直领域的设备进展直接交互,而不管这些设备是不是由同一个厂商开发的。在当前代码为王的时代,只有标准是远远不够的,还必须有与之配套的实现代码,以供物联网设备商直接参考。于是在Linux基金会的支持下,OIC专门成立了一个叫做“IoTivity的项目,用于实现OIC制定的物联网设备互联标准。从IoTivity的名字就可以看出来,这个项目就是瞄准物联网IoT的。本质上,IoTivity是一个开源项目的名字,这个项目的目的是为了实现OIC定义的开放互联标准。这个项目最终
11、实现的软件,也被成为IoTivity框架,在本书中叫做“IoTivity协同框架,强调物联网的“协同特性。b) IoTivity协同框架主要功能c) IoTivity协同框架整体架构IoTivity是一个典型的物联网协同框架,其软件组成,也符合物联网协同框架的组成三要素-人侧软件,物侧软件和云侧软件。以下图示意了IoTivity的软件组成:其中IoTivity Client就是运行在用户智能手机,电脑,PAD等设备上的人侧软件。而IoTivity Device那么是运行在物联网设备上的物侧软件,也是IoTivity项目重点开发和实现的软件,在接下来的局部中,我们重点介绍IoTivity Dev
12、ice,与物侧软件。IoTivity Cloud是最新版本的IoTivity推出的一项服务,它实现了一个简单的物联网后台系统。需要注意的是,IoTivity Client可以通过本地局域网,直接控制IoTivity设备,无需经过IoTivity后台。前提是IoTivity Client和IoTivity Device能够位于同一个本地局域网上,能够通过WiFi,蓝牙或者Ethernet等网络技术直接通信。这与物联网协同框架中定义的人侧软件和物侧软件交互机制一样。在IoTivity的实现中,Client通过CoAP协议与物联网设备交互。CoAP协议是基于IP/UDP协议的一种低功耗通信协议,该协
13、议通过利用IP的组播功能,实现了设备的发现机制。具体来说,就是运行IoTivity Client的设备,比如手机,电脑等,在本地局域网上发送设备发现请求Device Discovery,该请一个组播IP报文,会被所有运行IoTivity Device的物联网设备接收到。在请求报文中,Client会指定待发现的设备类型,比如智慧灯泡,智慧门锁,等等。接收到发现请求的物联网设备,首先匹配自己的设备类型与请求报文中的设备类型,如果一致,那么单独给Client一个回应。如果不匹配,那么直接丢弃该发现报文,不做任何回应。通过这种机制,IoTivity Client就会把局域网中的所有物联网设备“收集上来
14、,并呈现给用户,从而完成管理和控制功能。这个过程中,还涉与到认证,权限管理,加密等等细节,在后面的局部中,我们会详细介绍。相对运行在物联网设备上的IoTivity Device软件,IoTivity Client和IoTivity Cloud的比重都比拟少,属于“附属功能,因此在本书中不做详细介绍。更方便的是,IoTivity提供了这两类软件的根本组态各类可直接的代码库,在具体物联网软件开发中,直接引用即可,定制的工作量并不大。下面详细介绍运行在物联网设备中的IoTivity Device软件。以下图示意了IoTivity Device的整体技术框架:整个IoTivity的功能大致分为三层:最
15、底层是核心服务层Base Layer,中间一层是IoTivity服务层,最上层是具体的物联网应用,比如智慧家庭,智慧医疗,等等。同时为了处理上的方便,IoTivity把目标设备分为了两类,一类是功能和资源丰富的智能设备称为Rich device,后续翻译为智能设备,比如手机,家庭网关,智慧电视等。这类设备具备强大的CPU处理能力,具备几百兆甚至数G的存,具备丰富的通信能力。另外一类叫做小型设备Lite Device,后续翻译为资源受限设备,这类设备的计算能力和通信能力往往很局限,比如一些基于嵌入式控制器的嵌入式系统等。在这两类设备中,智能设备运行全部的IoTivity协议栈,而功能受限设备,那
16、么只运行IoTivity的核心服务层。因为IoTivity的服务层需要相对强大的处理能力和计算资源,因此一般情况下无法在资源受限系统中运行。核心服务层是IoTivity的核心,所有其它的层次,都是基于根本服务层进展构筑的。核心服务层包括设备发现,设备消息交互,通信安全,以与一个抽象的连接层。核心服务以C语言实现,通过C语言API向上层提供接口,供上层功能调用。核心服务层保存了最根本的功能和服务,因此对硬件设备的要求不高,可以运行在资源受限设备上。IoTivity服务层那么实现了常见的补充功能,包括物联网设备管理,物联网设备的数据管理,低功耗支持,资源封装,资源容器等功能。该层次是基于IoTiv
17、ity的核心功能层实现的。与核心功能层不同,IoTivity服务层是以C+语言实现,其API也是基于C+语言的。这个功能层对硬件计算能力和通信能力有较高的要求,大局部情况下都运行在智能设备上,很少或没有运行在资源受限设备中。最上层那么是具体的应用层,比如智慧家庭,远程医疗,智慧城市等等。这些应用程序通过调用IoTivity的API接口(包括IoTivity的服务层API接口,以与IoTivity的核心层API接口),来实现特定的垂直功能。这局部容是于具体的应用领域强相关的。需要强调的是,应用层APP并不是只能调用IoTivity服务层的API接口,也可以调用IoTivity的核心服务API,需
18、要根据实际需要具体实现。下面重点介绍IoTivity的核心服务层和IoTivity服务层,应用层因为与具体的垂直领域有关,在此不做重点说明。i. IoTivity的核心服务层以下图示意了IoTivity核心服务层的主要构成:对三个大类,每个大类中的每个模块进展具体说明。IoTivity的设计目标之一,就是支持多种现有的通信技术或协议,比如低功耗蓝牙,6LowPan,WiFi(IPv4和IPv6),以与支持远程连接的XMPP等协议。为了屏蔽这些不同协议或技术的细节,使得上层软件能够一致的访问不同的底层通信协议,IoTivity专门定义了一个通信抽象层Connectivity Abstractio
19、n Layer,CAL。所有的底层通信技术的实现细节,都隐藏在通信抽象层之下。通信抽象层提供了一个公共的平台层,为构筑在CAL之上的软件,比如C Stack,安全机制等提供了统一的接口。同时,CAL还针对不同的底层通信技术,也向上提供了特定通信技术有关的功能接口,供上层软件按需调用。对资源服务器来说,CAL提供了组播报文的接收功能,以便资源服务器能够接收到来自客户端的资源发现请求。同时,CAL也提供了针对资源受限设备的“组播禁止功能,以便于这些资源受限设备能够按需禁止组播,以节约能耗。ii. IoTivity的附加服务层附加服务层在IoTivity框架中叫做Service Layer,为了与核
20、心服务区别,翻译为“辅助服务层是IoTivity基于根底服务层开发的支撑物联网特定场景应用的公共服务,这些公共服务以组件化形式存在,每个服务服务都提供特定的API(C+语言),供开发者调用,来实现某个特定的功能。这些辅助服务都有比拟广泛的普适性,否那么IoTivity也不会开发。IoTivity附加服务层依赖于IoTivity的核心服务层,需要调用核心服务层提供的API(C语言API),来完成特定的操作。IoTivity附加服务层与核心服务层的关系,类似于物联网操作系统核与外围功能组件之间的关系。同时,IoTivity的附加服务层的功能组件也不是固定的,而是随着IoTivity的开展,以与应用
21、场景的变化,而不断变化和增加。以下图示意了IoTivity附加服务层的主要构成:对五个大类,以与每个大类中的每个模块,进展具体说明。d) IoTivity主要技术实现在对IoTivity的整体架构和主要功能有了初步的了解之后,我们再深入IoTivity部,看看IoTivity主要模块或功能的技术实现。本局部容主要是面向IoTivity的开发者编写的,通过对IoTivity的部实现有清晰的了解,可以帮助开发者更好的实现应用程序。i. IoTivity的软件架构上面介绍了IoTivity的功能架构,下面简单介绍其软件架构。以下图示意了IoTivity的软件分层结构:在软件实现上,IoTivity基
22、于清晰的层次结构。图中最上面和最下面两层,分别是物联网应用程序和网络硬件,严格来说不属于IoTivity的畴。当前的IoTivity实现是基于CoAP协议作为其根底通信协议,我们知道,CoAP协议基于UDP/IP协议实现。IoTivity的整个软件体系又进一步分为核心功能层和附加服务层,其中核心服务层就在上图中IoTivity Base这个软件层次中实现,这包括设备发现,远程访问等等根底能力。核心服务层的API是基于C语言实现的,可以很方便的移植到资源受限的嵌入式系统中。在核心服务层之上,就是IoTivity的附加服务层。该层次通过C+语言实现其API,并实现了诸如easy setup,Gro
23、up Manager等根底服务。如果IoTivity是面向资源受限的硬件设备,那么只需要移植核心服务层即可。如果是面向资源不受限的智能硬件平台,同时又需要支持完整的IoTivity附加服务,那么需要移植基于C+的附加服务层。ii. IoTivity的资源标识与标准操作模式iii. IoTivity设备的初始化分为两类:一类是针对特定应用场景的批量初始化,比如智慧路灯,智慧商场中的各类传感器,等等。这类设备在设备投放使用之前,就已经完成初始化,比如设备的蓝牙PIN码,WiFi密码与SSID,服务器端的IP地址或者域名,以与各类参数。这类设备的初始化,一般是由系统集成商来定制完成的。这类设备的初始
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 联网 协同 框架 IoTivity 简介 部分
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。