物联网设计说明书.docx
《物联网设计说明书.docx》由会员分享,可在线阅读,更多相关《物联网设计说明书.docx(17页珍藏版)》请在冰豆网上搜索。
物联网设计说明书
1.总体要求
1.1实现目标
随着高校数目的不断增加以及高校的扩建,一所高校中教学楼的数目越来越多,导致用电设备难以管理,有诸多情况是学生都离开了教室,教室里的风扇,灯等用电开关设备无人关闭,造成用资源浪费。
即使是发某间教室的灯等设备依然开着,但是仍然需要耗费相当多的人力去关闭这些设备,给楼层管理员带来相当多的麻烦。
利用物联网技术可以实现坐在电脑面前查看每个教室的设备是否关闭,同时可以远程控制他们的开关,带来极大的便利。
高校扩招的加速,学生人数的增加与教室等高校现有固定资源的紧缺之间的矛盾日益突显。
现有的教室资源都是人工管理的,在开学之初固定的安排好教室作为上课之用,学期中间如有变动或临时使用,改动十分困难,而学生为了自习的需要,无法方便灵活的查找到教室资源的使用情况,效率很低。
这套系统通过各种传感器技术对教室的使用情况、设备状态、人数等进行采集,并对采集的数据进行分析处理,把结果输出到计算机和手机等终端上,让教师或学生能随时随地地查阅教室的使用情况,为工作和学习创造方便快捷有利的条件,提高了教室使用的效率。
宿舍环境以及安全同样是当今高校关注的一个焦点,智能家居可以发同样的智慧宿舍也可以带来很大的方便,本系统对宿舍温湿度采集,当温度过低或过高可以自动实现风扇的开关,湿度数据同样可以用来反馈调节加湿器,让宿舍环境更加舒适。
安装了烟雾传感器,实时对宿舍环境监控,一旦发生火情,迅速传达到宿舍管理员,做到及时报警。
1.2系统功能需求
随着现代高校教学活动节奏的加快,效率已经成为首要考虑因素,基于物联网的教室管理系统和宿舍管理系统必将成为学校管理员、教师以及同学们不可缺少的一套必备工具,为此,本小组选择了这一课题进行研究设计,并初见成效。
本智慧校园管理系统针对现实中存在的各种问题,制定了部分解决方案。
具体实现目标如下:
现实问题
相应功能设计
校园官方信息和日常新闻得不到及时发布与更新
管理员可以随时发布校园新闻,用户可以查看校园实时资讯。
教室用电设备做不到人无既关,用电浪费
安装人数检测模块,所有学生走出教室,用电设备自动关闭。
楼层管理员也可以通过网页端或手机端远程关闭。
同学自习一座难求,不知该教室是否上课,适合学习
人数检测模块通过通信技术把数据传到网页端或手机端从而供学生查询空教室。
宿舍学生集体外出,大型贵重物品无法携带,宿舍安全保障欠缺
宿舍防盗功能的设计(在宿舍无人时,若有非法人员进入,系统自动报警)
宿舍是人员的聚集地,火灾隐患严重
宿舍防火系统能及时对易燃烟雾辨别,若有易燃烟雾则系统自动报警
1.3系统总体架构
1.4开发平台和开发工具
(1)硬件部分使用IARWorkbench开发工具,开发板采用了ZIGBEE,CC2530芯片,传感器模块、附属设备、示波器等调试工具。
(2)WEB开发设计基于ASP.NET,采用HTML5、CSS3、JavaScript等技术,开发环境采用VS2012。
(3)APP开发及运行基于windows和android环境,Windows开发工具采用eclipse,SQLite数据库,TCP通信等技术。
(4)采用了示波器等调试工具。
2.需求分析
2.1用户与Zigbee终端设备
用户与Zigbee终端设备用例图
用例描述:
用例:
打开设备
参与者:
用户
前置条件:
用户开始使用Zigbee设备
行为序列:
(1)用户打开设备Zigbee开关
(2)设备打开成功
异常:
设备对开关开启未响应
后置条件:
设备成功开启,设备初始化
用例:
关闭设备
参与者:
用户
前置条件:
用户停止使用Zigbee设备
行为序列:
(1)用户关闭设备Zigbee开关
(2)设备关闭成功
异常:
设备对开关关闭未响应
后置条件:
none
用例:
设备初始化
用例描述:
设备初始化温湿度传感器、烟雾传感器、红外传感器、光敏传感器等
前置条件:
用户打开Zigbee终端设备并成功上电
行为序列
(1)Zigbee终端设备上电,并开始初始化传感器工作。
(2)温湿度传感器、烟雾传感器、红外传感器开始初始化工作
异常:
(1)无法检测到传感器设备应答。
(2)传感器反映时间过长。
取消:
用户关闭设备
2.2Zigbee终端与传感器模块
Zigbee终端与传感器模块
用例描述:
用例:
数据传输
参与者:
zigbee开发板
前置条件:
用户开始使用设备
行为序列:
(1)设备初始化系统
(2)系统初始化红外传感器和温湿度传感器
(3)光敏电阻获取光强信息
(4)温湿度传感器获取温度和湿度信息
(5)zigbee终端接受数据,数据传输到服务器中,然后存储数据到数据库
取消:
用户关闭Zigbee开发板,系统关闭,停止采集
后置条件:
Zigbee终端设备接受Zigbee节点传输的数据,通过wifi将数据传输到服务器中。
2.3用户与web端、手机APP端
用例描述:
用例:
查看数据
用例描述:
用户通过使用web端和APP端查看信息以及发送控制命令
参与者:
用户
前置条件:
手机APP和web网站正常运行
行为序列:
(1)用户打开手机APP或者web网站
(2)根据选择相应的教室或宿舍
(3)查询到宿舍或教室温湿度、异常气体状态
(4)查询到当前电灯、空调的工作状态
异常:
(1)没有获取到相应的宿舍或教室的温湿度等信息
(2)长时间没有获取到设备工作状态
取消:
用户关闭APP或web网站
用例:
控制设备
用例描述:
用户通过手机APP和web网站远程发送控制命令,远程控制指定宿舍或教室电灯和空调的工作状态
参与者:
用户
前置条件:
手机APP和web网站正常工作
行为序列:
(1)用户选择控制教室或宿舍的用电设备
(2)打开控制设备列表
(3)从手机APP或web上选择相应的空调或电灯等设备
(4)选择打开或关闭按钮
(5)调节空调的温度以及工作模式
(6)关闭设备或退出APP和web网站
异常:
(1)选择打开或关闭按钮,按钮没有改变
(2)手机APP或web端选择设备开关按钮,空调和电灯没有改变工作状态
2.4服务器与数据库交互
3.对象分析
3.1标识对象属性
属性是被命名的类的特性,其描述了该特性的实例(即对象)可以取值的范围。
虽然属性通常是名词,但它是用以描述或说明其他实体的,本身无法独立存在。
属性通常只具有基本结构,除了get()和set()之外没有其他的自发操作。
属性用于反映对象的结构特征,是对象的数据部分。
本系统中Web端、手机端、服务器和数据库的对象属性如下图所示,其中包含相同的属性:
光强、温度、湿度、红外数据、烟雾密度数据等。
还有系统中传感器的对象属性如下图所示,不同的传感器有不同的属性
3.2建立类模型
3.3状态模型
3.4交互模型
用户和Zigbee端
用户和智能手机端
用户与Web端
4.系统设计
4.1系统包图
ZigBee终端包:
负责根据各种传感器感知相关数据,计算并传给服务器。
Wed端包:
负责连接服务器中的数据库,从中取出数据并展示在手机屏幕上。
手机端:
负责连接服务器中的数据库,从中取出数据并展示在手机屏幕上。
服务器包:
负责接收ZigBee的数据,连接并存储于数据库;负责接收Web端和手机端的请求,读取数据库中数据发送给Web和手机用于展示。
数据库包:
负责数据的存储与处理。
4.2系统类图
系统类图:
ZigBee开发板类:
功能:
检测室内状况,计算并传输数据
方法:
1.Initializationofsystem()
功能:
初始化ZigBee以及各种传感器
输入:
none
输出:
none
2.Calculationoflight()
功能:
通过光敏传感器计算光强
输入:
none
输出:
light_intensity
3.Calculationoftemperature()
功能:
通过温湿度传感器计算温度
输入:
none
输出:
temperature
4.Calculationofhumidity()
功能:
通过温湿度传感器计算湿度
输入:
none
输出:
室内湿度情况
5.Calculationofinfrared()
功能:
通过红外传感器计算红外数据
输入:
none
输出:
室内红外状况
6.Calculationofsmoke()
功能:
通过烟雾传感器计算烟雾密度
输入:
none
输出:
室内空气状况
7.Collect()
功能:
通过传感器采集数据,
输入:
light_intensity,humidity,temperature,infrared,smoke
输出:
light_intensity,humidity,temperature,infrared,smoke
Web类和手机类:
功能:
数据的展示
方法:
1.连connectserver()
功能:
连接服务器
输入:
none
输出:
none
2.Receivedata()
功能:
接收服务器发来的数据
输入:
none
输出:
light_intensity,humidity,temperature,infrared,smoke
3.Display()
功能:
展示数据
输入:
light_intensity,humidity,temperature,infrared,smoke
输出:
light_intensity,humidity,temperature,infrared,smoke
服务器类:
功能:
向数据库中存入数据或者从数据库中读取数据并传输
方法:
1.Connectdatabase()
功能:
连接数据库
输入:
none
输出:
none
2.Receivedata()
功能:
接收数据
输入:
light_intensity,humidity,temperature,infrared,smoke
输出:
none
4.senddatafromdatabase()
功能:
读取数据库中的数据
输入:
none
输出:
light_intensity,humidity,temperature,infrared,smoke
5.senddatatodatabase()
功能:
发送从数据库取出的数据
输入:
light_intensity,humidity,temperature,infrared,smoke
输出:
light_intensity,humidity,temperature,infrared,smoke
数据库类:
功能:
数据的存储与发送
方法:
1.savedata()
功能:
接收服务器发送的数据
输入:
light_intensity,humidity,temperature,infrared,smoke
输出:
light_intensity,humidity,temperature,infrared,smoke
2.senddata()
功能:
向服务器发送数据
输入:
light_intensity,humidity,temperature,infrared,smoke
输出:
light_intensity,humidity,temperature,infrared,smoke