1、物联网软件设计物联网软件设计The Software Architecture,Design and Implementation of Internet Of ThingsBy:陆寅第三章第三章 接入层核心技术与软件设计接入层核心技术与软件设计在物联网体系结构中,接入层位于感知层与网络层(或服务层)之间,由基站结点和接入网关组成,负责将感知层的异构组件联入IOT网络,完成数据与控制指令的双向传输。课程内容课程内容lIOT接入层的主要功能lIOT接入层构成lIOT接入层核心技术与软件lZigbee技术及其软件设计lPLC技术及其软件设计1 接入层的主要功能接入层的主要功能l感知层信息的汇聚、校
2、验和转换l担任局域网络和主干网络之间的网关,完成数据的网络封包与传输目前在物联网应用系统中,接入层的职责主要由传感器网络承担。2 接入层核心技术接入层核心技术l2.1 无线传感器网络(Wireless Sensor Network,WSN)技术2.1.1 WSNlWSN是由部署在监测区域内的大量传感器单元结点组成,通过无线通信方式形成的一个多跳传输、自组织网络。lWSN与感知层的传感器联系紧密,广泛应用在情境参数测量结点中。2 接入层核心技术接入层核心技术2.1.2 WSN体系结构l结构组成:WSN是由无线传感器结点、汇聚结点、数据处理中心以及数据浏览中心等构成的一种新型信息获取系统。lWSN
3、网络层次:WSN网络层次结构继承了传统的ISO OSI层次模型,分为物理层、链路层、网络层、传输层和应用层,在此基础上,增加了纵向的能量管理和网络管理。2 接入层核心技术接入层核心技术2.1.2 WSN体系结构l结点结构:在WSN结点的基本结构中,包括传感单元、数据处理单元、无线通信单元和能量单元,此外还可以包括定位子单元、承载网络通信单元等可选模组。2 接入层核心技术接入层核心技术2.1.2 WSN体系结构lWSN组网结构通常有两种描述方式:平面拓扑结构,逻辑分层结构。前者常用于描述网路布设组织形式,后者在网络路由算法中常用。2 接入层核心技术接入层核心技术2.1.3 WSN特点l硬件资源有
4、限,计算能力和存储空间受限;l电源容量有限,需要高效率的能源分配;l无核心结点,对等网络;l自组织结构,结点发现与路由配置自组织;l多跳路由;l动态拓扑,结点的接入与脱离都会造成拓扑结构的变化;l结点数量众多,分布密集;l传感器结点故障概率高,需要较好的容错性;2 接入层核心技术接入层核心技术2.1.3 WSN关键技术l路由协议:为了在多跳数据传输路径中达到最优能源效率,路由协议称为WSN研究热点;常见的路由协议分类包括:能量感知路由协议:优先选择最小能耗路径;或均等使用结点能量路径;以数据为中心的路由协议:通过握手协商,仅向有需求的结点扩散数据,并在传输过程中对数据进行融合;如定向扩散协议D
5、D,SPIN协议;基于地理位置的路由协议:在握手协商过程中,根据结点布设地理位置,只与相邻结点进行协商;需要定位技术支持;如GEAR协议;复合协议:这已成为目前研究热点,如基于逻辑分层结构的LEACH协议、PEGASIS协议,都是以能量效率为目标的、参考结点布设规律的路由协议;2 接入层核心技术接入层核心技术2.1.3 WSN关键技术l网络拓扑控制:在满足网络覆盖度和连通度的前提下,通过功率控制和骨干网络节点选择,提出不必要的通信链路,生成一个高效的、优化拓扑结构。l节点定位技术:确定节点的绝对位置或相对骨干节点的相对位置。除了结合地理定位的节点定位技术,还可采用通信跳段距离作为节点相对定位参
6、考,如Amorphous算法;l数据融合:由于WSN需要高密度散布传感器,以获取可靠地监测能力,信息冗余不可避免;为节约传输能量,需要对来自基层结点的信息进行融合;常见的数据挖掘算法有贝叶斯算法、神经网络算法等;l网络安全技术:数据加密、数据包加密、信道加密,水印技术;l无线通信技术:发展低功耗、短距离、简单可靠的物理层传输技术;如Zigbee技术;2 接入层核心技术接入层核心技术2.1.3 WSN关键技术l网络拓扑控制:在满足网络覆盖度和连通度的前提下,通过功率控制和骨干网络节点选择,提出不必要的通信链路,生成一个高效的、优化拓扑结构。l节点定位技术:确定节点的绝对位置或相对骨干节点的相对位
7、置。除了结合地理定位的节点定位技术,还可采用通信跳段距离作为节点相对定位参考,如Amorphous算法;l数据融合:由于WSN需要高密度散布传感器,以获取可靠地监测能力,信息冗余不可避免;为节约传输能量,需要对来自基层结点的信息进行融合;常见的数据挖掘算法有贝叶斯算法、神经网络算法等;l网络安全技术:数据加密、数据包加密、信道加密,水印技术;l无线通信技术:发展低功耗、短距离、简单可靠的物理层传输技术;如Zigbee技术;2 接入层核心技术接入层核心技术l2.2 ZigBee技术2.1.1 ZigBeelZigBee是一种短距离、低功耗的低俗无线通信技术,常用于环境监测与工业控制领域。lZig
8、Bee的物理层、介质访问层和数据链路层是基于IEEE802.15.4协议(WPAN)。在其之上建立网络层和应用支持层。2 接入层核心技术接入层核心技术l2.2 ZigBee技术2.1.2 ZigBee相关概念l信道:ZigBee信道指通信频段,共27个,其中2.4GHz:250kb/s x 16;915MHz:40kb/s x 10;868MHz:20kb/s x 1;l网络号(PANID):ZigBee的协调器时通过选择网络工作信道及个域识别标志(或网络号)来启动一个ZigBee网络;PANID是一个32位标志,可在网络建立时随机分配;l地址:包括物理(也称IEEE或扩展)地址和网路地址;物
9、理地址在设备出厂时初始化,全球唯一;网络地址为16位地址,在节点加入时进行分配;2 接入层核心技术接入层核心技术l2.2 ZigBee技术2.1.2 ZigBee相关概念l设备类型:ZigBee规范定义了三种类型的设备ZigBee协调器:启动和配置网络的一种设备。负责网络正常工作及保持同网络其他设备额的通信。一个ZigBee网络只允许有一个ZigBee协调器;ZigBee路由器:ZigBee网络中的转发节点,可存储地址绑定表;ZigBee终端设备:执行具体职能的终端节点设备;只能通过上两类节点转发才能相互通信;l根据功能完整性,上述设备可分为全功能(FFD)和半功能(RFD)设备;协调器和路由
10、器为FFDRFD只能用于终端设备FFD之间、FFD和RFD之间可以直接通信;RFD只能与FFD交互,RFD之间通信至少需要路由器转发;2 接入层核心技术接入层核心技术l2.2 ZigBee技术2.1.2 ZigBee相关概念l节点绑定:绑定是基于簇的拓扑结构,指在两个节点在应用层上建立起来的一条逻辑链路;ZigBee2006版规定全部节点中都需要实现绑定机制,并将其称为“源绑定”。l绑定机制允许一个应用服务在不知道目标地址的情况下向对方的应用服务发送数据包;通过绑定,可以实现应用层的一对多发送;l绑定设置存储在绑定表数据结构中。FFD类设备可以保存并维护绑定表,RFD设备不能持有绑定表;2 接
11、入层核心技术接入层核心技术l2.2 ZigBee技术2.1.3 ZigBee网络层帧结构lZigBee网络层协议数据单元(NPDU)结构(帧结构)基本组成部分包括:网络帧报头(包含帧控制、地址和序列信息),可变长有效载荷;结构如下图所示;lZigBee协议中定义了两种类型的网络层帧:数据帧和网络层命令帧。2 接入层核心技术接入层核心技术l2.3 低压电力线载波通信技术(Power Line Carrier/Communication,PLC)2.3.1 PLClPLC是利用电力线实现信息传递的通信方式的统称,多数指窄带模拟载波。lPLC业已有70年以上的应用历史,经历了窄带PLC到宽带PLC的
12、演变,已经可以承担接入服务;2.3.2 PLC应用l因为PLC传输媒介限制,无法称为主干接入手段;一般只能组成用户室内或小型楼宇的局域网络,用于家庭内部联网(智能家电网络)lPLC可可以支持的业务包括:会话通信业务、信息服务类业务(EMAIL等)、广电广播/点播业务;3 Zigbee应用系统设计与开发应用系统设计与开发l3.1 基于Zigbee的应用系统Zigbee设备主要应用在环境监测与实时控制中,作为现场总线承担信息传输任务。在物联网应用系统结构中,Zigbee设备通常作为感知层与接入层设施。基于Zigbee的应用系统研发,通常按照系统部署结构组织进行;3 Zigbee应用系统设计与开发应
13、用系统设计与开发l3.1 基于Zigbee的应用系统3 Zigbee应用系统设计与开发应用系统设计与开发l3.1 基于Zigbee的应用系统基层节点:l实现传感器控制l信息获取、识别与转换l信息融合l网络接入l信息传输感知层软件接入层软件3 Zigbee应用系统设计与开发应用系统设计与开发l3.1 基于Zigbee的应用系统计算服务:l部署在远端服务器中,基于SOA技术实现的服务中间件l分别为系统结构中的上层和下层提供接口下层接口:提供数据存储服务;提供数据派发服务;上层接口:提供大量基础应用服务接口;l服务的注册与管理接口l数据访问服务接口l事件定义注册接口;事件推理服务;l事件响应注册接口
14、;事件派送服务;3 Zigbee应用系统设计与开发应用系统设计与开发l3.1 基于Zigbee的应用系统应用系统:l是反应行业特征的应用程序集合,实现形式多样化,总体是部署在服务层上的网络服务应用,也可以是运行在用户终端上的客户端应用;事件定义集合远端服务类应用:无需H-C Interaction,但又无法采用服务层中间件实现的应用,例如包含行业规则的数据挖掘应用;客户端应用:通常承担了H-C Interaction任务;3 Zigbee应用系统设计与开发应用系统设计与开发l3.2 案例设计:智能家庭火警监测应用目标:监测火警,并采取措置防止损失扩大。要求:l记录火情,记录火源具体位置;l发生
15、火警时及时关气;l发送报警信息;3 Zigbee应用系统设计与开发应用系统设计与开发l3.2 案例设计:智能家庭火警监测应用3.2.1 案例分析:l确定系统规模:硬件:智能家庭、远程客户终端软件:感知层传感器和动作器控制、传输层数据转换、服务层数据存储、服务层几乎全部内容、应用层事件定义集合,客户端报警;l确定所涉及的技术:嵌入式系统编程、数据库编程、中间件编程、Android编程/SMG应用3 Zigbee应用系统设计与开发应用系统设计与开发l3.2 案例设计:智能家庭火警监测应用3.2.1案例分析:l硬件设计:Zigbee SOC 设备作为嵌入式系统核心;家庭网关配置Zigbee扩展模块作
16、为WSN协调器节点;采用温度、烟雾传感器探测火警;采用电磁阀配合PLC电源完成煤气关断;远程客户端定位为用户手机;l系统软件设计:3 Zigbee应用系统设计与开发应用系统设计与开发l3.2 案例设计:智能家庭火警监测应用3.2.1案例分析:l硬件选型:数值型传感器,无需AD采样,需要进行数据变换;PLC电源模块,完成电磁阀关断;C51/ARM核心的Zigbee SOC系统,及其开发调试器;Intel核心的OSGi网关平台,Linux系统,可以部署小型数据库,可以部署小型应用;3 Zigbee应用系统设计与开发应用系统设计与开发l3.2 案例设计:3.2.2 Zigbee系统开发(以ARM核心
17、为例)lZigbee SOC:飞思卡尔的MC13224 ARM7 射频SOC;lC51RF仿真器;lEWARM集成开发环境(IAR 6.3以上版本)lZigbee协议栈;3 Zigbee应用系统设计与开发应用系统设计与开发l3.2 案例设计:3.2.2 Zigbee系统开发(以ARM核心为例)lZigbee终端软件功能:嵌入式Linux系统,采用内存映像方式(SPI接口)进行端口访问,获取传感器读数;完成数据变换;通过Zigbee协议栈将数据发送到协调器所在家庭网关;lZigbee协调器软件功能:嵌入式Linux系统,通过Zigbee协议栈管理Zigbee终端节点;访问本地数据库,存储终端配置
18、信息;完成信息封装,将来自终端节点的信息补充时空参量;通过网络服务URI,访问位于远程服务器端的服务层数据存储服务,提交环境监测信息;在系统启动时,通过URI远程服务器注册控制接口,用于接收服务层应用服务的调度命令;响应火警事件处理指令,通过PLC服务执行指令;3 Zigbee应用系统设计与开发应用系统设计与开发l3.2 案例设计:3.2.3 接入层其他服务软件lZigbee部署服务:在Zigbee网络启动过程中调用,记录终端位置(精确到房间),存入数据库;lPLC控制服务:可以在Zigbee协调器应用中以模块形式实现,也可以根据家庭网关的类型,采用OSGi Bundles 的形式实现,通过本
19、地URI调用;3 Zigbee应用系统设计与开发应用系统设计与开发l3.2 案例设计:3.2.4 服务层软件l(平台服务略);l智能家庭数据库服务:依托平台数据库以CGI等形式实现,通过URI访问,以表单形式提交数据;l智能家庭事件集合、推理规则;l智能家庭火警服务:部署在服务层平台上启动时注册事件集合与推理规则等;提供底层监测网络注册服务,接收来自接入层的注册信息;向平台事件服务注册火警事件监听,在检测到火警事件后立即通过监测网络注册的控制接口执行火警处理操作;l智能家庭火警监测信息查询服务;3 Zigbee应用系统设计与开发应用系统设计与开发l3.2 案例设计:3.2.5 应用层软件l部署在服务器端:用户终端注册管理服务;l部署在用户终端:如果提供智能家庭APP,可以提供图形化UI,显示火情信息,甚至提供家庭安全监控录像实时观察火情;如果是依托短信报警,本部可省略;火情查询可以通过浏览器进行;
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。