ZYL太原理工物联网大三课程设计实验报告环境监测.docx

上传人:b****2 文档编号:1232437 上传时间:2022-10-19 格式:DOCX 页数:18 大小:265.11KB
下载 相关 举报
ZYL太原理工物联网大三课程设计实验报告环境监测.docx_第1页
第1页 / 共18页
ZYL太原理工物联网大三课程设计实验报告环境监测.docx_第2页
第2页 / 共18页
ZYL太原理工物联网大三课程设计实验报告环境监测.docx_第3页
第3页 / 共18页
ZYL太原理工物联网大三课程设计实验报告环境监测.docx_第4页
第4页 / 共18页
ZYL太原理工物联网大三课程设计实验报告环境监测.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

ZYL太原理工物联网大三课程设计实验报告环境监测.docx

《ZYL太原理工物联网大三课程设计实验报告环境监测.docx》由会员分享,可在线阅读,更多相关《ZYL太原理工物联网大三课程设计实验报告环境监测.docx(18页珍藏版)》请在冰豆网上搜索。

ZYL太原理工物联网大三课程设计实验报告环境监测.docx

ZYL太原理工物联网大三课程设计实验报告环境监测

 

课程设计

 

课程名称:

物联网感知课程设计

设计名称:

环境监测系统

专业班级:

物联1403学号:

2014002091

学生姓名:

赵羽龙

指导教师:

呼克佑

2016年12月23日

太原理工大学课程设计任务书

学生姓名

赵羽龙

专业班级

物联1403

课程名称

物联网感知课程设计

设计名称

环境监测系统

设计周数

2

设计

任务

主要

设计

参数

运用已学的编程工具及物联网实验箱设计一个《环境监测》系统,该系统可实现如下功能:

1.读取环境的温度、湿度通过串口通信,读取至电脑程序界面显示。

2.根据在程序界面设置温度、湿度的上下限值,完成显示相应的温湿度调节机器的工作状态。

3.将监测到的温湿度值保存至文本文件。

设计的基本要求如下:

(1)选择合适的传感器来完成温度、湿度数据的采集。

(2)制作相应的显示界面,将采集的变量值实时显示

设计的扩展要求如下:

判断温度过高过低、湿度过高过低时,通过电机控制空调、加湿器的启停。

设计内容

设计要求

1、收集技术资料:

理解设计任务、查阅相关资料、搭建开发平台。

2、确定总体设计思想:

方案论证比较、确定总体设计方案。

3、感知层和传输层的设计:

感知模块的选择、传输模式与接口程序的设计。

4、应用层的设计:

各模块的功能说明、程序流程、代码编写。

5、系统调试与运行:

验证各项功能的实现。

6、书写设计报告:

按照课程设计报告的要求,编写设计报告。

主要参考

资料

1、徐勇军.物联网实验教程.北京:

机械工业出版社.2011

2、李刚.疯狂JAVA讲义.电子工业出版社。

2016

3、KathySierra&BertBates.HeadFirst.中国电力出版社.2016

学生提交

归档文件

封面—任务书—目录—课程设计报告-参考文献

注:

1.课程设计完成后,学生提交的归档文件应按照:

封面—任务书—说明书—图纸的顺序进行装订上交(大张图纸不必装订)。

2.可根据实际内容需要续表,但应保持原格式不变。

指导教师签名:

日期:

一.功能分析1

二.概要设计1

1.系统组成1

2.传感器选型1

三.详细设计1

1.硬件连接1

2.程序设计1

3.界面设计3

四.系统说明3

五.设计总结4

六.附录4

 

 

程序设计课程设计报告

专业:

物联网工程班级:

1403姓名:

赵羽龙学号:

2014002091完成日期:

2016/12/23

题目:

设计一个环境监测系统。

一.功能分析

环境监测系统主要包括对环境变量的采集和显示。

(1)选择合适的传感器来完成温度、湿度数据的采集。

(2)制作相应的显示界面,将采集的变量值实时显示。

(3)扩展功能:

判断温度过高过低、湿度过高过低时,通过电机控制空调、加湿器的启停。

二.概要设计

1.系统组成

系统大体组成包括:

传感器模块、数据传送模块和电机控制模块。

系统框图如图1所示。

由于传感器模块没有外接电路,因此需要通过中间的协调器将数据转为串口形式发送到PC机上。

 

图1系统框图

2.传感器选型

选择SHT10单片数字温湿度传感器来监测环境。

SHT10采用CMOSens专利技术将温度湿度传感器、A/D转换器及数字接口无缝结合,使传感器具有体积小、响应速度快、接口简单、性价比高等特点。

电路连接时,接口简单,两线连接,SHT10的两线串行接口(bidirectional2-wire)在传感器信号读取和电源功耗方面都做了优化处理,其总线类似I2C总线但并不兼容I2C总线。

三.详细设计

1.硬件连接

SHT10共有4个引脚,除了电源和地,数据和时钟引脚分别连接单片机P06、P07。

图2系统硬件框图

2.程序设计

(1)端口初始化程序

staticvoidGPIOInit(void)

