1、基于ZigBee无线的温湿度测量设计与实现计算机科学与技术学院ZigBee无线网络原理课程设计报告设计题目:基于ZigBee的温湿度测量的设计 设计人员:学号:学号:学号:学号:学号:指导教师:年 月目录目录 2摘 要 IABSTRACT II1. 设计目标 12. 设计内容 13. 设计方案 34. 实验所需器材 35. 实验软件设计 35.1 基于JAVA语言上位机控制程序: 35.2 ZigBee核心板下位机核心部分 56. 品实物图展示 77. 实验小组成员分工 98. 实验总结 109. 小组成员评分 11参考文献 12ZigBee温湿度测量摘 要随着物联网的兴起,ZigBee技术以
2、其独有的优势正在为我们提供更多优质便捷的技术成果。本课题研究的是基于ZigBee技术,设计和实现了一种对室内温湿度测量的解决方案。设计以电脑控制端、ZigBee技术、温湿度驱动模块等硬件模块组成的温湿度测量系统。实现室内的温度和湿度进行动态采集等实时控制功能。为远距离采集温湿度提供了一种新思路,同时可以为将来智能家居的温湿度测量设计提供一定的参考意义。【关键词】ZigBee核心板 温湿度模块传感器 无线控制ABSTRACT With the rise of the Internet of things, ZigBee technology with its unique advantage i
3、s to provide more quality and convenient for our technological achievements. This research is based on the ZigBee technology, a design and implementation of the indoor temperature and humidity measurement solutions. The design of control terminal, with computer technology, ZigBee temperature and hum
4、idity measuring system of temperature and humidity driving module. To realize dynamic acquisition real-time control function of the indoor temperature and humidity. Provides a new idea for remote acquisition of temperature and humidity, and can provide some references for the future design of the in
5、telligent temperature and humidity measurement Home Furnishing.key words ZigBee Temperature and humidity sensor module Wireless control1. 设计目标 本次设计要求实现一个PC端可以检测并展示温湿度即时的变化。PC端控制软件可以用JAVA语言,对JAVA串口控件要熟悉的掌握。同时要求学生对CC2530芯片编程和zigbee协议栈有相当程度的理解以及熟练的应用,熟悉ZigBee串口以及中断的使用,会基本的C语言熟练掌握IAR FOR 8051软件的使用与程序下载。
6、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)
7、测试PCB电路,检查相关电路能否正常工作,以及ZigBee核心板的能否正常调试。4) 在完成电路调试后,用下载器下载调试程序成功完成程序对相关元件的驱动5) 实验完成后做好相应的实验总结。 4. 实验所需器材此处用CC2530芯片用作接收信息和控制芯片,实现无线遥控,单跳控制距离可以达到100米以上,L298N驱动模块(驱动电机)(1) 温湿度传感器,(2) 电脑和ZigBee核心板和JLINK下载模块及其相关的驱动(3) 杜邦线若干,电池若干(最好是可以充电的)5. 实验软件设计5.1 基于JAVA语言上位机控制程序:核心代码:public void initChuanKou(String
8、portName) selectPort(portName); try serialPort = (SerialPort) portId.open(MyChuanKou, 2000); catch (PortInUseException e) e.printStackTrace(); try inputStream = serialPort.getInputStream(); outputStream = serialPort.getOutputStream(); catch (IOException e) e.printStackTrace(); / 识别端口 boolean selectP
9、ort(String portName) portList = CommPortIdentifier.getPortIdentifiers(); while (portList.hasMoreElements() portId = (CommPortIdentifier) portList.nextElement(); if (portId.getPortType() = CommPortIdentifier.PORT_SERIAL) if (portId.getName().equals(portName) return true; System.out.println(识别不了 + por
10、tName + 请重新选择COM口); return false; public boolean setParam() try serialPort.setSerialPortParams(115200, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); return true; catch (UnsupportedCommOperationException e) e.printStackTrace(); return false; public void receiveData() throws I
11、OException List list=new ArrayList(); String buf=null; boolean su=false; int i=0; while(i=inputStream.read()0) System.out.print(char)i+); char b=(char)i; list.add(b); if(list.size()8) su=true; if(su=true) System.out.println(list); System.out.println(list.size(); char wen= (char) list.get(2); char du
12、= (char) list.get(3); System.out.println(wen); System.out.println(du); String wendu=+wen+du; wen_du=wendu; char shi=(char) list.get(5); char du_1=(char) list.get(6); String shidu=+shi+du_1; shi_du=shidu; System.out.println(温度显示为:+wendu); System.out.println(湿度显示为:+shidu); su=false; 上位机界面代码:package co
13、m.wang;import javax.swing.JFrame;import javax.swing.JLabel;import java.awt.Font;import java.awt.Color;import javax.swing.JTextField;import javax.swing.JButton;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import javax.swing.ImageIcon;public class JieMian extends JFrame private
14、JTextField textField; private JTextField textField_1; public JieMian() getContentPane().setFont(new Font(宋体, Font.PLAIN, 16); getContentPane().setBackground(new Color(205, 133, 63); getContentPane().setLayout(null); JLabel label = new JLabel(u7269u8054u7F51u6E29u6E7Fu5EA6u91C7u96C6u7CFBu7EDF); label
15、.setForeground(new Color(0, 255, 255); label.setFont(new Font(华文行楷, Font.PLAIN, 26); label.setBounds(78, 21, 269, 48); getContentPane().add(label); JLabel label_1 = new JLabel(u6D4Bu91CFu6E29u5EA6uFF1A); label_1.setFont(new Font(宋体, Font.PLAIN, 15); label_1.setBounds(168, 83, 86, 31); getContentPane
16、().add(label_1); textField = new JTextField(); textField.setBounds(291, 88, 66, 21); getContentPane().add(textField); textField.setColumns(10); JLabel lbll = new JLabel(u6D4Bu91CFu6E7Fu5EA6uFF1A); lbll.setFont(new Font(宋体, Font.PLAIN, 15); lbll.setBounds(168, 124, 75, 26); getContentPane().add(lbll)
17、; textField_1 = new JTextField(); textField_1.setBounds(291, 127, 66, 21); getContentPane().add(textField_1); textField_1.setColumns(10); JLabel lblNewLabel = new JLabel(u5C0Fu7EC4u6210u5458uFF1Au79B9u542Fu6807 u4F59u742A); lblNewLabel.setForeground(Color.CYAN); lblNewLabel.setBounds(192, 168, 262,
18、31); getContentPane().add(lblNewLabel); JLabel lblNewLabel_1 = new JLabel(u6C6Au548Cu5143 u5F20u7FFC u8D39u51CCu4E91); lblNewLabel_1.setForeground(Color.CYAN); lblNewLabel_1.setBounds(250, 203, 136, 21); getContentPane().add(lblNewLabel_1); JLabel lblNewLabel_2 = new JLabel(New label); lblNewLabel_2
19、.setIcon(new ImageIcon(C:UsersWangDesktop2.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); public void getWuDu(String wen,String s
20、hi) textField.setText(wen); textField_1.setText(shi); 5.2 ZigBee核心板下位机核心部分说明:登记串口任务号,以及IO口和串口设备初始化 说明:从电脑获取串口命令函数void SampleApp_SendPeriodicMessage( void ) uint8 T_H8;/温湿度 T_H0=9; T_H1= ; T_H2=wendu_shi+48; T_H3=wendu_ge%10+48; T_H4= ; T_H5=shidu_shi+48; T_H6=shidu_ge%10+48; T_H7= ; if ( AF_DataRequ
21、est( &SampleApp_Periodic_DstAddr, &SampleApp_epDesc, SAMPLEAPP_WANGHEYUAN_ID, 8, T_H, &SampleApp_TransID, AF_DISCV_ROUTE, AF_DEFAULT_RADIUS ) = afStatus_SUCCESS ) else / Error occurred in request to send. 说明:将串口命令发送至车载ZigBee节点函数6. 品实物图展示图6.1 温湿度模块的静态展示 图6.3 温湿度测量的电脑控制端界面图6.4 PCB原理图 图6.4 PCB原理图7. 实验小
22、组成员分工姓名课程设计中承担的任务负责画PCB电路图,编写调试程序,组织小组成员分工合作上位机控制端的美工制作电路板,并打好电路板上的元器件焊接洞孔根据原理图焊接实物元器件,并测试电路是否正常工作查找相关资料文献,总结完成实践报告8. 实验总结硬件搭接和软件烧录完毕之后,在实验室进行了调试,调试成功。通过测试,采集的数据表明本文所研究的温室监控系统中Zigbee传感网络的设计方案是可行的,所设计的传感节点的功能也顺利实现。在本次设计研究和撰写论文的过程中,我们查阅了许多文献资料,从中学到了很多有关系统开发和程序调试方面等的知识。在软件开发过程中掌握了一些技术难题的解决方法和技巧,巩固和加深了所
23、学知识的理解,能够把所学的知识与实践相结合,培养了认真严谨的学习态度,为以后开发软件积累了大量的经验,提高了分析问题和解决问题的能力。但是由于认识上的片面和不足,各方面的条件影响也很多,本设计还有待进一步的完善和优化,这些我们会在以后的学习中要注重积累。另外在这次课程实践中,我们小组成员分工明确,团结合作,每个人尽力做了自己力所能及的工作,最后能成功完成这次实验离不开我们每一个小组成员的努力。更重要的是,通过这次的课程实践,我们对ZigBee无线网络技术有了更实际上的认识,把书本上的知识运用到了实际中。总之,这次的课程实践让我们每一个人都受益匪浅9. 小组成员评分学 号姓 名评 分签 字 指导
24、老师签字:年 月 日 参考文献1黄永军.ZigBee远程数据采集系统的设计与实现D.武汉:武汉理工大学硕士论文,2009,62王雪.无线传感器网络测量系统M,北京:机械工业出版社,2007:2123洪文平.ZigBee在无线感测网路之发展.情报顾问-产业研究报告,2007-34孙利民,李建中,陈渝等.无线传感器网络M.北京:清华大学出版社,20055李文仲,段朝玉.ZigBee2006无线网络与无线定位实战M.北京北京航天航空大学出版社,2008.1.6徐小涛,吴延林.无线个域网(WPAN)技术及其应用M.北京:人民邮电出版社,2009.57顾瑞红,张宏科.基于ZigBee的无线网络技术及其应用J,网络通信世界,2005.8崔逊学,赵湛等.无线传感器网络的领域应用与设计技术M.北京:国防工业出版社,2009.59瞿雷,刘盛德,胡咸斌.ZigBee技术及应用M北京:北京航空航天大学出版社,2007.910赵芸,张浩.彭道刚,ZigBee无线网络技术的应用J,机电一体化,2007.9.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1