无线传感监控网络嵌入式设计研究

时间:2022-10-11 12:03:25

无线传感监控网络嵌入式设计研究

【摘 要】无线传感器网络是计算机科学领域的重要组成部分,在生活、工业等领域的应用范围也逐渐扩大。本文结合笔者多年的实践经验,重点探讨了无线传感监控网络嵌入式设计研究工作,实现了系统从信息采集到告警的整个过程,为类似的设计工作提供借鉴意义。

【关键词】无线传感器网络;嵌入式;监控中心;模块设计

随着我国社会经济建设步伐的加快,人们的物质生活水平得到不断的提高,许多现代人们对于医疗等服务性行业的实时性、灵活性、智能化及人性化的要求越来越高,这无疑加快了医疗等服务行业内部系统的升级及改造。无线传感器网络是计算机科学领域非常活动的一个研究分支,在民用和军事方面有着广泛的应用,目前也受到业界人士的高度关注。无线传感器网络具有低功耗、低成本、分布式和自组织等特点,其综合了传感器技术、嵌入式技术、现代网络、无线通信及分布式信息处理技术,可以不受时间、地点和环境的限制,以最快的速度获取大量详尽而可靠的信息,有效降低了工作人员的工作量、提高了工作效率。本文通过探讨无线传感监控网络嵌入式设计的研究工作,提出一些个人见解,希望可以进一步拓宽无线传感器网络的应用范围。

1.系统分析

基于无线传感网监控系统是以UP-CUPS2410硬件平台为基础,以Linux操作系统为核心,通过ARM9平台同无线传感器网络的结合完成个人生理特征数据的采集、传输和处理,最终达到远距离无线智能监控的实现,使医疗监控系统实现实时性、人性化、智能化。系统是基于Arm9开发平台的一项综合技术,结合Liunx嵌入式操作系统,利用程序对所接收的数据进行处理与分析。用户端采集好信息后,可以利用无线传感器传到中央监控系统;中央监控系统能正确接收信息,并做处理(比较,保存)。

2.软件设计与实现

本监控系统的核心功能都采用应用软件实现,该系统所涉及的应用软件模块如图1所示:

图1 系统软件的逻辑框图

其中,各种驱动程序包括USB串口驱动、触摸屏驱动、鼠标驱动、文件驱动等负责和具体的硬件交互,为上层提供硬件抽象层;Linux内核负责任务调度、中断处理等操作系统核心功能,为应用程序提供API调用接口。这两层主要都在Linux操作系统中实现,其中USB串口驱动并没有在UP-CUPS2410标准版中提供,在实现的时候重新编译了USB串口驱动并集成到Linux内核中。数据采集模块、数据存储模块、告警模块以及用户GUI都是应用层程序,是系统实现的核心,其中数据存储模块将采集来的数据存入日志文档中,后期可将数据存入数据库中,下面将重点介绍USB串口驱动模块、数据采集模块、告警模块、用户界面模块的软件设计。

2.1 USB串口驱动模块设计

无线传感器网络的Sink节点只提供USB接口,而UP-CUPS2410开发箱Linux标准版中并没有提供此驱动,因此需要对内核重新配置和编译。

2.1.1 内核配置

进入Linux内核所在目录,然后执行make menuconfig,进入内核编译菜单,在内核配置菜单中选择FTDIUSB接口,驱动采用集成进内核的方法,这样就可以在插入USB接口的时候可以自动加载其驱动。

2.1.2 内核编译

在内核配置修改完成后,就可以进行内核的编译,分别执行make clean;make dep;make zImage三个命令,最终生成zImage内核文件。

将重新生成的内核文件烧写进开发板,参考步骤如下:

(1)并用串口线连接pc和2410-CL,打开超级终端,先按住pc机“Back Space”键,然后启动2410-CL,进入vivi>状态下,设置开发板IP,其命令为:ifconfigip192.168.1.115。

(2)设置tftp服务器的IP(启动tftp服务器的主机),其命令为:ifconfig server192.168.1.85。

(3)保存IP设置:其命令为:ifconfig save。

(4)Windows平台下tftp服务的配置:双击“D:\bootloader”目录下的tftpd32.exe文件,对Windows下的tftp服务进行配置。

(5)在vivi状态下,输入烧写内核的命令为:tftp flash kernel zImage。

(6)烧写根文件系统,在vivi状态下,输入烧写根文件的命令为:ftp flash root root.cramfs。

2.2 数据采集模块

信息采集模块采集的温度、脉搏等信号,利用无线传感器网络最终到达Sink节点,监护中心终端模块同Sink节点以USB接口连接,但在系统内部USB接口会映射为串口,因此数据采集模块就可以直接访问对应的串口而取得所采集的数据。本设计使用多线程来完成串口的收发处理,传感器每隔三秒会通过串口发送一次数据。所涉及到的线程函数主要有:

线程创建函数:int pthread_create(pthread_t*thread_id,__const pthread_attr_t*__attr,void*(*__start_routine)(void*),void*__restrict__arg)

线程退出函数:voidpthread_exit(void*__retval)

等待指定的线程结束:int pthread_join(pthread_t__th,void**__thread_return)

2.3 告警模块

当监测到有超标数据时,即可以在监护终端的界面上进行实时报警显示,也可及时地触发GPRS功能的短信业务,将出现的报警信息实时地发送到提前指定的手机上。下面分别介绍界面告警和短信告警的实现。

上一篇:如何指导幼儿进行美术创作 下一篇:新课程背景下对地理探究式教学的认识