{

P0SEL&=~(1<<6);//时钟接口初始化,IO口功能选择

P0DIR|=(1<<6);//IO口方向选择

P0SEL&=~(1<<7);//数据接口初始化

P0DIR|=(1<<7);//IO口方向选择

}

功能:

初始化SHT10接口;入口参数:

无;返回值:

无。

(2)传感器采集程序

staticuint16ReadSHT10(uint8param)

{

doubletemp;

uint8i;

uint16result;

uint16SORH=0;

DATA_OUTPUT;

DATA_HIGH;

SCK_OUTPUT;

SCK_LOW;

//通讯复位

for(i=0;i<10;i++)

SCK_HIGH;

MicroWait(30);

SCK_LOW;

MicroWait(30);

}

……

功能:

读取SHT10的温湿度值;入口参数:

0x00,温度;0x01,湿度;返回值:

温湿度值。

图3传感器工作时序图

SHT10工作时,要通过SCK引脚模拟时序来完成,因此,读传感器的数据时,需要单片机控制SCK产生一系列时序,配合DATA的变化以完成温湿度的数据采集。

对于采集到的湿度值需要通过以下的公式进行换算:

同样,温度值要经过以下换算,才能得到实际值,这些都在传感器的读写程序里完成。

3.界面设计

(1)选择eclipse软件工具,建立工程。

(2)设计显示界面。

选用java的swing、awt组件设计界面。

界面采用flowlayout与gridlayout嵌套布局。

按照环境监测系统功能的需要添加组件。

 

四.系统说明

本系统搭建了一个温湿度的采集显示环境,能够采集周围环境中的温度、湿度值,并且实时在PC机上显示。

PC机实时显示界面如图:

五.设计总结

系统采用SHT10单片数字温湿度传感器将温湿度采集集成在一起,数据的读取要采用时序控制来进行。

采集变量的实时显示由JAVA编制界面来完成。

我负责界面的设计和功能的实现。

首先选择eclipse软件工具,建立工程。

选用java的swing、awt组件设计界面。

根据功能需求将界面采用flowlayout与gridlayout嵌套布局。

按照环境监测系统功能的需要添加组件。

1.建立一个窗体,采用flowlayout布局。

2.添加一个标签,当作程序名称添加至窗体的North。

期间学习了设置文字的大小颜色。

3.将Center采用gridlayout,分为一行两列。

分别在两列中添加温度面板和湿度面板。

对布局更加熟悉。

4.分别在温度面板和湿度面板中添加当前值、上限值、下限值、及相应的调节机器的状态的标签和对应的显示的文本框。

5.对两个面板的当前值、上限值、下限值设置监听。

期间加深了对监听的设置和实现的理解。

6.添加串口通信面板和操作面板并对他们实现监听。

期间和学习了串口通信。

7.完成异常的抛出处理。

8.调用主函数即可完成界面的显示和相应功能。

在实验中遇到很多不懂的问题,通过书籍、上网查资料进行学习解决问题。

队友给我的

帮助很大。

在本次实验中增强了问题的处理能力、加深了对传感器感知,熟练了Java的编程能力。

六.附录

源程序文件名清单:

TempAndHum.h//传感器程序

Coordinator.h//协调器程序

//界面显示程序

共有5个包分别实现异常处理、串口管理、界面设计、数据处理、方法实现。

(程序的实现需要从网络下载配置串口通信的包)

实验结果已经老师检查,成功实现要求功能。

下面仅给出初始化界面的类和主函数的类代码。

packagecom.zyl;

importjava.io.File;

importjava.io.FileOutputStream;

importjava.io.PrintWriter;

importgnu.io.SerialPort;

importgnu.io.SerialPortEvent;

importgnu.io.SerialPortEventListener;

importjava.text.*;

importjava.awt.*;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.util.List;

importjavax.swing.border.EtchedBorder;

importjavax.swing.border.TitledBorder;

importcom.yang.serialport.exception.NoSuchPort;

importcom.yang.serialport.exception.NotASerialPort;

importcom.yang.serialport.exception.PortInUse;

importcom.yang.serialport.exception.SerialPortParameterFailure;

importcom.yang.serialport.exception.TooManyListeners;

importcom.yang.serialport.manage.SerialPortManager;

importcom.yang.serialport.utils.ByteUtils;

importcom.yang.serialport.utils.ShowUtils;

importjava.awt.Color;

 

importjavax.swing.BorderFactory;

importjavax.swing.JButton;

importjavax.swing.JComboBox;

importjavax.swing.JFrame;

importjavax.swing.JLabel;

importjavax.swing.JPanel;

 

//窗口初始化

publicclassCshextendsJFrameimplementsData{

publicstaticDoublesdz=0.00;

publicstaticDoublewdz=0.00;

booleanthereIsSomeOne=false;

booleantheDoorIsOpen=false;

/**

*程序界面宽度

*/

publicstaticfinalintWIDTH=500;

/**

*程序界面高度

*/

publicstaticfinalintHEIGHT=360;

//privateJTextAreadataView=newJTextArea();

//privateJScrollPanescrollDataView=newJScrollPane(dataView);

//串口设置面板

privateJPanelserialPortPanel=newJPanel();

privateJLabelserialPortLabel=newJLabel("串口");

privateJLabelbaudrate

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1