基于ZigBee无线的光照检测_第1页
基于ZigBee无线的光照检测_第2页
基于ZigBee无线的光照检测_第3页
基于ZigBee无线的光照检测_第4页
基于ZigBee无线的光照检测_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、0加科孩歹茂HUBEIUNIVERSITYOFSCIENCEANDTECHNOLOGY计算机科学与技术学院ZigBee无线网络原理课程设计报告设计题目:基于ZigBee光照检测系统的设计设计人员:学号:学号:学号:学号:指导教师:2015年4月目录TOC o 1-5 h z HYPERLINK l bookmark6 目录2摘要IABSTRACTII HYPERLINK l bookmark8 1设计目标1 HYPERLINK l bookmark10 2设计内容1 HYPERLINK l bookmark12 3设计方案2 HYPERLINK l bookmark14 4实验所需器材3 HY

2、PERLINK l bookmark16 5实验各个模块的相关电路设计35.1光照传感器相关参数及特点35.2光照传感器图45.3消息推送原理图5 HYPERLINK l bookmark18 6实验软件设计56.1基于java语言上位机控制程序:56.2ZigBee核心板下位机核心部分96.3安卓手机终端推送11 HYPERLINK l bookmark20 7作品实物图展示12 HYPERLINK l bookmark22 8实验小组成员分工16 HYPERLINK l bookmark24 9实验总结16 HYPERLINK l bookmark26 10.小组成员评分17IZigBee

3、光照检测摘要随着物联网的兴起,ZigBee技术以其独有的优势正在为我们提供更多优质便捷的技术成果。本课题研究的是基于ZigBee技术,设计和实现了一种无线光照检测的解决方案。设计以电脑控制端、智能手机终端、ZigBee技术、光照感应器模块等硬件模块组成的光照检测通知系统。实现对环境光照的时时检测,通知等功能。为对于环境光照的检测提供了一种新思路,同时可以为将来智能家居的遥控设计提供一定的参考意义。【关键词】ZigBee核心板光照感应IIABSTRACTWiththeriseoftheInternetofthings,ZigBeetechnologywithitsuniqueadvantagei

4、stoprovidemorequalityandconvenientforourtechnologicalachievements.ThisresearchisbasedontheZigBeetechnology,designandimplementationofawirelesslightdetectionsolution.Thedesignofcontrolterminal,computerterminal,intelligentmobilephonewithZigBeetechnology,lightsensorhardwaremoduleandetc.thelightdetection

5、notificationsystem.Canalwaysdetectlightontheenvironment,notificationandotherfunctions.Asforthedetectionoflightenvironmentprovidesanewwayofthinking,andcanprovidesomereferencesforthefuturedesignofintelligentremotecontrolHomeFurnishing.keywordsZigBeeLightinductionWirelesscontrolZigBee无线网络原理课程设计报告:基于7ig

6、Bee光照检测的设计 1设计目标本次设计要求实现PC端和智能手机终端对环境光照的时时检测,报告。PC端控制软件可以用java语言,对java串口控件要熟悉的掌握。同时要求学生对CC2530芯片编程和zigbee协议栈有相当程度的理解以及熟练的应用,安卓手机软件的开发使用java语言,熟悉ZigBee串口以及中断的使用,会基本的C语言熟练掌握IARFOR8051软件的使用与程序下载以及手机软件开发环境。2设计内容利用ZigBee核心板,光照传感器,建立无线控制系统。自行设计光敏传感器电路并配备ZigBee模块,电脑,安卓用做终端设备,采用广播方式接入到ZigBee协调器网络,实现对环境光照的时时

