基于传感网络的居家养老系统设计与实现
2014-09-26王中生陈国绍黄动力
王中生,杨 森,陈国绍,黄动力
(西安工业大学 陕西 西安 710032)
鉴于目前我国养老资源匮乏的现状,我们提出了一个全新的、符合我国国情的、以社区居家养老为主体、最大限度节省社会资源为主导的社区居家养老体系。随着传感器技术的发展与成熟,传感器网络的应用领域越来越广,遍及智能交通、环境保护、公共安全、平安家居、智能消防、工业监测、环境监测、老人护理、食品溯源、情报搜集等多个领域[1]。
文中基于传感网络,构建出以社区居家养老为主体的新型养老监护系统。该系统以监护对象家庭终端为最初节点,以社区监护中心为二级节点,以区(县)或市级医疗机构为三级或四级节点,最上层为服务器控制中心。家庭节点以ZigBee平台为基础,通过传感器节点对监护对象生命体征数据的采集,以STC89C52为控制器,以CC1101和CC2530为数据收发模块。该系统中,可根据不同的需求增加不同的传感器,完成监护对象温度、血压、脉搏、血流量等数据的采集与传送;实现对监护对象的远程监视。
1 一级节点设计概述
家庭节点包括用户节点、数据采集路由、社区路由等模块。使用STC89C52为核心控制器,射频芯片CC1101与CC2530作为数据收发器,采用ZigBee技术完成数据传输。ZigBee具有低功耗、低成本、低速率、网络容量大等特点,将ZigBee技术与传感器相结合[2],可以满足系统的需求。
1)硬件设计分析
根据前期分析,硬件部分主要有以下模块组成:用户节点、数据采集路由、社区路由、协调器,各模块功能如下。
用户节点负责监护对象生命体征信息及求助信息的采集,并通过CC1101(433MHz)发送至社区路由器。
数据采集路由负责环境信息的采集,采集的信息由ZigBee(2.4GHz)发送;ZigBee具有中继的功能,可以完成信息的远距离传输。本文仅以温湿度传感器AM2311作为测试示例。
社区路由负责数据的中继,对接收的信息进行分类处理,然后按照协议发送至PC协调器。
协调器为内信息接收终端,核心为ZigBee,通过底板与PC串口通信,将收到的信息传至PC,由PC进行处理。
2)通信协议设计分析
传感器网络是任务型的网络,脱离传感器网络谈论传感器节点没有任何意义。传感器网络中的节点采用节点编号标识,节点编号是否需要全网唯一取决于网络通信协议的设计[3]。居家养老系统节点众多,每个节点具有唯一地址,实现区分。用户节点是移动的,要对其进行定位,故信息之中需要包含定位所需要的RSSI值。系统传输的信息种类多,要对信息进行分类标识。考虑信息传输过程中可能出现错误,需要添加引导码及校验和。综合考虑,确定通信协议的基本格式为:
引导码+信息分类码+用户节点地址+路由地址+信号强度+求救+数据信息+校验和
2 各部分设计实现
1)通信协议设计实现
系统传输的信息主要有以下几类:节点环境信息、用户健康信息、紧急求助信息,据此,规范化的数据传输格式如表1所示。
下面就通信协议进行说明:
前导码为FF,恒定不变;分类码根据所发送信息种类不同,分为3类:FE(节点环境信息)、FD(用户健康信息)、FB(紧急求助信息) ;人员地址用于区分系统之中的每一个用户,具有唯一性;路由分为数据采集路由、社区路由两类,也具有唯一性;信号强度用于协助定位,由第一个接收到求助信息的社区路由给出;求救位即紧急求助标志位,有求助为11,无求助为00;校验和用来检测数据在传输过程中是否出现错误。
注意:
所有数据均以16进制形式发送,表中凡是为“**”代表需要添加的数据。
数据位实际为32字节,但是在设计时候仅用其18位,剩余以00补充,预留给以后增加的其他类型的传感器。
2)硬件部分设计实现
表1 通信协议规范Tab.1 Communication protocol
硬件部分主要用到两种模块:威步科技的JASK51-1101、鼎泰克电子的DRF1605 。
JASK51-1101无线模块提供源程序,任何应用只需在源程序上进行二次开发;DRF1605为2.4 GHz的ZigBee透明传输模块,DRF1605 可连接至RS232底板,用户无需任何更改。
①用户节点
用户节点由JASK51-1101、血压传感器、两个按键组成。血压传感器自带电源,通过串口与JASK-1101模块相连;JASK-1101模块供5 V电源,在P2.0与GND、P3.7与GND之间分别有一个按键。血压传感器采集到数据后会自动通过串口发至JASK-1101,按键按下后JASK-1101会发送求助信息。
②协调器
协调器由ZigBee模块以及其配用的底板组成,通过串口与PC机相连。底板由厂商提供。注意该部分的ZigBee模块要设置为Coordinator。
③数据采集路由
数据采集路由JASK-1101、DRF1605、AM2311组成。
JASK-1101与ZigBee通过串口连接,AM2311与P1^6和P1^7连接,用普通I/O口模拟I2C总线。注意AM2311的SCL与SDA需要接5K的上拉电阻,DRF1605供3.3 V电。I2C总线的通信线路简单,程序编写方便,易于实现系统软硬件模块的标准化与通用化,便于系统升级扩展[4]。
④社区路由
社区路由由JASK-1101与DRF1605组成,通过串口相连接。JASK-1101中的的单片机负责信息的处理,CC1101负责接收由用户节点发送来的信息,DRF1605(CC2530)负责信息的中继传输。
3)各模块编程流程图
用户节点编程流程如图1所示。用户节点的主要任务有两个:发送紧急求助信息、接收处理并且转发用户健康数据。JASK-1101的数据发送、接收方式由软件制造商提供,只需要编写程序,不断扫描按键与串口,当符合发送条件时候,将数据发送出去即可。
图1 用户端编程流程图Fig. 1 End user programming flow chart
图2 传感器路由编程流程图Fig. 2 Sensor routing programming flow chart
传感器路由编程流程如图2所示。传感器路由的数据通过串口传输给DRF1605模块进行发送。由于AM2311数据传输I2C总线,需要用普通I/O口模拟I2C总线,占用空间多,导致CC1101无法编程使用,因此该模块只数据采集与串口发送的功能。
图3 社区路由编程流程图Fig. 3 Community route programming flow chart
社区路由编程流程如图3所示。社区路由程序运行后,单片机不断检测是否有信息接收到。如果没有,继续检测;如果有,识别分类码。读取分类码,如果不是求助类信息,直接由DRF1605发送;如果是求助类信息则加上本机地址与信号强度,再由DRF1605发送。
3 实验测试
系统各部分电路完成后,烧写相对应的代码。给各个模块上电,依次测试各部分功能,打开PC机的串口助手,进行信息的接收,结果如图4所示。
测试结果如图4所示。第一部分为前导码,为FF;第二部分为信息分类码,第一条信息为紧急求助信息,第二条为人员健康信息,第三条为环境信息;第三部分为用户地址,求救信息与健康信息来自用户节点,故为用户地址,健康信息来自环境监测路由,故该部分为空;第四部分为路由地址,前两条信息发出后由地址为ED B1的路由接收到后中继传输,第三条环境信息直接由地址为EE A0的路由发送;第五部分为信号强度,用于用户节点定位;第六部分表示是否为紧急求助信息;第六部分为人员健康信息,依次为血压高、血压低、心率;第七部分为环境信息,一次为温度高、温度低、湿度高、湿度低;其余为空闲数据位,留作用户使用分配。
图4 测试结果Fig. 4 Test result
4 结束语
文中就居家养老系统的软硬件结构进行了设计,经实验测试,系统可较好的完成数据的采集与传输。系统使用单片机作为控制器,具有低功耗、小体积、高智能、价格低的特点[5],使系统的使用成本降低。根据实验测试,系统在STC89C52编程空间足够的情况下,可以添加不同种类的传感器完成不同的系统要求;系统提供RSSI值,利用RSSI值可以完成监护对象节点定位[6]。该系统不仅可以用于居家养老系统,而且可以对其进行改造,用于智能交通、环境监测、危险爆炸物监测等领域,具有较强的通用性。在理论上,系统可换用先进的微处理器,完成其他更加复杂的任务,具有较强的升级空间。
[1]王中生,曹琦. 基于ZigBee的社区居家养老系统的研究[J].计算机技术与发展, 2010(12): 189-190.
WANG Zhong-Sheng, CAO Qi.The Research Home Care System of Community Based on ZigBee[J]. Computer Technology and Development, 2010(12):189-190.
[2]王妍,沈国华. ZigBee无线传感器组网技术及其应用[J].舰船电子工程, 2008(10):32-33.
WANG Yan,SHEN Guo-Hua. Zigbee Wireless Sensor Network Technology and Application[J].Ship Electronic Engineering,2008(10): 32-33.
[3]王娅.无线传感器网络路由协议设计原则[J].湖北第二师范学院学报, 2009(2): 90-92.
WANG Ya. The design principles of routing for wireless sensor networks[J].Journal of Hubei University Of Education, 2009(2):90-92.
[4]唐红文,陈少平. I2C总线在多机通信中的应用[J].电子技术应用, 2005(5): 51-52.
TANG Hong-Wen,CHEN Shao-Ping.Application of I2C bus in a multiple machine communication[J].Application of Electronic Technique, 2005(5): 51-52.
[5]刘杰.论单片机程序设计[J].现代商贸工业, 2011(14): 230-231.
LIU Jie. The micro controller programming[J].Modern Business Trade Industry, 2011(14): 230-231.
[6]周艳.基于RSSI测距的传感器网络定位算法研究[J].计算机科学,2009(4): 119-120.
ZHOU Yan. Study of wireless sensors network algorithm location based on RSSI[J]. Computer Science, 2009(4): 119-120.