第八章物联网的应用开发基础8.1硬件开发8.2操作系统8.3物联网软件设计8.4ZigBee网络系统的设计开发案例8.1.1网络节点的硬件设计1、数据处理信息采集和数据处理是物联网的重要特征之一。每个网络终端节点都具有一定的智能性,能对数据进行预处理,并根据感知的情况做出不同处理。从处理器的角度来看,网络节点分为两类:一类采用以ARM处理器为代表的高端处理器。另一类是以采用低端微控制器为代表的节点。该类节点的处理能力较弱,但是能量消耗也很小。厂商芯片型号RAM容量/KBFlash容量/KB正常工作电流/mA睡眠模式下的电流/μAAtmelMega10341285.51Mega1284128820Mega165/325/6454642.52MicrochipPIC87x0.36821Intel80518位Classic0.532305805116位1164510Philips5116位260153MotorolaHC050.5326.690HC082328100HCS084606.51TIMSP14x16位2601.51MSP16x16位104821AtmelAT91ARMThumb256102438160IntelXScalePXA27X256N/A39574SamsungS44B08N/A605常见的微控制器性能比较芯片型号运行电压(V)运行频率单位指令消耗能量(nJ)ATMega3.34MHz4ARMThumb1.840MHz0.21C1213.332KHz0.2IBM405LP1152MHz0.35C1213.325MHz0.5TMS320VC55101.5200MHz0.8XscalePXA2501.3400MHz1.1IBM405LP1.8380MHz1.3XscalePXA2500.85130MHz1.9常用处理器的每指令耗费能量2、采集识别采集识别功能经常涉及到一个称作变送器的概念。所谓变送器(transducer)是指将一种物理能量变为另一种物理能量的器件,包括传感器和执行器两种类型。3、无线通信无线通信模块由无线射频电路和天线组成,是网络节点中最主要的耗能部件。无线通信技术通常包括IEEE802.11b、IEEE802.15.4(ZigBee)、Bluetooth、UWB、RFID和IrDA等。无线技术频率距离/m功耗传输速率/kbpsBluetooth2.4GHz10低10000802.11b2.4GHz100高11000RFID50kHz~5.8GHz5~200ZigBee2.4GHz10~75低250IrDAInfrared1低16000UWB3.1~10.6GHz10低100000RF300~1000MHz10X~100X低10XX表示数字1~9物联网常用的无线通信技术通信芯片的传输距离受多种因素的影响。最重要的因素是芯片的发射功率。显然发射功率越大,则信号传输的距离越远。一般来说,发射功率和传输距离的关系是P∝dn,这里P表示发射功率,d表示传输距离,n通常为3~4之间的常数。如果要实现2倍的传输距离,发射功率需要增加8~16倍。影响传输距离的另一重要因素是接收机的灵敏度。在其他因素不变的情况下,提高接收灵敏度可以增加传输的距离。采用x表示功率的dBm值,P表示功率的绝对值(瓦),则1010log30Px1mW相当于0dBm,而1W相当于30dBm。无线射频电路设计考虑三个问题:天线设计阻抗匹配电磁兼容天线的性能指标:天线增益天线效率天线电压驻波比天线增益是指天线在能量发射最大方向上的增益。天线效率是指天线以电磁波的形式发射到空中的能量与自身消耗能量的比值,其中自身消耗的能量是以热的形式散发。天线电压驻波比用来衡量传输线与天线之间阻抗失配的程度。当天线电压驻波比值越高,表示阻抗失配程度越高,则信号能量损耗越大。在通常情况下,内置天线由于便于携带,且具有免受机械和外界环境损害等优点,常常是设计时的首选方案。第二种天线是将简单的导线天线或金属条带天线作为元件,安装在电路板上。第三种天线是特殊的陶瓷天线元件。第四种是外置天线,它没有内置天线的尺寸限制,通常离网络节点的噪声源的距离较远,因而具有很高的无线通信传输性能。天线种类射频放大输出部分与天线之间的阻抗匹配情况,直接关系到功率的利用效率。由于网络节点通常使用较高的工作频率,因而必须考虑导线和PCB基板的材质、PCB走线、器件的分布参数等诸多可能造成失配的因素。通常网络节点体积小,包括微处理器、存储器、传感器和天线在内的各种器件,它们聚集在相对狭小的空间,因而任何不合理的设计都可能带来严重的电磁兼容问题。采用电池供电是目前最常见的无线网络节点供电方式。按照电池能否充电,电池可分为可充电电池和不可充电电池;根据电极材料,电池可以分为镍铬电池、镍锌电池、银锌电池、锂电池和锂聚合物电池等。网络节点在某些情况下可以直接从外界环境获取足够的能量,包括通过光电效应、机械振动等方式获取能量。最常见的能量收集技术包括太阳能、风能、热能、电磁能和机械能等。4、供应电能5、外围电路网络节点的外围模块主要包括看门狗电路、I/O电路和低电量检测电路等。看门狗(WatchDog)是一种增强系统鲁棒性的措施,能有效防止系统进入死循环或程序跑飞。看门狗的工作过程如下:在系统运行以后启动看门狗的计数器,看门狗开始自动计数。如果到达了指定的置位,看门狗计数器就会溢出,引起看门狗中断,造成系统复位,恢复正常程序流程。8.1.2网络节点设计案例1、Mica系列节点概述Mica系列节点的组网示意图MICA2系列MPR4x0的实物MICA2DOT系列MPR5x0的实物MICAz系列MPR2400的实物多传感器模块MTS300/310的实物多传感器模块MTS510的实物8.2操作系统8.2.1节点操作系统的特点①物联网节点的操作系统代码量必须尽可能小。②能适应网络拓扑动态变化的应用环境。③对监测环境发生的事件能快速响应,迅速执行相关的处理任务。④能有效地管理能量资源、计算资源、存储资源和通信资源。⑤必须支持多个节点协作完成监测任务。⑥让开发者方便地开发应用程序,无需过多关注对底层硬件的操作。⑦能通过可靠传输技术对大量节点发布代码,实现在线动态重新编程。8.2.2节点操作系统的使用案例TinyOS的特点:①采用基于组件的体系结构,这种结构广泛应用在嵌入式操作系统。②采用事件驱动机制,适用于节点众多、并发操作频繁发生的传感器网络应用。③采用轻量级线程技术和基于先进先出(FIFO)的任务队列调度方法。④采用基于事件驱动模式的主动消息通信方式,这种方式已经广泛用于分布式并行计算。TinyOS有两种安装方式:一种是使用安装向导自动安装,另一种是全手动安装。不管使用哪种方式,都需要安装相同的RPM。RPM即ReliabilityPerformanceMeasure,是广泛使用的用于交付开源软件的工具,用户可以轻松地安装或升级RPM打包的产品。TinyOS应用程序示例接口(interface)是一个双向通道,表明接口具有的功能和事件通知能力是双向的,向调用者提供命令和实现命令者进行事件通告。接口的例子:interfaceNAME{asycommandresult_tCNAME(pramp);asyeventresult_tENAME(pramp);}MainStdControlBlinkMStdControlTimerTimeCTimerStdControlBlink程序的层次结构RealMainhardwareInitPotStdControlPotPotChardwareInitHPLInitMain配件的层次结构8.3.1软件系统的分层结构核心支撑技术具体应用代码系统内核通信协议应用数据功能管理控制功能收/发模块硬件抽象层物理层网络节点软件系统的分层结构8.3.2软件系统的开发内容网络节点的软件开发需要使用基于框架的组件。这种框架运用自适应的中间件系统,通过动态交换和运行组件,支撑高层的应用服务架构,加速和简化应用系统的设计。网络节点设计的三个环节:①数据采集功能的设计②单个节点功能的设计③网络功能的设计网络功能框架的组件算法服务虚拟机中间件管理操作系统传感驱动CPU传感器操作系统操作系统操作系统用户终端分布式中间件系统单个节点硬件模块网络应用单个节点硬件单个节点硬件单个节点功能框架的组件8.3.3后台管理软件可视化的后台管理软件是物联网系统的一个重要组成部分,是获取和分析网络数据的重要工具。从微观角度来看,物联网节点状态的获取难度远大于传统有线网络的节点。从宏观角度来看,物联网的运行效率和性能也比一般网络难以度量和分析。后台管理系统图形用户界面后台组件数据处理引擎网络数据数据库后台管理软件的组成后台管理软件由数据库、数据处理引擎、图形用户界面和后台组件四个部分组成。典型的后台管理软件(1)MoteView软件MoteView是Windows平台下支持传感器网络系统的可视化监控软件。MoteView作为传感器网络客户端管理和监控软件,提供Windows图形用户界面,主要作用包括:管理和监控系统;发送命令指示;报警功能;Mote编程功能;网络诊断。(2)SNAMP软件中科院开发的SNAMP(SensorNetworkAnalysisandManagementPlatform)软件包括串口、数据处理模块、实时显示模块等主要模块。SNAMP还提供了多种形式的用户接口,包括拓扑树、实时点列表等,满足用户在分析和管理传感器网络时的需求。MoteView显示的传感器数据列表MoteView输出的传感器信号波形SNAMP实时显示传感器网络拓扑结构示例8.4ZigBee网络系统的设计开发案例ZigBee是一种面向自动化和无线控制的低速率、低功耗和低成本的无线网络方案。ZigBee无线设备工作在公共频段(全球2.4GHz、美国915MHz、欧洲868MHz),传输距离为10~75m,具体数值取决于射频环境和特定应用条件下的输出功耗。ZigBee的通信速率低于蓝牙,由电池供电,并希望在不更换电池并且不充电的情况下能正常工作几个月甚至几年。ZigBee的通信速率在2.4GHz时为250kbps,在915MHz时为40kbps,在868MHz时为20kbps。常见无线通信协议的应用范围数据Zigbee互联网/语音802.11b传输速率蓝牙2蓝牙1802.11a/HL2&802.11g压缩视频文件多通道数字视频802.5.3/WIMEDIA传输距离ZigBee的物理设备分为功能简化型设备和功能完备型设备。ZigBee支持三种拓扑结构:星型(Star)结构、网状(Mesh)结构和簇树型(ClusterTree)结构。ZigBee网络的拓扑结构星型最常见,可提供长时间电池寿命;网状网络有多条传输路径,具有高可靠性;簇树型网络结合了星型和网状型结构,既有较高可靠性,又节省电池能量。(1)数据传输速率低(2)有效范围小(3)工作频段灵活(4)省电(5)可靠(6)成本低(7)时延短(8)网络容量大(9)安全性能好ZigBee网络的特点ZigBee网络系统的设计1、硬件设计要点ZigBee芯片硬件设计的要点在于ZigBee芯片和微处理器(MCU)之间的配合,每个协议栈都是在某个型号或序列的微处理器和ZigBee芯片配合的基础上编写的。电路设计ZigBee应用大多采用四层板结构,需要满足良好的电磁兼容性能要求。2、软件设计步骤建立Profile初始化编写应用层代码本章总结物联网的应用开发是一项实践性很强的技术,涉及到多门学科知识,通过有机结合形成物联网的应用功能。本章介绍了物联网应用开发所涉及的硬件设计、节点操作系统和软件设计的内容,并以ZigBee网络系统为例,介绍了具体的设计开发案例。本章内容属于物联网应用的基础知识,通过学习应能掌握常见网络应用方案的设计方法,理解物联网设计的基本原理。