基于ZigBee无线的温湿度测量设计与实现Word格式文档下载.docx
- 文档编号:18515065
- 上传时间:2022-12-18
- 格式:DOCX
- 页数:15
- 大小:191.65KB
基于ZigBee无线的温湿度测量设计与实现Word格式文档下载.docx
《基于ZigBee无线的温湿度测量设计与实现Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于ZigBee无线的温湿度测量设计与实现Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
本次设计要求实现一个PC端可以检测并展示温湿度即时的变化。
PC端控制软件可以用JAVA语言,对JAVA串口控件要熟悉的掌握。
同时要求学生对CC2530芯片编程和zigbee协议栈有相当程度的理解以及熟练的应用,熟悉ZigBee串口以及中断的使用,会基本的C语言熟练掌握IARFOR8051软件的使用与程序下载。
2.设计内容
1.实现对室内温湿度参数的实时采集,测量空间的温度和湿度,由ZigBee核心板对采集的温湿度值进行循环检测、数据处理、显示,实现温湿度的智能检测。
2.实现超越数据的及时报警,并启动控制系统。
3.现场检测设备应具有较高的灵敏度、可靠性、抗干扰能力。
4.要求达到的技术指标:
测温范围:
0。
C-60。
C
测温精度:
+0.5。
C
测湿范围:
0-100%RH
测湿精度:
+2.5%RH
图2.1系统组成框图
3.设计方案
1)了解温湿度传感器工作原理,根据原理画好PCB原理图。
2)根据PCB原理图自制PCB板电路,将液晶屏,温湿度传感器,ZigBee开发板等相关元件设备进行集成。
3)测试PCB电路,检查相关电路能否正常工作,以及ZigBee核心板的能否正常调试。
4)在完成电路调试后,用下载器下载调试程序成功完成程序对相关元件的驱动
5)实验完成后做好相应的实验总结。
4.实验所需器材
此处用CC2530芯片用作接收信息和控制芯片,实现无线遥控,单跳控制距离可以达到100米以上,L298N驱动模块(驱动电机)
(1)温湿度传感器,
(2)电脑和ZigBee核心板和JLINK下载模块及其相关的驱动
(3)杜邦线若干,电池若干(最好是可以充电的)
5.实验软件设计
5.1基于JAVA语言上位机控制程序:
核心代码:
publicvoid initChuanKou(String portName){
ﻩﻩselectPort(portName);
ﻩtry{
serialPort =(SerialPort)portId.open("MyChuanKou"
2000);
ﻩ}catch(PortInUseExceptione){
ﻩﻩe.printStackTrace();
ﻩ}
ﻩﻩtry {
ﻩinputStream= serialPort.getInputStream();
ﻩoutputStream=serialPort.getOutputStream();
ﻩ}catch(IOExceptione){
ﻩe.printStackTrace();
ﻩ}
ﻩ}
// 识别端口
ﻩbooleanselectPort(StringportName){
ﻩportList=CommPortIdentifier.getPortIdentifiers();
ﻩﻩwhile(portList.hasMoreElements()) {
ﻩﻩﻩportId= (CommPortIdentifier)portList.nextElement();
ﻩﻩif(portId.getPortType()==CommPortIdentifier.PORT_SERIAL){
ﻩif(portId.getName().equals(portName)){
ﻩﻩﻩﻩreturntrue;
ﻩﻩ}
}
ﻩ}
System.out.println("
识别不了"
+portName+" 请重新选择COM口"
);
returnfalse;
}
publicbooleansetParam() {
ﻩtry{
ﻩﻩserialPort.setSerialPortParams(115200,SerialPort.DATABITS_8,
ﻩﻩSerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
ﻩﻩreturntrue;
ﻩﻩ}catch (UnsupportedCommOperationException e) {
ﻩﻩe.printStackTrace();
returnfalse;
public voidreceiveData()throws IOException{
Listlist=new ArrayList();
Stringbuf=null;
booleansu=false;
ﻩﻩinti=0;
ﻩﻩwhile((i=inputStream.read())>
0){
ﻩﻩ System.out.print((char)i+""
);
ﻩﻩ charb=(char)i;
ﻩﻩ list.add(b);
ﻩ if(list.size()>
8)
ﻩ su=true;
ﻩﻩ}
ﻩif(su==true){
ﻩﻩSystem.out.println(list);
ﻩﻩﻩSystem.out.println(list.size());
ﻩﻩﻩﻩcharwen= (char)list.get(2);
ﻩchardu=(char)list.get(3);
ﻩSystem.out.println(wen);
ﻩSystem.out.println(du);
ﻩﻩﻩStringwendu="
"+wen+du;
ﻩﻩﻩwen_du=wendu;
ﻩﻩchar shi=(char)list.get(5);
ﻩﻩchardu_1=(char)list.get(6);
ﻩﻩﻩﻩStringshidu=""
+shi+du_1;
ﻩﻩshi_du=shidu;
ﻩﻩSystem.out.println("
温度显示为:
"
+wendu);
ﻩﻩﻩSystem.out.println("
湿度显示为:
+shidu);
ﻩﻩﻩsu=false;
ﻩﻩ}
}
上位机界面代码:
packagecom.wang;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjava.awt.Font;
importjava.awt.Color;
importjavax.swing.JTextField;
import javax.swing.JButton;
importjava.awt.event.MouseAdapter;
importjava.awt.event.MouseEvent;
importjavax.swing.ImageIcon;
public classJieMian extendsJFrame{
ﻩprivateJTextField textField;
privateJTextFieldtextField_1;
ﻩpublicJieMian() {
getContentPane().setFont(newFont("
宋体"
Font.PLAIN,16));
ﻩgetContentPane().setBackground(newColor(205,133,63));
getContentPane().setLayout(null);
ﻩﻩ
ﻩJLabellabel= new JLabel("\u7269\u8054\u7F51\u6E29\u6E7F\u5EA6\u91C7\u96C6\u7CFB\u7EDF"
ﻩlabel.setForeground(newColor(0,255,255));
ﻩlabel.setFont(newFont("
华文行楷",Font.PLAIN,26));
ﻩlabel.setBounds(78, 21,269,48);
getContentPane().add(label);
JLabellabel_1=newJLabel("
\u6D4B\u91CF\u6E29\u5EA6\uFF1A");
ﻩﻩlabel_1.setFont(newFont("
,Font.PLAIN,15));
ﻩﻩlabel_1.setBounds(168,83,86,31);
ﻩﻩgetContentPane().add(label_1);
ﻩtextField=new JTextField();
ﻩtextField.setBounds(291,88,66, 21);
ﻩﻩgetContentPane().add(textField);
textField.setColumns(10);
ﻩ
JLabel lbll=newJLabel("
\u6D4B\u91CF\u6E7F\u5EA6\uFF1A");
lbll.setFont(new Font("
Font.PLAIN,15));
ﻩlbll.setBounds(168,124, 75, 26);
ﻩﻩgetContentPane().add(lbll);
textField_1 =new JTextField();
ﻩﻩtextField_1.setBounds(291, 127, 66, 21);
ﻩgetContentPane().add(textField_1);
textField_1.setColumns(10);
JLabel lblNewLabel=newJLabel("\u5C0F\u7EC4\u6210\u5458\uFF1A\u79B9\u542F\u6807\u4F59\u742A");
lblNewLabel.setForeground(Color.CYAN);
ﻩlblNewLabel.setBounds(192,168, 262, 31);
ﻩﻩgetContentPane().add(lblNewLabel);
JLabellblNewLabel_1=new JLabel("
\u6C6A\u548C\u5143\u5F20\u7FFC\u8D39\u51CC\u4E91");
ﻩﻩlblNewLabel_1.setForeground(Color.CYAN);
ﻩﻩlblNewLabel_1.setBounds(250,203,136, 21);
ﻩﻩgetContentPane().add(lblNewLabel_1);
ﻩﻩJLabellblNewLabel_2=newJLabel("Newlabel"
lblNewLabel_2.setIcon(newImageIcon("
C:
\\Users\\Wang\\Desktop\\2.png"));
ﻩlblNewLabel_2.setBounds(70,79,66,72);
ﻩﻩgetContentPane().add(lblNewLabel_2);
this.setVisible(true);
this.setLocationRelativeTo(null);
ﻩthis.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ﻩthis.setSize(480, 300);
ﻩ}
ﻩpublicvoidgetWuDu(Stringwen,Stringshi){
textField.setText(wen);
textField_1.setText(shi);
5.2ZigBee核心板下位机核心部分
说明:
登记串口任务号,以及IO口和串口设备初始化
说明:
从电脑获取串口命令函数
void SampleApp_SendPeriodicMessage( void )
{
uint8 T_H[8];
//温湿度
T_H[0]='9'
;
T_H[1]='
'
T_H[2]=wendu_shi+48;
T_H[3]=wendu_ge%10+48;
T_H[4]='
'
T_H[5]=shidu_shi+48;
T_H[6]=shidu_ge%10+48;
T_H[7]='';
if(AF_DataRequest(&SampleApp_Periodic_DstAddr,
&
SampleApp_epDesc,
SAMPLEAPP_WANGHEYUAN_ID,
8,
T_H,
&
SampleApp_TransID,
AF_DISCV_ROUTE,
AF_DEFAULT_RADIUS)==afStatus_SUCCESS)
{
}
else
// Erroroccurredinrequestto send.
将串口命令发送至车载ZigBee节点函数
6.品实物图展示
图6.1 温湿度模块的静态展示
ﻩ
图6.3 温湿度测量的电脑控制端界面
图6.4PCB原理图
图6.4 PCB原理图
7.实验小组成员分工
姓名
课程设计中承担的任务
负责画PCB电路图,编写调试程序,组织小组成员分工合作
上位机控制端的美工
制作电路板,并打好电路板上的元器件焊接洞孔
根据原理图焊接实物元器件,并测试电路是否正常工作
查找相关资料文献,总结完成实践报告
8.实验总结
硬件搭接和软件烧录完毕之后,在实验室进行了调试,调试成功。
通过测试,采集的数据表明本文所研究的温室监控系统中Zigbee传感网络的设计方案是可行的,所设计的传感节点的功能也顺利实现。
在本次设计研究和撰写论文的过程中,我们查阅了许多文献资料,从中学到了很多有关系统开发和程序调试方面等的知识。
在软件开发过程中掌握了一些技术难题的解决方法和技巧,巩固和加深了所学知识的理解,能够把所学的知识与实践相结合,培养了认真严谨的学习态度,为以后开发软件积累了大量的经验,提高了分析问题和解决问题的能力。
但是由于认识上的片面和不足,各方面的条件影响也很多,本设计还有待进一步的完善和优化,这些我们会在以后的学习中要注重积累。
另外在这次课程实践中,我们小组成员分工明确,团结合作,每个人尽力做了自己力所能及的工作,最后能成功完成这次实验离不开我们每一个小组成员的努力。
更重要的是,通过这次的课程实践,我们对ZigBee无线网络技术有了更实际上的认识,把书本上的知识运用到了实际中。
总之,这次的课程实践让我们每一个人都受益匪浅
9.ﻬ小组成员评分
学号
姓名
评 分
签字
指导老师签字:
年 月 日
参考文献
[1]
黄永军.
ZigBee
远程数据采集系统的设计与实现[D].武汉:
武汉理工大学硕士论文,2009,6
[2]
王雪.
无线传感器网络测量系统[M],
北京:
机械工业出版社,
2007:
212
[3]
洪文平.
ZigBee
在无线感测网路之发展.情报顾问-产业研究报告,2007-3
[4]
孙利民,李建中,陈渝等.无线传感器网络[M].北京:
清华大学出版社,2005
[5]
李文仲,段朝玉.ZigBee2006
无线网络与无线定位实战[M].北京
北京航天航空大学出版社,2008.1.
[6]
徐小涛,吴延林.
无线个域网(WPAN)技术及其应用[M].北京:
人民邮电出版社,2009.5
[7]
顾瑞红,张宏科.基于
ZigBee
的无线网络技术及其应用[J],网络通信世界,2005.
[8]
崔逊学,赵湛等.无线传感器网络的领域应用与设计技术[M].北京:
国防工业出版社,2009.5
[9]
瞿雷,刘盛德,胡咸斌.
ZigBee
技术及应用[M]北京:
北京航空航天大学出版社,
2007.9
[10]
赵芸,张浩.彭道刚,ZigBee
无线网络技术的应用[J],机电一体化,2007.9.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ZigBee 无线 温湿度 测量 设计 实现