7、感应和对安卓手机的推送启动ZigBee核心板主控软件,对光照时时检测。并向电脑发生送光照状态,单片机收到指令后进行相关处理,并通过网络给安卓推送信息H|W协调器(通过串口将数据发送给消息代理服务器(Broker)采集鬻终端J日廿日客户端Android客户端图2.1系统组成框图3设计方案(1)CC2530芯片做接收信息设备和控制设备。(2)ZigBee终端设备和协调器组网成功通信。(3)自制光照传感器的电路(根据实验材料的具体情况)上位机发送状态。4实验所需器材此处用CC2530芯片用作接收信息和控制芯片,实现环境光照时时检测,推送,L298N驱动模块(驱动电机)(1)光照感应器(2)ZigBe

8、e核心板和JLINK下载模块及其相关的驱动(3)杜邦线若干,电池若干(最好是可以充电的)5实验各个模块的相关电路设计5.1光照传感器相关参数及特点1、采用灵敏型光敏电阻传感器2、比较器输出,信号干净,波形好,驱动能力强,超过15mA3、配可调电位器可调节检测光线亮度4、工作电压3.3V-5V5、输出形式:数字开关量输出(0和1)6、设有固定螺栓孔,方便安装7、小板PCB尺寸:3.2cmx1.4cm8、使用宽电压LM393比较器5.2光照传感器图15.2光照传感器图注:电源极性不能接反,否则有可能将芯片烧坏,开关信号指示灯亮时输出低电平”不亮输出高电平,输号输岀的电平接近于电源I说明:1、光敏电

9、阻模块对环境光线最敏感,一般用来检测周围环境的光线的亮度,触发单片机或继电器模块等;2、模块在环境光线亮度达不到设定阈值时,DO端输出高电平,当外界环境光线亮度超过设定阈值时,DO端输出低电平;3、DO输出端可以与单片机直接相连,通过单片机来检测高低电平,由此来检测环境的光线亮度改变;4、DO输出端可以直接驱动继电器模块,由此可以组成一个光控开关。5.3消息推送原理图Publish&rPublisherEstockquots/cstockquQtes.;_onne;JMyCtf_说明:终端节点采集数据后,发送到协调器,然后协调器通过串口发送给Publisher发布消息到代理服务器Brkoer,

10、消息代理服务器讲消息发送到订阅此主题的Subcribe。stockquotas/AcmePublisher,Subscriberstoekquotes11Subscriberstockquote?/材图5.3电路图6实验软件设计6.1基于java语言上位机控制程序:packageUart;importjava.io.IOException;importjava.io.InputStream;importjava.text.DateFormat;importjava.text.SimpleDateFormat;importjava.util.Date;importjava.util.Enumer

11、ation;importjava.util.HashMap;importjava.util.Hashtable;importjava.util.TooManyListenersException;importgnu.io.CommPortIdentifier;importgnu.io.PortInUseException;importgnu.io.SerialPort;importgnu.io.SerialPortEvent;importgnu.io.SerialPortEventListener;importgnu.io.UnsupportedCommOperationException;p

12、ublicclassMyUartimplementsRunnable,SerialPortEventListener/定义串口管理类publicstaticCommPortIdentifierportId=null;publicstaticEnumerationportList=null;/枚举类/定义输入流InputStreaminputStream=null;/定义输出流SerialPortserialPort=null;/定义一个读的线程ThreadreadThread=null;/定义日期时间对象Datedate=null;/定义D时间格式化类DateFormatformat=null

13、;Stringtime=null;publicstaticHashtablemsg=newHashtable();/publicstaticvoidmain(Stringargs)portList=CommPortIdentifier.getPortIdentifiers();while(portList.hasMoreElements()portId=(CommPortIdentifier)portList.nextElement();if(portId.getPortType()=CommPortIdentifier.PORT_SERIAL)/*找Windows下的第一个串口*/if(po

14、rtId.getName().equals(COM4)/if(portId.getName().equals(/dev/term/a)/*找Unix-like系统下的第一个串口*/MyUartuart=newMyUart();/publicMyUart()try/打开一个串口serialPort=(SerialPort)portId.open(SimpleReadApp,2000);catch(PortInUseExceptione)/TODOAuto-generatedcatchblocke.printStackTrace();try/*获取串口的输入流对象*/inputStream=ser

15、ialPort.getInputStream();catch(IOExceptione)try/给串口添加监听serialPort.addEventListener(this);catch(TooManyListenersExceptione)/串口有数据到达时,通知serialPort.notifyOnDataAvailable(true);try/串口基本设置serialPort.setSerialPortParams(9600,SerialPort.DATABITS_8,SerialPort.STOPBITS_1,SerialPort.PARITY_NONE);/*设置串口初始化参数,依

16、次是波特率,数据位,停止位和校验*/catch(UnsupportedCommOperationExceptione)/创建读线程对象readThread=newThread(this);/启动线程readThread.start();/msg的初始化msg.put(time,0);msg.put(numOfGroup,8);msg.put(status,0);/获取当前时间的函数publicvoidtime()date=newDate();format=newSimpleDateFormat(yyyy-MM-ddHH:mm:ss);time=format.format(date);/延时函数

17、Overridepublicvoidrun()/TODOAuto-generatedmethodstubtryThread.sleep(2000);/线程休眠20000毫秒catch(InterruptedExceptione)OverridepublicvoidserialEvent(SerialPortEventevent)/TODOAuto-generatedmethodstubswitch(event.getEventType()caseSerialPortEvent.BI:/*Breakinterrupt,通讯中断*/caseSerialPortEvent.OE:/*Overrune

18、rror,溢位错误*/caseSerialPortEvent.FE:/*Framingerror,传帧错误*/caseSerialPortEvent.PE:/*Parityerror,校验错误*/caseSerialPortEvent.CD:/*Carrierdetect,载波检测*/caseSerialPortEvent.CTS:/*Cleartosend,清除发送*/caseSerialPortEvent.DSR:/*Datasetready,数据设备就绪*/bufferistheserialcaseSerialPortEvent.RI:/*Ringindicator,响铃指示*/case

19、SerialPortEvent.OUTPUT_BUFFER_EMPTY:/*Outputempty,输出缓冲区清空*/break;caseSerialPortEvent.DATA_AVAILABLE:/*Dataavailableatport,端口有可用数据。读到缓冲数组,输出到终端*/bytereadBuffer=newbyte8;trywhile(inputStream.available()0)/从输入流读取数据intnumBytes=inputStream.read(readBuffer);/获取当前时间time();/msg清空msg.clear();/更新msg消息msg.put(

20、time,time);msg.put(numOfGroup,+(readBuffer0-48);msg.put(status,+(readBuffer2-48);/System.out.print(time+:);System.out.print(msg.get(numOfGroup);/System.out.print(readBuffer0-48+);/System.out.print(readBuffer1-48+);System.out.print();System.out.print(msg.get(status);/System.out.print(readBuffer3-48+)

21、;System.out.print();System.out.println();catch(IOExceptione)break;62ZigBee核心板下位机核心部分voidSampleApp_InituintStask_id)SampleApp_IasklD=task_id;/task_zdisPointerto丄jugtunoftheApplzsatioetaskIDSampleApp_NwkStatE=DEV_INII;SampleApp_IransID=0;/ThisistheuniquesnessqeIL(counter)MT_UartInit();打串口初给牝MT_UartReg

22、isterlasklD(task_id);打登三任奚号火灾採淤機感養电跑初始牝F1SEL=-0X10;打鼓叠4为音進兀口F1DIR=-0X10;/P1.4口,鼓負拆盈人棋試F1INF=-0 x10;打扫幵疋上竝电密.F0SEL=-0X01;打鼓叠巩)沁俭音進IC口F0DIR|=0X01;/P0.0口,设置煞出撲弍LED=J;说明:登记串口任务号,以及IO口设备初始化|voi.dSampleApp_Me3sageMSGCB(azIncomingMSGFaeket_t*p|ct)/接谀一子-宿总包uintlfizlashTime;switch(pkt-clu3terld)caseSAMPLEAFF

23、_HUZHUO_ID;H厭认接致接较卩为言走止厂搭雀毓萤号HalUflRTWrite(0r&pkt-cmd.Data0r5J;打知砾畫登数基HalUflRTWrite(0rnrlj;运羊駁疗breat;caseSflHPLEAFF_FLASH_?LUSTERID:zlashlime=BUIL?_UINTltpkt-cmd.Data1Tpkt-cmd.Data2J;HalLedBlinkfHAL_LED_4r4r50r(zlashlime/4);打H灯达烁break;说明:从电脑获取串口命令函数6.3安卓手机终端推送7作品实物图展示刍jZigB已已客户克Num岁组胡卓彭非凡刘吉陈咸Status:光线正常图7.1光线正常展示Time:2015-05-0521:45:25图7.3电脑端界面P3PIP46hLP52(J1.3101256P2IDDnTTclkP:!-CISIFlLp|s,ijzFddTTmisoRTsclkT|iiVMD+3JVP21DC陀*+3JVGNDRbSbTjND牯畑卩NOSUV47?1232NfRTSA*DTR#DCD#FIMDSR#CTS8-1.1V+3.3VHiadtir2电源沐分RLSliTTrFAIDiiF+3.3|lC;KD指示灯CH3iTL2M.HtJ-U922PCiKD+13VP6士Sj|GND1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论