1 / 30
文档名称:

西电无线传感器与信息感知实验报告.pdf

格式:pdf   大小:3,357KB   页数:30页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

西电无线传感器与信息感知实验报告.pdf

上传人:1781111**** 2024/5/11 文件大小:3.28 MB

下载得到文件列表

西电无线传感器与信息感知实验报告.pdf

相关文档

文档介绍

文档介绍:该【西电无线传感器与信息感知实验报告 】是由【1781111****】上传分享,文档一共【30】页,该文档可以免费在线阅读,需要了解更多关于【西电无线传感器与信息感知实验报告 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..西安电子科技大学传感器原理及信息感知技术课程实验报告实验名称高精温湿度采集实验计算机学院班成绩姓名学号同作者实验日期201年月日指导教师评语:指导教师:年月日实验报告内容基本要求及参考格式一、实验目的二、实验所用仪器(或实验环境)三、实验基本原理及步骤(或方案设计及理论计算)四、实验数据记录(或仿真及软件设计)五、实验结果分析及回答问题(或测试环境及测试结果):..实验一、高精温湿度采集实验【实验目的】;。【实验内容】。,循环采集温湿度传感器的温度和湿度,在液晶显示屏上显示,并通过串口在串口调试助手中显示。【预备知识】;。【实验设备】:教学实验箱、PC机;:PC机操作系统Windows7(XP)+IAR开发环境。【基础知识】。它应用S过程微加工技术(CMOSensR),确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电容式聚合体测湿元件和一个能隙式测温元件,并与一个14位的A/D转换器以及串行接口电路在同一芯片上实现无缝连接。因此,该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。。2530的I/O口仿真SHT10要求的串行接口时序,以读出SHT10温湿度传感器采集的当前的温度和湿度值。此案选择SHT10型号,SHT10的接口定义如下表所示:-,。在电源引脚(VDD,GND)之间须加一个100nF的电容,用以去耦滤波。SHT10的串行接口,在传感器信号的读取及电源损耗方面,都做了优化处理;传感器不能按照I2C协议编址,但是,如果I2C总线上没有挂接别的元件,传感器可以连接到I2C总线上,但单片机必须按照传感器的:..协议工作。综上所述,进行了如下图示的电路设计。2530的P14引脚作为数据引脚,P15作为时钟引脚。【实验步骤】,及带传感器的通用调试母板;,添加相应的文件,并修改SHT10的工程设置;;,在设置的间隔时间循环显示温度和湿度的值,在液晶屏上显示并通过串口发送出来;,成功后,下载并运行,通过串口调试助手观察温湿度值,如下图所示。【仿真及软件设计】关键代码voidmain(void){uint16sht;floatsht11;intClock();InitIO();P2DIR|=0x01;//打开电源P2|=0x01;SHT1X_INT();ugOled9616int();//初始化OLed配置delay(10);initUARTtest();while(1){chartempBuf[4];sht=Read_SHT1X(3);:..sht&=0x3fff;sht11=(float)(sht*)-;LcdPutString16_8(0,0,(uint8*)tempBuf,5,1);UartTX_Send_String(tempBuf,5);delay(10);charhumBuf[6];sht=Read_SHT1X(5);sht&=0x0fff;sht11=(float)(sht*)-4-(sht*sht*);humBuf[5]=37;//%LcdPutString16_8(48,0,(uint8*)humBuf,6,1);UartTX_Send_String(humBuf,6);delay(10);}}:..西安电子科技大学传感器原理及信息感知技术课程实验报告实验名称红外人体检测传感器实验计算机学院班成绩姓名学号同作者实验日期201年月日指导教师评语:指导教师:年月日实验报告内容基本要求及参考格式一、实验目的二、实验所用仪器(或实验环境)三、实验基本原理及步骤(或方案设计及理论计算)四、实验数据记录(或仿真及软件设计)五、实验结果分析及回答问题(或测试环境及测试结果):..实验二、红外人体检测传感器实验【实验目的】;。【实验内容】。:当有人靠近时,指示灯点亮,离开时指示灯熄灭。设置计数显示器,每检测到一次显示数字加1。【预备知识】;。【实验设备】:教学实验箱、PC机;:PC机操作系统WindowsXP+IAR开发环境。【基础知识】。开关信号输出,当有人靠近时,输出高电平,无人靠近时输出低电平。。2530的IO口,采集人体感应传感器的开关输出状态,从而感知是否有人靠近。人体感应传感器接口电路R12和R15组成分压电路,。【器件介绍】:..为了降低设计难度,本案直接采用人体红外检测开关型模块HC-SR501。HC-SR501是基于红外线技术的自动控制模块,采用德国原装进口LHI778探头设计,灵敏度高,可靠性强,超低电压工作模式,广泛应用于各类自动感应电器设备,尤其是干电池供电的自动控制产品。1、全自动感应:人进入其感应范围则输出高电平,人离开感应范围则自动延时关闭高电平,输出低电平。2、光敏控制(可选择,出厂时未设)可设置光敏控制,白天或光线强时不感应。3、温度补偿(可选择,出厂时未设):在夏天当环境温度升高至30~32℃,探测距离稍变短,温度补偿可作一定的性能补偿。4、两种触发方式:(可跳线选择)a、不可重复触发方式:即感应输出高电平后,延时时间段一结束,输出将自动从高电平变成低电平;b、可重复触发方式:即感应输出高电平后,在延时时间段内,如果有人体在其感应范围活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平(感应模块检测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时时间的起始点)。5(默认设置:):感应模块在每一次感应输出后(高电平变成低电平),可以紧跟着设置一个封锁时间段,在此时间段内感应器不接受任何感应信号。此功能可以实现“感应输出时间”和“封锁时间”两者的间隔工作,可应用于间隔探测产品;同时此功能可有效抑制负载切换过程中产生的各种干扰。(此时间可设置在零点几秒—几十秒钟)。:..6、工作电压范围宽:-20V。7、微功耗:静态电流<50微安,特别适合干电池供电的自动控制产品。8、输出高电平信号:可方便与各类电路实现对接。【原理图设计】根据厂家提供的模块外接示意图本案进行如下电路设计。这里任然通过P00作为传感器模块输出,单片机输入引脚接口。为了更加直观体现红外检测结果,在本模块上设计了个高亮LED灯作为检测指示,电路设计如下所示,直接将红外传感器模块检测结果VOUT接入三极管来控制LED亮,当红外模块检测到人体输出为高电平,导致如下电路Q1三极管导通,从而使LED灯D1电路导通,LED此时被点亮。:..【实验步骤】,及带传感器的通用调试母板;,添加相应的文件,并修改ManSensor的工程设置;;,并进行编译,成功后,。【仿真及软件设计】关键代码voidmain(void){char*buf;intcount=0;intClock();//①初始化时钟P1DIR|=0x04;//打开电源P1&=~0x04;ugOled9616int();//初始化OLed配置IO_DIR_PORT_PIN1(0,0,IO_IN);//Infraredwhile(1){if(P0_0==1){:..LcdPutString16_8(0,0,(void*)buf,12,1);}else{P0_0==0;}delay(200);}}:..传感器原理及信息感知技术课程实验报告实验名称ZigBee计算机学院班成绩姓名学号同作者实验日期201年月日指导教师评语:指导教师:年月日实验报告内容基本要求及参考格式一、实验目的二、实验所用仪器(或实验环境)三、实验基本原理及步骤(或方案设计及理论计算)四、实验数据记录(或仿真及软件设计)五、实验结果分析及回答问题(或测试环境及测试结果):..组网实验【实验目的】学会配置ZigBee网络参数,入网络PANID、网络通道、路由深度、网络结构(星状、串状、网状)等,同时学会如何判断设备是否成功建立或者加入网络。【实验内容】【实验设备】仿真器2台感知节点3套或以上网关1套【基础知识】(NWK)支持星型、树型和网状网络拓扑,如下图。星状网络星型拓扑中网络由ZigBee协调器的设备控制。ZigBee协调器负责发起和维护网络中的设备,其它设备,称为终端设备直接与ZigBee协调器通信。网状网络在网状和树型拓扑中,ZigBee协调器负责启动网络,选择某些关键的网络参数,但是网络可以通过使用ZigBee路由器进行范围扩展,该网络还具备自动路由功能。树状网络:..路由器使用一个分级路由策略在网络中传送数据和控制信息。-2003规范中描述的以信标为导向的通信。网状网络允许完全的点对点通信。ZigBee设备种类在ZigBee中有三类设备:协调器、路由器和终端节点设备。设备功能及在网络中的角色如下图所示。上述的三种设备根据功能完整性可分为全功能(FFD)和半功能(RFD)设备。其中全功能设备可作为协调器、路由器和终端设备,而半功能设备只能用于终端设备。一个全功能设备可与多个RFD设备或多个其它FFD设备通信,而一个半功能设备只能与一个FFD通信。ZigBee网络地址网络地址在一个新设备加入网络之后协调器会主动为他分配一个16位的网络地址,以方便在网络中的身分确认。理论地址范围:0-65535物理地址按照国际标准每一个ZigBee设备必需有全球唯一的64位物理地址,由于这些地址都获得ZigBee联盟认证,因此通过每一个物理地址可以追朔到相应的生产厂商。PANID:..每一个网络拥有唯一的网络号;在同一通道上允许存在多个网络但必需通过网络号进行区分。ZigBee频率,通道网络通道范围:(0-26)频率?868MHZ(1)?902-928MHZ(10)?2405MHZ–2480MHZ(16)ZigBee几个重要过程?扫描通道进行通道能量评估协调器设备在初始化一个网络之前,在用户给定的通道列表中进行能量评估,选择适合的信道或者PanId生成一个网络路由器设务备在初始化一个网络之前,在用户给定的通道列表中进行能量评估,选择适合的信道或者PanId加入一个网络?初始化一个网络或者加入一个网络:..ZigBee路由器节点加入一个网络?ZigBee数据收发过程【实验步骤】:..第一步:首先看看工程中有哪些配置文件,如下图所示。第二步:配置通道如上图文件看到这里有11~26通道可以进行选择,上述配置的为11通道。可以根据实验需要进行修改。第三步:配置PANIDPANID配置规则如下::..?如果PAN_ID=0xFFFF设备类型是协调者?设备将使用物理地址最后两个字节为PAN_ID?如果PAN_ID=0xFFFF设备类型是路由器或者终端节点设备?该设备将加入到任意可用到的PAN中?如果PAN_ID!=0xFFFF设备类型是协调者?设备将使用该PAN_ID生成一个网络?如果PAN_ID!=0xFFFF设备类型是路由器或者终端节点设备?设备将只能加入该PAN_ID指定的网络根据实验需要对的PANID进行修改。。查询下STACK_PROFILE_ID。这里将根据工程的选择确定,这里我们工程编译选择PRO模式。即使网络模式为ZIGBEEPRO_RPOFILE模式。可以查询ZIGBEEPRO_RPOFILE参数。MAX_NODE_DEPTH:为路由深度,这里为20。NWK_MODE:网络拓扑模式,这里为网状结构。。:..建立或加入网络成功反馈函数:可以看出在该函数中会通过液晶打印出设备类型。【实验结果】1、打开路径“无线传感网络实验进阶实验”下的工程,如下图所示,:..2、选择工程文件,不同工程文件下载至不同设备上,如下图所示。CoordinatorEB或CoordinatorEB-Pro:协调器,RouterEB或RouterEB-Pro:路由器,EndDeviceEB或EndDeviceEB-Pro:终端设备。3、,在此文件内我们可以修改ZigBee无线网络的PANID(网络号),及通信信道,如下图所示。:..4、分别编译后把协调器,路由器与终端设备的程序下载至三个节点,并为每个节点标记不同标志,如下载协调器程序的节点标记为协调器。5、打开协调器节点的电源开关,液晶显示如下图所示。显示“-COORD-”表示协调器建立网络成功。6、打开路由器节点的电源开关,液晶依次显示如下图所示:显示“-ROUT-”表示路由节点加入网络成功。7、打开终端设备节点的电源开关,液晶依次显示如下图所示:显示“-ENDDEV-”表示终端节点加入网络成功。:..西安电子科技大学传感器原理及信息感知技术课程实验报告实验名称传感器数据采集和收发实验计算机学院班成绩姓名学号同作者实验日期201年月日指导教师评语:指导教师:年月日实验报告内容基本要求及参考格式一、实验目的二、实验所用仪器(或实验环境)三、实验基本原理及步骤(或方案设计及理论计算)四、实验数据记录(或仿真及软件设计)五、实验结果分析及回答问题(或测试环境及测试结果):..实验四、传感器数据采集和收发实验【实验目的】-Stack协议栈程序以实现传感器数据读取及发送功能。【实验内容】,以实现远程对特定传感器数据的采集和发送(温度传感器,显示发送数据)。,以实现对特定传感器的控制(显示接收到的数据并在超过一定值后报警)。【预备知识】;;-Stack协议栈结构、工作原理及程序修改方法。【实验设备】:仿真器1台,网关/:PC机操作系统Windows98(2000、XP)+IAR开发环境。【基础知识】)ZIGBEE物联网实验系统应用层交互协议ZIGBEE网关和ARM服务器,ZIGBEE网关和PC服务器,采用RS232全双工、无流控的全双工通信方式;每字符采用1比特起始、8比特信息、无校验和1比特停止位;通信速率为115200bps。无线通信采用超时定时发送的方式。当端节点或路由节点在上电有连接状态改变时或路由节点超时时发送路由信息。当端节点或路由节点超时时发送传感器采集数据。2)路由命令格式说明:路由命令由20个字节组成,每个字节说明如下:Byte0:0x2(帧头)Byte1:0x11(包长度,Byte2~18):..Byte2、3:0x46B9(cmd,控制命令,低字节在前)Byte4:0xF1(cmdEndPoint,命令端节点号)Byte5、6:SrcShortAddr(两个字节短地址,低字节在前,网关上电时为0x0000)Byte7:0xF0(endPoint,任务号240,表示管理任务)Byte8:0x2(指示为路由帧)Byte9~16:SrcIEEEAddr(8个字节的IEEE源地址)Byte17、18:ParentShortAddr(父短地址,网关上电时为0xFFFF)Byte19:FCS(帧校验和,Byte1~Byte18的字节异或值)3)传感器发送命令格式:传感器板0的传感器数据发送命令,每个字节说明如下:Byte0:0x2(帧头)Byte1:len(包长度,Byte2到FCS前的字节数。即n-2+1,或有效数据长度+6)Byte2、3:0x46B9(cmd,控制命令,低字节在前)Byte4:0xF1(cmdEndPoint,命令端节点号)Byte5、6:SrcShortAddr(两个字节源短地址,低字节在前,网关上电时为0x0000)Byte7:任务号(一般为1)Byte8、9:ParentShortAddr(两个字节父短地址,低字节在前,网关为0x0000)Byte10:节点及传感器板类型号D7D6为节点类型(00:网关节点;01:路由节点;10:端节点)D5D4D3D2D1D0为传感器板类型代码(从0x0~0x9)Byte11:调试母板上A/D采集值。0为0V;。2530温度,单位为℃。Byte13:传感器板温度,1个字节。单位为℃Byte14:温湿度传感器温度,单位为℃Byte15:温湿度传感器湿度,单位为%Byte16:光照度。0~0xFFByte17:振动,1:有振动;0:无振动Byte18:人体感应,1:人体接近;0:无人体接近Byten19:FCS(Byte1~18的字节异或值):..1)传感器采集函数要添加传感器采集函数到Z-STACK工程文件,首先要编写好传感器初始化和传感器数据采集函数功能。这里采用的SENSOR-04扩展板上的温度传感器(TC77),。/****************************************************函数名:INT8UReadTc77(void)功能:度温度传感器输入:无返回:温度值****************************************************/int8ReadTc77(void){INT16Utemp=0;INT8Ui;MISO=1;SCK=0;CS_TC77=0;for(i=0;i<16;i++){temp<<=1;SCK=1;if(MISO)temp++;SCK=0;}CS_TC77=1;i=temp>>7;returni;:..},并添加进Z-STACK工程文件中。,也添加进工程,详见下图所示。更多传感器驱动代码可查看源文件。)ZigBee无线发送数据函数将传感器采集后就需要通过无线发送发送到指定节点。这里编写了一个SendData()函数专门用来通过ZigBee发送数据,详细代码如下。/**************************************************************************uint8SendData(uint16addr,uint8*buf,uint8Leng)发送一组数据.**************************************************************************/uint8SendData(uint16addr,uint8*buf,uint8Leng){:..afAddrType_tSendDataAddr;=(afAddrMode_t)Addr16Bit;=SAMPLEAPP_ENDPOINT;=addr;if(AF_DataRequest(&SendDataAddr,&SampleApp_epDesc,2,//SAMPLEAPP_PERIODIC_CLUSTERID,Leng,buf,&SampleApp_TransID,AF_DISCV_ROUTE,//AF_ACK_REQUEST,AF_DEFAULT_RADIUS)==ESS){return1;}else{return0;//urredinrequesttosend.}}ZigBee无线发送数据函数,需要指定三个参数,分别为目的节点网络地址、发送数据的缓冲区、发送数据的长度。节点加入网络成功后,可以调用此函数往任一节点发送数据。3)触发传感器采集和发送节点加入网络成功后,启动1秒的超时定时器(程序SampleApp_ProcessEvent函数内)caseZDO_STATE_CHANGE:SampleApp_NwkState=(devStates_t)(MSGpkt->);if((SampleApp_NwkState==DEV_ZB_COORD)||(SampleApp_NwkState==DEV_ROUTER)||(SampleApp_NwkState==DEV_END_DEVICE)):..{HalLedSet(HAL_LED_1,HAL_LED_MODE_ON);#ifdefWXL_COORDugOled9616int();#endif#if(defined(WXL_ROUTER)||defined(WXL_RFD))//ROUTERORRFDosal_start_timerEx(SampleApp_TaskID,SAMPLEAPP_SEND_PERIODIC_MSG_EVT,SAMPLEAPP_1000MS_TIMEOUT);//1秒超时定时器#endif}break;4)实施采集传感器和发送功能1秒超时定时器事件处理(程序SampleApp_ProcessEvent函数内)if(events&SAMPLEAPP_SEND_PERIODIC_MSG_EVT)//超时定时器事件{temp=ReadTc77();//读取温度memset(,'x',32);='&';.[0]='A';.[1]='A';.[2]='S';ieeeAddr=NLME_GetExtAddr();memcpy(,ieeeAddr,8);SrcSaddr=NLME_GetShortAddr();[0]=SrcSaddr;[1]=SrcSaddr>>8;[0]='W';[1]='D';:..[2]=temp/10+0x30;[3]=temp%10+0x30;[13]=SensorNum;='*';SendData(0x0000,,32);//osal_start_timerEx(SampleApp_TaskID,SAMPLEAPP_SEND_PERIODIC_MSG_EVT,SAMPLEAPP_1000MS_TIMEOUT);//重启超时定时器return(events^SAMPLEAPP_SEND_PERIODIC_MSG_EVT);}1秒超时事件响应,首先读取温度传感器的值,然后装入发送数据缓冲区内,再调用“SendData”函数把数据发送到协调器上,然后再重启超时定时器,以便循环发送数据。5)传感器数据接收和处理数据接收处理函数“voidSampleApp_MessageMSGCB(ingMSGPacket_t*pkt)”#ifdefWXL_COORDuint8i;memcpy(,pkt->,32);//读出无线按收到的数据osal_stop_timerEx(SampleApp_TaskID,SAMPLEAPP_SEND_PERIODIC_MSG_EVT);//停止超时计数器if((=='&')&&(=='*')){memcpy(,,32);for(i=0;i<8;i++){[i]=[i];//长地址}for(i=0;i<2;i++){[i]=[1-i];//短地址}:..=CheckUartData(&[1],29);HalUARTWrite(HAL_UART_PORT_0,,32);//}#endif协调器无线接收到到数据包,判断帧头和帧尾分别为'&'和'*'后,然后调用“HalUARTWrite”函数把无线接收到的数据从串口发出。6)继电器的温度控制输出if((=='&')&&(=='*')){memcpy(,,32);=CheckUartData(&[1],29);inttemp=atoi(+16);P1_0=!P1_0;P1_1=!P1_1;if(temp>24)P1_4=!P1_4;//温度大于24度响应继电器中断HalUARTWrite(HAL_UART_PORT_0,,32);//从串口输出【实验流程及结果】第一步:打开“无线传感网络实