1、1无线传感器网络实用教程课程设计基 于 温 湿 度 传 感 器 物 联 网 应 用 实 时 数 据 处 理 系 统 开 发 _ 系 别 计算机科学系 专 业 通信工程 班 级 一 学 号 XXXXXXXXXXX 组 次 X 姓 名 XXX 指导教师 XXX 评定成绩 起止日期 2012 年 10 月 8 日 至 2012 年 10 月 29 日2目录摘要 3第 1 章 课程设计的目的和要求 3第 2 章 温湿度传感器的简介 4第 3 章 课程设计实现方案 61、开发环境 62、开发内容 63、技术路线 71)实时数据存储 72)实时数据发送 8第 4 章 课程设计结果 14第 5 章 结论与体
2、会 143摘要物联网是新一代信息技术的重要组成部分。其英文名称是“The Internet of things”。由此,顾名思义,“物联网就是物物相连的互联网”。这有两层意思:第一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;第二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信。因此,物联网的定义是通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物品与互联网相连接,进行信息交换和通信,以实现对物品的智能化识别、定位、跟踪、监控和管理的一种网络。而温 湿 度 传 感 器 是 由于温度与湿度不管是从物理量本身还
3、是在实际人们的生活中都有着密切的关系,所以温湿度一体的传感器就会相应产生。 温湿度传感器是指能将温度量和湿度量转换成容易被测量处理的电信号的设备或装置。 市场上的温湿度传感器一般是测量温度量和相对湿度量。第 1 章 课程设计的目的与要求课程设计目的物联网是一种新概念和新技术,它使新一代 IT 技术更加充分地应用于各行各业之中。它的问世打破了过去将基础设施与 IT 设施分开的传统观念,将建筑物、公路、铁路和网站、网络、数据中心合为一体,是信息化和工业化融合的重要切入点。温 湿 度 与 人 们 的 生 活 关 系 密 切 , 所 以 物联网在温湿度实时数据处理系统的开发将有很大的前景。在我们的日常
4、生活中无处不在,控制好温湿度可以使我们生活、生产的更好。温湿度传感器物联网应用实时数据处理系统开发可以帮我们实现对温湿度以实时数据让我们明了的知道。从而更好的控制温湿度、达到我们所需的标准。要达到的目的:1.可以在 ubuntu 上实现自动接收由传感器取得、传来的实时数据。42. 并 ubuntu 上能边接收边连续往 linux 发送从传感器取得的实时数据。3还要确保发送过的数据不会再次发送。4. Linux 能接收到 ubuntu 发过来的实时数据并通过动态网页曲线图实时显示接收过来的数据。课程设计要求1. 通过 ubuntu 连接传感器实验箱收集由传感器测得的实时数据存入 sqlite3数
5、据库。2. 然后通过 ubuntu 发送到 linux、接收并用动态网页显示代表数据变化的曲线。第 2 章 温湿度传感器的简介由于温度与湿度不管是从物理量本身还是在实际人们的生活中都有着密切的关系,所以温湿度一体的传感器就会相应产生。 温湿度传感器是指能将温度量和湿度量转换成容易被测量处理的电信号的设备或装置。 市场上的温湿度传感器一般是测量温度量和相对湿度量。 温 度 : 度 量 物 体 冷 热 的 物 理 量 , 是 国 际 单 位 制 中 7 个 基 本 物 理 量 之 一 。在 生 产 和 科 学 研 究 中 , 许 多 物 理 现 象 和 化 学 过 程 都 是 在 一 定 的 温
6、度 下 进 行 的 ,人 们 的 生 活 也 和 他 密 切 相 关 。 湿 度 : 湿 度 很 久 以 前 就 与 生 活 存 在 着 密 切 的 关 系 ,但 用 数 量 来 进 行 表 示较 为 困 难 。 对 湿 度 的 表 示 方 法 有 绝 对 湿 度 、 相 对 湿 度 、 露 点 、 湿 气 与 干 气 的比 值 ( 重 量 或 体 积 ) 等 等 。 日 常 生 活 中 最 常 用 的 表 示 湿 度 的 物 理 量 是 空 气 的相 对 湿 度 。 用 %RH 表 示 。 在 物 理 量 的 导 出 上 相 对 湿 度 与 温 度 有 着 密 切 的 关 系 。一 定 体
7、积 的 密 闭 气 体 , 其 温 度 越 高 相 对 湿 度 越 低 , 温 度 越 低 , 其 相 对 湿 度 越高 。 其 中 涉 及 到 复 杂 的 热 力 工 程 学 知 识 。 有 关 湿 度 的 一 些 定 义 : 相 对 湿 度 : 在 计 量 法 中 规 定 , 湿 度 定 义 为 “物 象 状 态 的 量 ”。 日 常 生活 中 所 指 的 适 度 为 相 对 湿 度 , 用 RH%表 示 。 总 之 , 即 气 体 中 ( 通 常 为 空 气 中 )所 含 水 蒸 气 量 ( 水 蒸 气 压 ) 与 其 空 气 相 同 情 况 下 饱 和 水 蒸 气 量 ( 饱 和 水
8、蒸 汽压 ) 的 百 分 比 。 绝 对 湿 度 : 指 单 位 容 积 的 空 气 里 实 际 所 含 的 水 汽 量 , 一 般 以 克 为 单 位 。温 度 对 绝 对 湿 度 有 着 直 接 影 响 , 一 般 情 况 下 , 温 度 越 高 , 水 蒸 气 发 得 越 多 ,绝 对 湿 度 就 越 大 ; 相 反 , 绝 对 湿 度 就 小 。 5饱 和 湿 度 : 在 一 定 温 度 下 , 单 位 容 积 , 空 气 中 所 能 容 纳 的 水 汽 量 的 最 大限 度 。 如 果 超 过 这 个 限 度 , 多 余 的 水 蒸 气 就 会 凝 结 , 变 成 水 滴 , 此 时
9、 的 空 气湿 度 变 称 为 饱 和 湿 度 。 空 气 的 饱 和 湿 度 不 是 固 定 不 变 的 , 它 随 着 温 度 的 变 化而 变 化 。 温 度 越 高 , 单 位 容 积 空 气 中 能 容 纳 的 水 蒸 气 就 越 多 , 饱 和 湿 度 就 越大 。 露 点 : 指 含 有 一 定 量 水 蒸 气 ( 绝 对 湿 度 ) 的 空 气 , 当 温 度 下 降 到 一 定 程度 时 所 含 的 水 蒸 气 就 会 达 到 饱 和 状 态 ( 饱 和 湿 度 ) 并 开 始 液 化 成 水 , 这 种 现象 叫 做 凝 露 。 水 蒸 气 开 始 液 化 成 水 时 的
10、温 度 叫 做 “露 点 温 度 ”简 称 “露 点 ”。 如 果 温 度 继 续 下 降 到 露 点 以 下 , 空 气 中 超 饱 和 的 水 蒸 气 就 会 在 物 体 表 面 上凝 结 成 水 滴 。 此 外 , 风 与 空 气 中 的 温 湿 度 有 密 切 关 系 , 也 是 影 响 空 气 温 湿 度变 化 的 重 要 因 素 之 一 。选 择 的 注 意 事 项 : 、 选 择 测 量 范 围 和 测 量 重 量 、 温 度 一 样 , 选 择 湿 度 传 感 器 首 先 要 确 定 测 量 范 围 。 除 了 气象 、 科 研 部 门 外 , 搞 温 、 湿 度 测 控 的
11、一 般 不 需 要 全 湿 程 (0-100%RH)测 量 。 、 选 择 测 量 精 度 测 量 精 度 是 湿 度 传 感 器 最 重 要 的 指 标 , 每 提 高 个 百 分 点 , 对 湿 度 传感 器 来 说 就 是 上 一 个 台 阶 , 甚 至 是 上 一 个 档 次 。 因 为 要 达 到 不 同 的 精 度 , 其制 造 成 本 相 差 很 大 , 售 价 也 相 差 甚 远 。 所 以 使 用 者 一 定 要 量 体 裁 衣 , 不 宜 盲目 追 求 “高 、 精 、 尖 ”。 如 在 不 同 温 度 下 使 用 湿 度 传 感 器 , 其 示 值 还 要 考 虑温 度
12、漂 移 的 影 响 。 众 所 周 知 , 相 对 湿 度 是 温 度 的 函 数 , 温 度 严 重 地 影 响 着 指定 空 间 内 的 相 对 湿 度 。 温 度 每 变 化 0.1 。 将 产 生 0.5%RH 的 湿 度 变 化 (误差 )。 使 用 场 合 如 果 难 以 做 到 恒 温 , 则 提 出 过 高 的 测 湿 精 度 是 不 合 适 的 。 多数 情 况 下 , 如 果 没 有 精 确 的 控 温 手 段 , 或 者 被 测 空 间 是 非 密 封 的 , 5%RH的 精 度 就 足 够 了 。 对 于 要 求 精 确 控 制 恒 温 、 恒 湿 的 局 部 空 间
13、, 或 者 需 要 随 时跟 踪 记 录 湿 度 变 化 的 场 合 , 再 选 用 3%RH 以 上 精 度 的 湿 度 传 感 器 。 而 精 度高 于 2%RH 的 要 求 恐 怕 连 校 准 传 感 器 的 标 准 湿 度 发 生 器 也 难 以 做 到 , 更 何 况传 感 器 自 身 了 。 相 对 湿 度 测 量 仪 表 , 即 使 在 2025 下 , 要 达 到 2%RH 的准 确 度 仍 是 很 困 难 的 。 通 常 产 品 资 料 中 给 出 的 特 性 是 在 常 温 ( 20 10 )和 洁 净 的 气 体 中 测 量 的 。 、 考 虑 时 漂 和 温 漂 在 实
14、 际 使 用 中 , 由 于 尘 土 、 油 污 及 有 害 气 体 的 影 响 , 使 用 时 间 一 长 , 电子 式 湿 度 传 器 会 产 生 老 化 , 精 度 下 降 , 电 子 式 湿 度 传 感 器 年 漂 移 量 一 般 都 在2%左 右 , 甚 至 更 高 。 一 般 情 况 下 , 生 产 厂 商 会 标 明 1 次 标 定 的 有 效 使 用时 间 为 1 年 或 2 年 , 到 期 需 重 新 标 定 。 、 其 它 注 意 事 项 6湿 度 传 感 器 是 非 密 封 性 的 , 为 保 护 测 量 的 准 确 度 和 稳 定 性 , 应 尽 量 避 免在 酸 性
15、、 碱 性 及 含 有 机 溶 剂 的 气 氛 中 使 用 。 也 避 免 在 粉 尘 较 大 的 环 境 中 使 用 。为 正 确 反 映 欲 测 空 间 的 湿 度 , 还 应 避 免 将 传 感 器 安 放 在 离 墙 壁 太 近 或 空 气 不流 通 的 死 角 处 。 如 果 被 测 的 房 间 太 大 , 就 应 放 置 多 个 传 感 器 。 有 的 湿 度 传 感器 对 供 电 电 源 要 求 比 较 高 , 否 则 将 影 响 测 量 精 度 。 或 者 传 感 器 之 间 相 互 干 扰 ,甚 至 无 法 工 作 。 使 用 时 应 按 照 技 术 要 求 提 供 合 适
16、的 、 符 合 精 度 要 求 的 供 电 电源 。 传 感 器 需 要 进 行 远 距 离 信 号 传 输 时 , 要 注 意 信 号 的 衰 减 问 题 。 当 传 输 距离 超 过 200m 以 上 时 , 建 议 选 用 频 率 输 出 信 号 的 湿 度 传 感 器 。第 3 章 课程设计实现方案一、开发环境1.硬件(详细介绍所涉及硬件的详细内容)Pc 机、温湿度传感器、传感器实验箱、连接所需的各种线。2.软件(详细介绍所涉及软件的详细内容)MDK414(arm 平台编译烧录代码软件) 、KeilC51v750a_Full(C51 平台编译软件) 、STC 手动下载(C51 烧录代码
17、软件) 、R340(串口线连接 USB 驱动) 、ubuntu 操作系统、linux 操作系统。3.其它二、开发内容1.项目开发详细内容(包括传感器的配置、传感器烧录、数据的实时收集、实时数据的存储、实时数据的传输、实时数据在服务器端的接受及存储-TCPServer 及 MySql、数据库及 Web 服务器安装、利用 JSP 曲线动态显示实时数据)首先烧录整合好的温湿度传感器的代码。接着连接传感器取得数据。然后在 ubuntu 中编译并运行 Com_Sensor 程序获取传感器实验箱的数据。在 Ubuntu11 编译并运行 senddata.c 把数据发送到 linux.Linux 通过TCP
18、Server 服务器接收数据并存入 MySQL 数据库。最后将接收到的数据通过 Linuxweb 服务器以 jsp 曲线动态显示实时数据。72.网络拓扑图(包括传感器、网关、传输网络、TCPServer 服务器、数据库服务器、静态及动态 Web 服务器、Web 服务器客户端;并详细标注设备名称及 IP地址等详细信息;并详细叙述网络拓扑图流程)三、技术路线1. 实时数据存储(如何安装及使用 Sqlite3,给出存储实时数据的 Sqlite3 数据表格的详细的数据列及数据类型)安装步骤:aptitude updateaptitude install libsqlite3-devaptitude i
19、nstall sqlite3数据类型 CREATE TABLE Sdata (id int,datetime datetime ,Temperature float,Humidity float,flag int default 0);+-+-+-+-+-+-+| Field | Type | Null | Key | Default | Extra |+-+-+-+-+-+-+| id | int | NO | | | | | dateTime | varchar(50) | NO | | | | 8|Temperature | float | NO | | | | Humidity | f
20、loat | NO | | | | | flag | int(11) | YES | | 0 | | +-+-+-+-+-+-+2. 实时数据发送(说明如何实现自动连续发送实时数据、说明如何保证已经成功发送的数据不能再次发送、给出实时数据发送的源代码;是否遇到问题及如何解决)发送源代码:#include #include #include #include #include #include #include #include #include#define BUFSIZE 1024/* * error - wrapper for perror*/void error(char *msg) p
21、error(msg);exit(0);9char* MyStrcat(char *a,char *b) int i=0;char *p=a,*q=b,*c,*cc;while(*p+)i+;while(*q+)i+;p=a;q=b;i+;c=(char*)malloc(i*sizeof(char);cc=c;while(*p)*cc+=*p+;while(*q)*cc+=*q+;*cc=0;return c;int main(int argc, char *argv) int sockfd, portno, n;struct sockaddr_in serveraddr;struct host
22、ent *server;char *hostname;char bufBUFSIZE;int retval,retval2;int q_cnt = 5,q_size = 150,ind = 0;char *queries = malloc(sizeof(char) * q_cnt * q_size);sqlite3_stmt *stmt;sqlite3 *handle;char *d;char sentstr1024;char whitespace=“$“;10char endofline=“#“;char endofsentstr=“n“;char *sql;if (argc != 3) f
23、printf(stderr,“usage: %s n“, argv0);exit(0);hostname = argv1;portno = atoi(argv2);sockfd = socket(AF_INET, SOCK_STREAM, 0);if (sockfd h_addr, (char *)serveraddr.sin_port = htons(portno);if (connect(sockfd, serveraddr.sin_port = htons(portno);if (connect(sockfd, return 0;将实时接收的数据标记为 0,已经发送的数据标记为 1,当数
24、据检测到为 1 是时14就拒绝发送。这样就不会重复发送。问题:对于如何保证已经成功发送的数据不能再次发送纠结了很久没有结果、后来请教了同学才解决了问题。第 4 章 课程设计结果第 5 章 结论与体会在做本次课程设计的过程中,我感触最深的当属查阅大量资料。为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。我们是在做基于温湿度传感器物联网应用实时数据处理系统开发的课程设计,我们不是艺术家,他们可以抛开实际尽情在幻想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,永远无法升级为设计。其次,我发现在学习的过程中带着问题去学效率很高,这是我做这次课程15设计的又一收获。要做好一个课程设计,就必须做到:在设计程序之前,对所设计的题目有一个系统的了解,知道包括哪些方面;要有一个清晰的思路和一个完整的流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计结束了,但是从中学到的知识会让我受益终身。