无线传感网环境监测系统
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
15
[5]于宏毅,李欧,张效义.[无线传感器网络理论、技术与实现][M].北京:国防工业出 版社,2008. [6]汪涛.[无线网络技术导论][M].北京:清华大学出版社,2008. ***注*** 分享链接: 链接:http://pan.baidu.com/s/1ntDSZOl 密码:1tgp
16
使工作环境如下图所示:
图 8 工作环境 (3) 数据的显示模块设计方案(C)
C 部分软件设计由 XXX 完成。首先是由用户发送请求,服务器接收到客户 端的 Ajax 请求,从 XML 文件中读取 50 条数据,通过 Json 封装发送给客户端。 客户端再通过 Json 解析接收到数据,通过数据渲染在浏览器 Web 页面显示。流 程图如下
9
图 9 C 部分数据的显示模块流程图 客户端程序是 WEB 用户页面。下图是界面设计图:
10
智能环境信息感知系统
登录
退出
传感器选择
刷新
停止刷新
实时温度图
图 10 Web 用户界面设计
六、 设计结果
运行本地浏览器,输入 http://10.3.2.11:8080/sensor 地址打开网页。这里需强 调说明:
二、 设计内容简介 2.1 WSN 数据采集/传输模块:
每个实验箱可形成一小型网络,网络由若干普通节点和一个汇聚节点 组成,普通节点负责数据的采集和转发,汇聚节点负责收集各普通节点采集 的数据,经串口发送给 PC 机。
2.2 服务网关提供模块:
PC 机由串口读取汇聚节点收集的采集数据,数据内容包括节点编号, 收集时间,数据信息等。将此信息加载到服务器的数据库中。
以前的课程都是理论知识的学习,感觉有些抽象,学习起来也比较乏味, 没有主观的学习热情。这次课程设计的主要收获就是在运用知识的过程中让我对 WSN 产生了浓厚的兴趣,实现了 WSN 远程数据采集传输,从而对 WSN 的结构 更加了解,将硬件与软件知识完美的结合。在软件的编程中又顺带复习了 JavaScript 和 Html 语言,对 Eclipse 开发环境更加熟悉。
四、 硬件设计
硬件设备: HBE-Ubi-CC2431 节点若干,PC 机数台,USB 数据线若干根。 作服务器的 PC 机和 sink 节点用数据线通过 USB 连接在一起。
3
图 2 HBE-Ubi-CC2431 节点主视图
图 3 HBE-Ubi-CC2431 节点俯视图
4
图 4 HBE-Ubi-CC2431 节点构成
平时做的实验都是比较简单的或者单一的,当完成这个大项目后,这才了 解了平时所学的东西,是如何应用到实践当中。
八、 程序源代码
受篇幅所限,这里代码从略,只将代码组织框架附上:
图 15 XML 文件
14
图 16 项目代码组织框架
九、 参考文献
[1]彭刚,刘戎,王万年,孙广义.[无线传感器网络研究概述][J].广西科学院学报,2007. [2]刘信新,邵明凯.[无线传感器网络操作系统 TinyOS 研究][J].计算机与数字工 程,2007. [3]李建中,[无线传感器网络专刊前言.软件学报][A],2007. [4]Holger karl,Andraas Willing.邱天爽,唐洪,李婷,杨华等.[无线传感器网络协议与体 系结构].[M]北京:电子工业出版社,2007.
如下图所示:
11
图 11 实时温度图
图 12 实时湿度图
12
图 13 实时照度图
图 14 实时红外线图
13
பைடு நூலகம்
七、 总结和设计体会
本项目是一个硬件、软件编程结合的项目,运用了 B/S 架构。在硬件方面主 要是完成了传感器节点中温度传感器、湿度传感器、照度传感器、红外传感器的 数据采集和传送。软件方面,实现了节点功能,PC 机由串口读取汇聚节点收集 的采集数据,将此信息加载到数据库中,实现从服务器端的数据库中读取各类采 集数据,以图表形式展现给终端用户。用浏览器免去了用户安装客户端的烦恼。
整个服务器模块使用工具及技术如下:
使用工具: Eclipse javaEE Tomcat 6.0
使用编程语言: Java
8
数据格式: XML 和 json
使用技术: 读取串口数据使用 SUN 公司的 javacomm20-win32Api; 操作 XML 文件使用 DOM 树; 实时响应客户端请求使用 Ajax 结合 Servlet 技术。
2.3 数据的显示模块:
实现从服务器端的数据库中读取各类采集数据,以图表形式展现给终 端用户,用户可以对各类采集信息按时间、编号等查询显示,可对数据做简 单的分类统计。
三、 系统结构 3.1 系统结构图
图 1 系统结构图
2
3.2 设计方案描述
在支持无线传感器网络操作系统 TinyOS 的硬件平台上,开发数据的采集 和远程传输系统。基于 B/S 架构,使用 java 完成,主要包括三大模块:
五、 软件设计 5.1 程序流程图
其中,淡黄色部分表示 WSN 数据采集模块,蓝色和绿色表示服务器模块, 褐色表示客户端模块。
5
图 5 程序流程图
5.2 所用数据结构
在服务器模块,所用到数据结构以 sensor 实体对象为例:
6
5.3 分模块描述
图 6 数据结构
(1) WSN 数据采集/传输模块设计方案(A) A 部分由 XXX 同学完成,他结合实验二和实验六,首先依次读取、处理
①WSN 数据采集/传输模块: 每个实验箱可形成一小型网络,网络由若干普通节点和一个汇聚节点组成, 普通节点负责数据的采集和转发,汇聚节点负责收集各普通节点采集的数据,经 串口发送给 PC 机。 ②服务网关提供模块(即服务器): PC 机由串口读取汇聚节点收集的采集数据,数据内容包括节点编号,收 集时间,数据信息等。将此信息加载到服务器的数据库中。由于在实验室 PC 环 境中没有数据库,我们使用 XML 文件来代替数据库。读取的数据存储在 XML 文 件中。在显示数据模块中,从 XML 文件中读取数据。最终实现实时读取采集传 感信息,并实时响应客户端的请求。 ③数据的显示模块(即客户端): 实现从服务器端的数据库中读取各类采集数据,以图表形式展现给终端用 户。用户可以对各类采集信息按时间、编号等查询显示,可对数据做简单的分类 统计。在服务网关提供模块和数据的显示模块使用 JavaScript 和 Html 语言,用 Eclipse 环境开发。在 B/S 架构中,用户直接使用浏览器访问可以避免安装客户端 的麻烦。
在 doGET( )方法里,通过 request 对象获取到请求,在通过调用 doXML 类, 才操作 XML 文件以获取 XML 里的最新数据,并将其封装成 json 数据格式返回。 通过 response 对象将数据返回给客户端。
读取串口数据部分,是通过 ComRead 类来实现,同时将字节流转换,并通过 convertXML 类将转换后的数据写入 XML 文件。
①IP 地址实现以按实验室机房要求配置好,IP 地址第 4 部分对应学生学号, 避 免 机 房 内 出 现 IP 冲 突 。 在 服 务 器 本 地 上 运 行 浏 览 器 , 可 直 接 输 入 http://localhost:8080/sensor。
②由于实验室机房已安装的 IE 浏览器(并且只有 IE 浏览器)的版本为“IE 6”, 所以部分渲染效果没能实现,我们在通过 Google Chrome 得以实现。
HBE-Ubi-CC2431 上安装的温度,湿度,照度,红外线值。然后,在无线 ad-hoc 网 络通信中,利用多跳通信中使用的最基本的路由协议 Flooding 协议,通过路由协 议,使所有节点都能通过自身或周围节点的帮助到达 sink 节点。
(2) 服务器模块设计方案(B) B 部分软件设计由我完成,分两大部分同步进行: ①服务器端从串口读取数据后,将字节流对应字节解析成可视化的十进
此处校徽校名 UNIVERSITY
专业方向课程设计报告
班级 姓名 学号 小组成员 设计题目 WSN 远程数据采集传输系统 指导老师 专业
2015 年 1 月 13 日
一、 实验目的
在支持无线传感器网络操作系统 TinyOS 的硬件平台上,开发数据的采集 和远程传输系统。其中包含三个模块: WSN 数据采集/传输模块;服务网关 提供模块;数据的显示模块。结合之前所做的六个实验,培养同学的动手和 合作能力。
图 7 服务器原理框图
Servlet 作为一个容器类,继承自 HttpServlet 用以实时接收客户端的 GET 或 POET 请求,在 Servlet 类里面,重写了父类的 doGet( )和 doPOET( )方法。当客户 端发来 GET 请求,执行对应的 doGET( )方法,同理 POET 请求执行 doPOET( )方 法。本实验中,我们采取 GET 请求方式。
制数值,保存到一个 sensor.xml 文件里。在读取串口数据时,使用多线程技术, 实时监听串口,当有数据到达时,出发读取串口数据机制,没有数据到达,则监
7
听等待不做其他处理。 ②在此同时,实施响应客户端的请求,并将最新的数据封装成 json 数据
格式,以字符串形式返回给客户端,减少带宽压力,同时保证了高效的数据解析。 原理图如下:
[5]于宏毅,李欧,张效义.[无线传感器网络理论、技术与实现][M].北京:国防工业出 版社,2008. [6]汪涛.[无线网络技术导论][M].北京:清华大学出版社,2008. ***注*** 分享链接: 链接:http://pan.baidu.com/s/1ntDSZOl 密码:1tgp
16
使工作环境如下图所示:
图 8 工作环境 (3) 数据的显示模块设计方案(C)
C 部分软件设计由 XXX 完成。首先是由用户发送请求,服务器接收到客户 端的 Ajax 请求,从 XML 文件中读取 50 条数据,通过 Json 封装发送给客户端。 客户端再通过 Json 解析接收到数据,通过数据渲染在浏览器 Web 页面显示。流 程图如下
9
图 9 C 部分数据的显示模块流程图 客户端程序是 WEB 用户页面。下图是界面设计图:
10
智能环境信息感知系统
登录
退出
传感器选择
刷新
停止刷新
实时温度图
图 10 Web 用户界面设计
六、 设计结果
运行本地浏览器,输入 http://10.3.2.11:8080/sensor 地址打开网页。这里需强 调说明:
二、 设计内容简介 2.1 WSN 数据采集/传输模块:
每个实验箱可形成一小型网络,网络由若干普通节点和一个汇聚节点 组成,普通节点负责数据的采集和转发,汇聚节点负责收集各普通节点采集 的数据,经串口发送给 PC 机。
2.2 服务网关提供模块:
PC 机由串口读取汇聚节点收集的采集数据,数据内容包括节点编号, 收集时间,数据信息等。将此信息加载到服务器的数据库中。
以前的课程都是理论知识的学习,感觉有些抽象,学习起来也比较乏味, 没有主观的学习热情。这次课程设计的主要收获就是在运用知识的过程中让我对 WSN 产生了浓厚的兴趣,实现了 WSN 远程数据采集传输,从而对 WSN 的结构 更加了解,将硬件与软件知识完美的结合。在软件的编程中又顺带复习了 JavaScript 和 Html 语言,对 Eclipse 开发环境更加熟悉。
四、 硬件设计
硬件设备: HBE-Ubi-CC2431 节点若干,PC 机数台,USB 数据线若干根。 作服务器的 PC 机和 sink 节点用数据线通过 USB 连接在一起。
3
图 2 HBE-Ubi-CC2431 节点主视图
图 3 HBE-Ubi-CC2431 节点俯视图
4
图 4 HBE-Ubi-CC2431 节点构成
平时做的实验都是比较简单的或者单一的,当完成这个大项目后,这才了 解了平时所学的东西,是如何应用到实践当中。
八、 程序源代码
受篇幅所限,这里代码从略,只将代码组织框架附上:
图 15 XML 文件
14
图 16 项目代码组织框架
九、 参考文献
[1]彭刚,刘戎,王万年,孙广义.[无线传感器网络研究概述][J].广西科学院学报,2007. [2]刘信新,邵明凯.[无线传感器网络操作系统 TinyOS 研究][J].计算机与数字工 程,2007. [3]李建中,[无线传感器网络专刊前言.软件学报][A],2007. [4]Holger karl,Andraas Willing.邱天爽,唐洪,李婷,杨华等.[无线传感器网络协议与体 系结构].[M]北京:电子工业出版社,2007.
如下图所示:
11
图 11 实时温度图
图 12 实时湿度图
12
图 13 实时照度图
图 14 实时红外线图
13
பைடு நூலகம்
七、 总结和设计体会
本项目是一个硬件、软件编程结合的项目,运用了 B/S 架构。在硬件方面主 要是完成了传感器节点中温度传感器、湿度传感器、照度传感器、红外传感器的 数据采集和传送。软件方面,实现了节点功能,PC 机由串口读取汇聚节点收集 的采集数据,将此信息加载到数据库中,实现从服务器端的数据库中读取各类采 集数据,以图表形式展现给终端用户。用浏览器免去了用户安装客户端的烦恼。
整个服务器模块使用工具及技术如下:
使用工具: Eclipse javaEE Tomcat 6.0
使用编程语言: Java
8
数据格式: XML 和 json
使用技术: 读取串口数据使用 SUN 公司的 javacomm20-win32Api; 操作 XML 文件使用 DOM 树; 实时响应客户端请求使用 Ajax 结合 Servlet 技术。
2.3 数据的显示模块:
实现从服务器端的数据库中读取各类采集数据,以图表形式展现给终 端用户,用户可以对各类采集信息按时间、编号等查询显示,可对数据做简 单的分类统计。
三、 系统结构 3.1 系统结构图
图 1 系统结构图
2
3.2 设计方案描述
在支持无线传感器网络操作系统 TinyOS 的硬件平台上,开发数据的采集 和远程传输系统。基于 B/S 架构,使用 java 完成,主要包括三大模块:
五、 软件设计 5.1 程序流程图
其中,淡黄色部分表示 WSN 数据采集模块,蓝色和绿色表示服务器模块, 褐色表示客户端模块。
5
图 5 程序流程图
5.2 所用数据结构
在服务器模块,所用到数据结构以 sensor 实体对象为例:
6
5.3 分模块描述
图 6 数据结构
(1) WSN 数据采集/传输模块设计方案(A) A 部分由 XXX 同学完成,他结合实验二和实验六,首先依次读取、处理
①WSN 数据采集/传输模块: 每个实验箱可形成一小型网络,网络由若干普通节点和一个汇聚节点组成, 普通节点负责数据的采集和转发,汇聚节点负责收集各普通节点采集的数据,经 串口发送给 PC 机。 ②服务网关提供模块(即服务器): PC 机由串口读取汇聚节点收集的采集数据,数据内容包括节点编号,收 集时间,数据信息等。将此信息加载到服务器的数据库中。由于在实验室 PC 环 境中没有数据库,我们使用 XML 文件来代替数据库。读取的数据存储在 XML 文 件中。在显示数据模块中,从 XML 文件中读取数据。最终实现实时读取采集传 感信息,并实时响应客户端的请求。 ③数据的显示模块(即客户端): 实现从服务器端的数据库中读取各类采集数据,以图表形式展现给终端用 户。用户可以对各类采集信息按时间、编号等查询显示,可对数据做简单的分类 统计。在服务网关提供模块和数据的显示模块使用 JavaScript 和 Html 语言,用 Eclipse 环境开发。在 B/S 架构中,用户直接使用浏览器访问可以避免安装客户端 的麻烦。
在 doGET( )方法里,通过 request 对象获取到请求,在通过调用 doXML 类, 才操作 XML 文件以获取 XML 里的最新数据,并将其封装成 json 数据格式返回。 通过 response 对象将数据返回给客户端。
读取串口数据部分,是通过 ComRead 类来实现,同时将字节流转换,并通过 convertXML 类将转换后的数据写入 XML 文件。
①IP 地址实现以按实验室机房要求配置好,IP 地址第 4 部分对应学生学号, 避 免 机 房 内 出 现 IP 冲 突 。 在 服 务 器 本 地 上 运 行 浏 览 器 , 可 直 接 输 入 http://localhost:8080/sensor。
②由于实验室机房已安装的 IE 浏览器(并且只有 IE 浏览器)的版本为“IE 6”, 所以部分渲染效果没能实现,我们在通过 Google Chrome 得以实现。
HBE-Ubi-CC2431 上安装的温度,湿度,照度,红外线值。然后,在无线 ad-hoc 网 络通信中,利用多跳通信中使用的最基本的路由协议 Flooding 协议,通过路由协 议,使所有节点都能通过自身或周围节点的帮助到达 sink 节点。
(2) 服务器模块设计方案(B) B 部分软件设计由我完成,分两大部分同步进行: ①服务器端从串口读取数据后,将字节流对应字节解析成可视化的十进
此处校徽校名 UNIVERSITY
专业方向课程设计报告
班级 姓名 学号 小组成员 设计题目 WSN 远程数据采集传输系统 指导老师 专业
2015 年 1 月 13 日
一、 实验目的
在支持无线传感器网络操作系统 TinyOS 的硬件平台上,开发数据的采集 和远程传输系统。其中包含三个模块: WSN 数据采集/传输模块;服务网关 提供模块;数据的显示模块。结合之前所做的六个实验,培养同学的动手和 合作能力。
图 7 服务器原理框图
Servlet 作为一个容器类,继承自 HttpServlet 用以实时接收客户端的 GET 或 POET 请求,在 Servlet 类里面,重写了父类的 doGet( )和 doPOET( )方法。当客户 端发来 GET 请求,执行对应的 doGET( )方法,同理 POET 请求执行 doPOET( )方 法。本实验中,我们采取 GET 请求方式。
制数值,保存到一个 sensor.xml 文件里。在读取串口数据时,使用多线程技术, 实时监听串口,当有数据到达时,出发读取串口数据机制,没有数据到达,则监
7
听等待不做其他处理。 ②在此同时,实施响应客户端的请求,并将最新的数据封装成 json 数据
格式,以字符串形式返回给客户端,减少带宽压力,同时保证了高效的数据解析。 原理图如下: