您的位置:首页 > 参评方案展示 > 下一代互联网

兰州工业学院:基于6LoWPAN物联网的监测系统设计

  0 引言

  信息机房的动力环境参数对于信息系统的稳定性、安全性、可靠性具有举足轻重的作用,对信息机房的环境状态进行有效监测是IT运维的重要任务。传统的IT动环系统多采用“传感器/变速器-仪器仪表-PC专家系统”的有线集中模式,系统庞大、成本高昂、准确性较差,实施困难,利用物联网等新技术能够有效解决传统方式的这些问题,这也成为IT动环系统的研究和发展的方向之一。

  本系统利用IPv6网络,基于6LoWPAN(面向低功耗无线局域网的IPv6)和无线传感网技术,设计IT动环监测系统,主要包括监测节点、6LoWPAN传感网络、监测主机(监测中心)三部分部分。系统主要研究6LoWPAN在物联网中的应用、IPv6网络与无线传感网的融合、传感数据监测,拟实现的功能有:配电系统监测、机柜温湿度监测、火灾监测、灯光照明控制、人员红外监测、远程报警等,设计监测中心服务程序,通过IPv6网络部署并进行数据传输和监测。

  1 系统总体设计方案

  系统主要实现6LoWPAN网络和互联网的相互通信的同时可以实现环境系数的测量,以突出6LoWPAN网络的优势,6LoWPAN网络具有其他无线传感网络所没有的优势,即布置简单、维护方便、功耗低、成本低的优势,可以在没有任何基础设施做铺垫的情况下实现微型设备互联。并且可以实现稳定方便的环境监测系统。设计系统分为两个部分来完成,即6LoWPAN网络和互联网网络两个部分,这两部分通过串口通信的方式来通信,最终实现了6LoWPAN网络与互联网网络的通信问题,6LoWPAN平台网络如图1.1所示,具体的硬件模块如图1.2所示。

  图1.1 系统总体设计图

  图1.2 实验的硬件模块

  2 关键技术

  2.1 基于Contiki操作系统的6LoWPAN实现

  1)事件驱动机制与Protothreads机制

  事件驱动机制和Protothreads机制都是Contiki操作系统的两个主要机制,事件驱动机制是为了降低功耗,Protothreads机制是为了节省内存。其实嵌入式系统被设计出来是为了响应周围环境的变化,我们把这一个个变化可以看做一个个事件,当事件发生时通过操作系统就可以处理这些事件,当事件没有发生时,也就是处于空闲状态时,那么此时嵌入式系统会处于休眠状态,可以降低功耗,我们把这个过程就叫做事件驱动,就相当于中断一样。

  传统的操作系统是通过栈保存进程上下文的,不同的进程需要不同的栈进行保存,由于6LoWPAN网络节点的内存很有限,所以传统的操作系统不适用于传感器设备。要解决在有限的内存的情况下保存进程上下文,可以使用 Protothreads机制,通过保存进程被阻塞处的行数(进程结构体的一个变量,unsiged short类型,只需两个字节),从而实现进程切换,当该进程下一次被调度时,通过switch(_LINE_)跳转到刚才保存的点,恢复执行。整个Contiki只用一个栈,当进程切换时清空,大大节省了内存。

  Protothreads机制的最大特点就是轻量级,每个Protothreads不需要自己的堆栈,所有的Protothreads使用同一个堆栈,而保存程序断点用两个字节保存被中断的行数即可,即Protothreads机制的RAM很小,没有额外的堆栈。是完全用C语言编制的,没有汇编和其他语言。可以使用操作系统也可以不使用操作系统。Protothreads机制出现已经很早了,只是Contiki OS中应用了这种机制,此外它还可以应用到许多情形中。在使用Protothreads机制时需注意,因其没有保存堆栈上下文,所以没有保存局部变量。那么怎样使用局部变量呢?我们只能够将局部变量定义为局部静态变量,在这种情况下该变量才会在整个生命周期中都存在。

  2)定时器

  Contiki 提供了四种不同的定时器,同时也提供了定时器初始化、复位、重启和检查的相应函数。第一种是只能保存此时的定时的时间长短的简单定时器。第二种是当定时的时间到了的时候能够产生能够生成相应的定时器事件,之后把这个事件发送到初始化对应的定时器的进程中。第三种定时器叫做回调定时器,主要是当定时时间到时开始调用特定的函数。第四种就是实时定时器,专门在特定的时间段里调用已经指定的函数。

  3)微型通信协议栈uIP

  uIP是TCP/IP的微型协议栈,其实质就是一个程序库,库中主要是TCP/IP的最小配置,其中有UDP(用户协议报协议)、TCP(传输控制协议)、IP、ICMP协议等。程序是用C语言写的,没有其他的语言。uIP被设计出来是为了解决采用TCP/IP机制的嵌入式设备之间通信的。不管是在多任务操作系统中还是在一个单任务系统中,uIP都可以在其中运行。在TCP/IP协议中是按分层设计的,层与层之间的接口的定义较为严密,在实现uIP时为了减少代码的数量,层与层之间进行了充分的耦合。

  4)轻量级通信协议栈Rime

  Rime协议栈是专门为WSN网络设计的,是为了使得WSN网络协议得到简化,代码重用。所以它属于轻量级通信协议栈。同时它也是层次型协议栈。Rime协议栈的优点是可以把复杂的协议分解成多个简单的协议。其支持单跳和多跳通信原语,通信原语与通信原语之间存在着层次关系,可以从简单的匿名广播到Mesh网络路由。

来源:中国教育网作者:梁金荣,胡亚东,马应莲,何辉
《中国教育网络》
杂志微信公众号
高校信息化应用
微信公众号
高校网络安全
微信公众号