无线传感器实验报告
无线传感器网络实验报告

一、实验背景随着物联网技术的飞速发展,无线传感器网络(Wireless Sensor Networks,WSN)作为一种重要的信息获取和传输手段,在军事、环境监测、智能交通、智能家居等领域得到了广泛应用。
为了深入了解无线传感器网络的工作原理和关键技术,我们进行了本次实验。
二、实验目的1. 熟悉无线传感器网络的基本概念和组成;2. 掌握无线传感器网络的通信协议和拓扑结构;3. 熟悉无线传感器网络的编程与调试方法;4. 通过实验,提高动手能力和实践能力。
三、实验内容1. 无线传感器网络概述无线传感器网络由传感器节点、汇聚节点和终端节点组成。
传感器节点负责感知环境信息,汇聚节点负责收集和转发数据,终端节点负责处理和显示数据。
传感器节点通常由微控制器、传感器、无线通信模块和电源模块组成。
2. 无线传感器网络通信协议无线传感器网络的通信协议主要包括物理层、数据链路层和网络层。
物理层负责无线信号的传输,数据链路层负责数据的可靠传输,网络层负责数据路由和传输。
3. 无线传感器网络拓扑结构无线传感器网络的拓扑结构主要有星形、树形、网状和混合形等。
星形拓扑结构简单,但易受中心节点故障影响;树形拓扑结构具有较高的路由效率,但节点间距离较长;网状拓扑结构具有较高的可靠性和路由效率,但节点间距离较远。
4. 无线传感器网络编程与调试本实验采用ZigBee模块作为无线通信模块,利用IAR Embedded WorkBench开发环境进行编程。
实验内容如下:(1)编写传感器节点程序,实现数据的采集和发送;(2)编写汇聚节点程序,实现数据的收集、处理和转发;(3)编写终端节点程序,实现数据的接收和显示。
5. 实验步骤(1)搭建实验平台,包括传感器节点、汇聚节点和终端节点;(2)编写传感器节点程序,实现数据的采集和发送;(3)编写汇聚节点程序,实现数据的收集、处理和转发;(4)编写终端节点程序,实现数据的接收和显示;(5)调试程序,确保各节点间通信正常;(6)观察实验结果,分析实验现象。
无线传感器实验二报告

浙江工业大学计算机学院实验报告实验名称无线传感网络实验之丢包率检测日期 2014年12月30日一、实验内容本次实验主要是通过代码的编写测试节点的发送功率和距离的远近对接收节点的丢包率的影响。
对发送功率的设置是通过修改CC2420.h文件中的参数实现的。
其中距离的远近的调节是容易实现的。
而对丢包率的计算是由接收节点的主机B将收到的数据包打印到屏幕上,主机A烧写的节点则是实现每次发送100个数据包。
二、程序源代码主机A(发送方)✧BlinkToRadio.h#ifndef BLINKTORADIO_H#define BLINKTORADIO_Henum {AM_BLINKTORADIO = 6,TIMER_PERIOD_MILLI = 250};typedef nx_struct BlinkToRadioMsg {nx_uint16_t nodeid;nx_uint16_t counter;} BlinkToRadioMsg;#endif✧BlinkToRadioAppC.nc#include <Timer.h>#include "BlinkToRadio.h"configuration BlinkToRadioAppC {}implementation {components MainC;components LedsC;components BlinkToRadioC as App;components new TimerMilliC() as Timer0;components ActiveMessageC;components new AMSenderC(AM_BLINKTORADIO);components new AMReceiverC(AM_BLINKTORADIO);App.Boot -> MainC;App.Leds -> LedsC;App.Timer0 -> Timer0;App.Packet -> AMSenderC;App.AMPacket -> AMSenderC;App.AMControl -> ActiveMessageC;App.AMSend -> AMSenderC;App.Receive -> AMReceiverC;}BlinkToRadioC.nc#include <Timer.h>#include "BlinkToRadio.h"module BlinkToRadioC {uses interface Boot;uses interface Leds;uses interface Timer<TMilli> as Timer0;uses interface Packet;uses interface AMPacket;uses interface AMSend;uses interface Receive;uses interface SplitControl as AMControl;}implementation {uint16_t counter;message_t pkt;bool busy = FALSE;void setLeds(uint16_t val) {if (val & 0x01)call Leds.led0On();elsecall Leds.led0Off();if (val & 0x02)call Leds.led1On();elsecall Leds.led1Off();if (val & 0x04)call Leds.led2On();elsecall Leds.led2Off();}event void Boot.booted() {call AMControl.start();}event void AMControl.startDone(error_t err) {if (err == SUCCESS) {call Timer0.startPeriodic(TIMER_PERIOD_MILLI);}else {call AMControl.start();}}event void AMControl.stopDone(error_t err) {}event void Timer0.fired() {counter++;//发送100个数据包if(counter <101) {if (!busy) {BlinkToRadioMsg* btrpkt =(BlinkToRadioMsg*)(call Packet.getPayload(&pkt,sizeof(BlinkToRadioMsg)));if (btrpkt == NULL) {return;}btrpkt->nodeid = 10;btrpkt->counter = counter;if (call AMSend.send(AM_BROADCAST_ADDR,&pkt, sizeof(BlinkToRadioMsg)) == SUCCESS) {busy = TRUE;}}}}event void AMSend.sendDone(message_t* msg, error_t err) {if (&pkt == msg) {busy = FALSE;}}event message_t* Receive.receive(message_t* msg, void* payload, uint8_t len){if (len == sizeof(BlinkToRadioMsg)) {BlinkToRadioMsg* btrpkt = (BlinkToRadioMsg*)payload;setLeds(btrpkt->counter);}return msg;}}✧MakefileCOMPONENT=BlinkToRadioAppCinclude $(MAKERULES)主机B(接收方)✧BlinkToRadio.h#ifndef BLINKTORADIO_H#define BLINKTORADIO_Henum {AM_BLINKTORADIO = 6,TIMER_PERIOD_MILLI = 250};typedef nx_struct BlinkToRadioMsg {nx_uint16_t nodeid;nx_uint16_t counter;} BlinkToRadioMsg;#endif✧BlinkToRadioAppC.nc#include <Timer.h>#include "BlinkToRadio.h"configuration BlinkToRadioAppC {}implementation {components MainC;components LedsC;components BlinkToRadioC as App;components new TimerMilliC() as Timer0;components ActiveMessageC;components new AMSenderC(AM_BLINKTORADIO);components new AMReceiverC(AM_BLINKTORADIO);App.Boot -> MainC;App.Leds -> LedsC;App.Timer0 -> Timer0;App.Packet -> AMSenderC;App.AMPacket -> AMSenderC;App.AMControl -> ActiveMessageC;App.AMSend -> AMSenderC;App.Receive -> AMReceiverC;}BlinkToRadioC.nc#include <Timer.h>#include "BlinkToRadio.h"#include "printf.h"module BlinkToRadioC {uses interface Boot;uses interface Leds;uses interface Timer<TMilli> as Timer0;uses interface Packet;uses interface AMPacket;uses interface AMSend;uses interface Receive;uses interface SplitControl as AMControl;}implementation {uint16_t counter;message_t pkt;bool busy = FALSE;uint32_t nowtime;uint16_t Number=0;event void Boot.booted() {call AMControl.start();}event void AMControl.startDone(error_t err) {if (err == SUCCESS) {}else {call AMControl.start();}}event void AMControl.stopDone(error_t err) {}event void Timer0.fired() {printf("now is:%d\n",(call Timer0.getNow()));printfflush();call Leds.led0Toggle();}event void AMSend.sendDone(message_t* msg, error_t err) {if (&pkt == msg) {busy = FALSE;}}event message_t* Receive.receive(message_t* msg, void* payload,uint8_t len){if (len == sizeof(BlinkToRadioMsg)) {BlinkToRadioMsg* btrpkt = (BlinkToRadioMsg*)payload;if(btrpkt->nodeid==10){//====================================if (!busy) {call Leds.led2Toggle();Number++;printf("No.%d pakage is received,thenumber:%d\n",btrpkt->counter,Number);printfflush();if (call AMSend.send(AM_BROADCAST_ADDR, &pkt,sizeof(BlinkToRadioMsg)) == SUCCESS) {busy = TRUE;}}}}return msg;}}MakefileCOMPONENT=BlinkToRadioAppCCFLAGS += -I$(TOSDIR)/lib/printfinclude $(MAKERULES)三、实验步骤1.在实验四的代码基础上,修改BlinkToRadioC.nc中的事件Timer0.fired()和事件Receive.receive中收到数据包后输出对应的信息。
无线传感网实验报告

Cent ral SouthUniversity无线传感器网络实验报告学院:班级:学号:姓名:时间:指导老师:第一章基础实验1了解环境1.1实验目的安装 IAR开发环境。
CC2530 工程文件创建及配置。
源代码创建,编译及下载。
1.2 实验设备及工具硬件:ZX2530A 型底板及CC2530 节点板一块,USB 接口仿真器,PC 机软件:PC 机操作系统 WinXP,IAR集成开发环境,TI 公司的烧写软件。
1.3实验内容1、安装IAR 集成开发环境IAR 集成开发环境安装文件所在光盘目录:物联网光盘\工具\C D-EW8051-76012、ZIBGEE 硬件连接安装完IAR 和 Smartrf Flash Programmer 之后,按照图所示方式连接各种硬件,将仿真器的20 芯 JTAG口连接到ZX2530A 型 CC2530 节点板上,USB 连接到PC 机上,RS-232串口线一端连接ZX2530A 型 CC2530节点板,另一端连接 P C机串口。
3、创建并配置 CC2530 的工程文件IAR是一个强大的嵌入式开发平台,支持非常多种类的芯片。
IAR 中的每一个 Project,都可以拥有自己的配置,具体包括Device 类型、堆/栈、Linker、Debugger 等。
(1)新建Workspace 和Project首先新建文件夹ledtest。
打开 IAR,选择主菜单File ->New -> Workspace 建立新的工作区域。
选择Project ->Create New Project -> Empty Project,点击 OK,把此工程文件保存到文件夹ledtest 中,命名为:ledtest.ewp(如下图)。
(2)配置Ledtest工程选择菜单Project->Options...打开如下工程配置对话框选择项 General Options,配置 Target 如下Device:CC2530;(3)Stack/Heap设置:XDATA stack size:0x1FF(4)Debugger 设置:Driver:Texas Instruments (本实验为真机调试,所以选择TI;若其他程序要使用IAR仿真器,可选 Simulator)至此,针对本实验的IAR 配置基本结束.4、编写程序代码并添加至工程选择菜单 File->New->File创建一个文件,选择File->Save 保存为main.c将 main.c 加入到 ledtest 工程,将实验代码输入然后选择 Project->Rebuild All 编译工程编译好后,选择Project->Download and debug 下载并调试程序下载完后,如果不想调试程序,可点工具栏上的按钮终止调试。
无线传感实验报告

无线传感实验报告无线传感实验报告引言无线传感技术是一种基于无线通信的传感器网络技术,它可以实时地感知、采集和传输环境中的各种信息。
本实验旨在通过搭建一个简单的无线传感网络,探索其在实际应用中的潜力和限制。
实验目的1.了解无线传感技术的基本原理和应用领域。
2.学习搭建无线传感网络的基本步骤和方法。
3.研究无线传感网络在环境监测、智能家居等方面的实际应用。
实验步骤1.硬件准备:准备一台主控节点和多个从属节点,主控节点负责接收和处理从属节点发送的数据。
2.网络搭建:通过无线通信模块将主控节点和从属节点连接起来,形成一个无线传感网络。
3.传感器连接:将各个从属节点上的传感器与主控节点相连接,实现数据的采集和传输。
4.数据采集:设置从属节点的采样频率和采样范围,开始采集环境中的各种数据。
5.数据传输:从属节点将采集到的数据通过无线通信模块发送给主控节点。
6.数据处理:主控节点接收到数据后,进行数据处理和分析,得出有用的信息。
实验结果通过本实验,我们成功搭建了一个简单的无线传感网络,并实现了环境数据的采集和传输。
在实际应用中,无线传感技术可以广泛应用于环境监测、智能家居、农业等领域。
例如,在环境监测方面,我们可以通过无线传感网络实时监测空气质量、温湿度等参数,并及时采取相应措施保障人们的健康。
在智能家居方面,无线传感技术可以实现家庭设备的自动控制和远程监控,提高生活的便利性和舒适度。
在农业方面,无线传感技术可以监测土壤湿度、光照强度等参数,帮助农民科学种植,提高农作物的产量和质量。
实验总结通过本次实验,我们深入了解了无线传感技术的原理和应用。
无线传感网络可以实现分布式的数据采集和传输,具有灵活性和可扩展性。
然而,在实际应用中,我们也发现了一些问题和挑战。
首先,无线传感网络的能耗问题仍然存在,如何延长节点的电池寿命是一个需要解决的关键问题。
其次,无线传感网络的安全性也需要重视,如何保护数据的隐私和防止网络攻击是一个亟待解决的问题。
无限传感网络实验报告

一、实验目的1. 了解无线传感网络的基本概念、组成和结构。
2. 掌握无线传感网络的基本操作和实验方法。
3. 通过实验,验证无线传感网络在实际应用中的可靠性和有效性。
二、实验内容1. 无线传感网络基本概念及组成无线传感网络(Wireless Sensor Network,WSN)是一种由大量传感器节点组成的分布式网络系统,用于感知、采集和处理环境信息。
传感器节点负责采集环境信息,并通过无线通信方式将信息传输给其他节点或中心节点。
无线传感网络主要由以下几部分组成:(1)传感器节点:负责感知环境信息,如温度、湿度、光照等。
(2)汇聚节点:负责将多个传感器节点的信息进行融合、压缩,然后传输给中心节点。
(3)中心节点:负责收集各个汇聚节点的信息,进行处理和分析,并将结果传输给用户。
2. 无线传感网络实验(1)实验环境硬件平台:ZigBee模块、ZB-LINK调试器、USB3.0数据线、USB方口线两根、RJ11连接线;软件平台:WinXP/Win7、IAR开发环境、SmartRFFlashProgrammer、ZigBeeSensorMonitor。
(2)实验步骤① 连接硬件设备,搭建无线传感网络实验平台;② 编写传感器节点程序,实现环境信息的采集;③ 编写汇聚节点程序,实现信息融合和压缩;④ 编写中心节点程序,实现信息收集和处理;⑤ 测试无线传感网络性能,包括数据采集、传输、处理等。
(3)实验结果分析① 数据采集:传感器节点能够准确采集环境信息,如温度、湿度等;② 传输:汇聚节点将多个传感器节点的信息进行融合和压缩,传输给中心节点;③ 处理:中心节点对采集到的信息进行处理和分析,生成用户所需的结果;④ 性能:无线传感网络在实际应用中表现出较高的可靠性和有效性。
三、实验总结1. 无线传感网络是一种新型的网络技术,具有广泛的应用前景;2. 通过实验,我们掌握了无线传感网络的基本操作和实验方法;3. 无线传感网络在实际应用中具有较高的可靠性和有效性,能够满足各种环境监测需求。
无线传感器网络实验报告

无线传感器网络实验报告Contiki mac协议与xmac协议的比较1.简介无线传感器网络(wireless sensor networks, WSN)节点由电池供电,其能力非常有限,同时由于工作环境恶劣以及其他各种因素,节点能源一般不可补充。
因而降低能耗、延长节点使用寿命是所有无线传感器网络研究的重点。
WSN中的能量能耗主要包括通信能耗、感知能耗和计算能耗,其中通信能耗所占的比重最大,因此,减少通信能耗是延长网络生存时间的有效手段。
同时,研究表明节点通信时Radio模块在数据收发和空闲侦听时的能耗几乎相同,所以要想节能就需要最大限度地减少Radio模块的侦听时间(收发时间不能减少),及减小占空比。
传统的无线网络中,主要考虑到问题是高吞吐量、低延时等,不需要考虑能量消耗,Radio模块不需要关闭,所以传统无线网络MAC协议无法直接应用于WSN,各种针对传感器网络特点的MAC协议相继提出。
现有的WSN MAC协议按照不同的分类方式可以分成许多类型,其中根据信道访问策略的不同可以分为:X-MAC协议X-MAC协议也基于B-MAC协议的改进,改进了其前导序列过长的问题,将前导序列分割成许多频闪前导(strobed preamble),在每个频闪前导中嵌入目的地址信息,非接收节点尽早丢弃分组并睡眠。
X-MAC在发送两个相邻的频闪序列之间插入一个侦听信道间隔,用以侦听接收节点的唤醒标识。
接收节点利用频闪前导之间的时间间隔,向发送节点发送早期确认,发送节点收到早期确认后立即发送数据分组,避免发送节点过度前导和接收节点过度侦听。
X-MAC还设计了一种自适应算法,根据网络流量变化动态调整节点的占空比,以减少单跳延时。
优点:X-MAC最大的优点是不再需要发送一个完整长度的前导序列来唤醒接收节点,因而发送延时和收发能耗都比较小;节点只需监听一个频闪前导就能转入睡眠。
缺点:节点每次醒来探测信道的时间有所增加,这使得协议在低负载网络中能耗性比较差。
井下无线传感器实验报告

井下无线传感器实验报告一、实验目的本实验旨在探究井下无线传感器网络的性能和应用,了解无线传感器在井下环境中的工作原理及特点,提高对无线传感器网络的认知和实践能力。
二、实验原理井下无线传感器网络由部署在矿井下的多个无线传感器节点组成,通过无线通信方式形成一个自组织的网络系统,用于监测井下的各种环境参数,如温度、湿度、瓦斯浓度等,并将监测数据传输至地面控制中心。
实验中,我们将使用具有无线通信功能的传感器节点,通过编程控制节点间的通信协议和数据传输方式,实现对井下环境的实时监测。
三、实验步骤实验准备:准备所需的无线传感器节点、井下环境模拟装置、数据采集和分析软件等。
节点部署:将无线传感器节点部署在模拟装置中,确保节点能够正常工作并采集到有效数据。
编程控制:使用编程语言对无线传感器节点进行控制,实现节点间的通信和数据传输。
数据采集:通过数据采集软件实时采集无线传感器节点发送的数据,并对数据进行处理和分析。
结果分析:根据采集到的数据,分析无线传感器网络在井下环境中的性能表现和应用前景。
四、实验结果及分析以下是实验中采集到的部分数据表格和图形:时间温度(℃)湿度(%)瓦斯浓度(%)0:00 23.5 65 0.51:00 24.2 68 0.62:00 24.7 70 0.7... ... ... ...12:00 23.3 62 0.4以下是温度数据的图形表示:(请在此处插入温度随时间变化的图表)以下是湿度数据的图形表示:(请在此处插入湿度随时间变化的图表)以下是瓦斯浓度的图形表示:(请在此处插入瓦斯浓度随时间变化的图表)根据采集到的数据,我们可以得出以下结论:在实验过程中,无线传感器网络能够实时监测井下的温度、湿度和瓦斯浓度等环境参数,数据准确可靠。
在不同的时间段内,环境参数的变化趋势明显。
例如,温度逐渐升高后趋于平稳;湿度先升高后降低;瓦斯浓度逐渐升高。
这些变化趋势符合实际情况。
在实验过程中,无线传感器网络表现出了良好的稳定性和可靠性,没有出现数据传输错误或丢失的情况。
无线传感网实验报告

无线传感网实验报告一、实验目的本实验的主要目的是了解无线传感网(Wireless Sensor Network,WSN)的基本原理和特点,以及进行一些简单的WSN实验,掌握其基本应用方法。
二、实验器材1.电脑2. 无线传感器节点(如Arduino)3. 无线通信模块(如XBee)4.传感器(如温度传感器、光照传感器等)三、实验步骤和内容1.了解无线传感网的基本概念和特点。
2.搭建无线传感网实验平台。
将无线传感器节点和无线通信模块进行连接。
3.编程控制无线传感器节点,收集传感器数据并通过无线通信模块进行传输。
4.在电脑上设置接收数据的接口,并接收传感器数据。
5.对传感器数据进行分析和处理。
四、实验结果和讨论在实验中,我们成功搭建了一个简单的无线传感网实验平台,并通过无线通信模块进行数据传输。
通过编程控制,我们能够收集到传感器节点上的温度数据,并通过无线通信模块将数据传输到电脑上进行接收。
在实验过程中,我们发现无线传感网的优点是具有灵活性和扩展性。
通过无线通信模块,传感器节点之间可以进行无线通信,灵活地传输数据。
同时,我们还可以通过添加更多的传感器节点来扩展整个无线传感网的功能和覆盖范围。
然而,无线传感网也存在一些限制和挑战。
首先,无线通信模块的传输距离和传输速率有限,可能会受到环境因素的影响。
其次,无线传感器节点的能耗问题需要考虑,因为它们通常是使用电池供电的,而且在实际应用中通常需要长时间连续工作。
五、结论通过本次实验,我们对无线传感网的基本原理和特点有了一定的了解,并掌握了一些简单的无线传感网应用方法。
我们成功搭建了一个实验平台,并通过无线通信模块和传感器节点进行数据传输和接收。
实验结果表明,无线传感网具有一定的灵活性和扩展性,但同时也面临着一些挑战。
对于以后的无线传感网应用和研究,我们需要进一步探索和解决这些挑战。
无线传感器网络实验报告

无线传感器网络实验报告实验报告:无线传感器网络的应用与优化探究一、实验目的本次实验旨在探究无线传感器网络的应用与优化,具体包括传感器网络的组网方式、数据传输协议的选择与优化等。
二、实验原理及工具1.传感器网络组网方式传感器网络通常采用星型、树型、网状三种组网方式。
星型组网结构简单,但单点故障时整个系统会瘫痪;树型组网结构便于数据的传输与管理,但在拓扑结构发生变化时需要重新组网;网状组网结构形式多样,具有较强的灵活性,但网络维护复杂。
本实验将分别对比三种组网方式的性能差异。
2.数据传输协议的选择与优化实验将分别采用无线传感器网络中常用的LEACH、BCP、SPIN协议进行数据传输。
并通过测试比较它们在不同条件下的性能表现,优化协议选择与参数设置,提高网络的传输效率和能耗。
3.实验工具实验中将使用Contiki操作系统,该操作系统是专门为无线传感器网络设计的,支持多种协议,并提供了实验所需的模拟环境。
三、实验内容及步骤1.组网方式的测试(1)搭建星型、树型、网状三种不同的传感器网络拓扑结构。
(2)分别记录每种网络结构在传输运行时的稳定性、延迟、能耗等性能指标,并进行对比分析。
2.数据传输协议的测试及优化(1) 安装Contiki操作系统,选择LEACH、BCP、SPIN协议,并设置相应的参数进行数据传输实验。
(2)改变实验条件(如节点密度、网络负载等),测试和比较三种协议在不同条件下的性能表现。
(3)根据实验结果,优化协议的参数设置,并比较优化后的协议和原始协议的性能差异。
四、实验结果及讨论1.组网方式的测试实验结果显示,星型组网方式具有简单易实现、维护成本低的特点,但存在单点故障的风险,一旦发生节点故障,整个系统将瘫痪。
树型组网方式在数据传输和管理方面具有一定的优势,但拓扑结构变化时需要重新组网。
网状组网方式相对灵活,但也增加了网络维护的复杂性。
根据实验结果,可以根据具体应用场景的要求选择最适合的组网方式。
无线传感器网络实验报告

无线传感器网络实验报告Contiki mac协议与xmac协议的比较1.简介无线传感器网络(wireless sensor networks, WSN)节点由电池供电,其能力非常有限,同时由于工作环境恶劣以及其她各种因素,节点能源一般不可补充。
因而降低能耗、延长节点使用寿命就是所有无线传感器网络研究的重点。
WSN中的能量能耗主要包括通信能耗、感知能耗与计算能耗,其中通信能耗所占的比重最大,因此,减少通信能耗就是延长网络生存时间的有效手段。
同时,研究表明节点通信时Radio模块在数据收发与空闲侦听时的能耗几乎相同,所以要想节能就需要最大限度地减少Radio模块的侦听时间(收发时间不能减少),及减小占空比。
传统的无线网络中,主要考虑到问题就是高吞吐量、低延时等,不需要考虑能量消耗,Radio模块不需要关闭,所以传统无线网络MAC协议无法直接应用于WSN,各种针对传感器网络特点的MAC协议相继提出。
现有的WSN MAC协议按照不同的分类方式可以分成许多类型,其中根据信道访问策略的不同可以分为:X-MAC协议X-MAC协议也基于B-MAC协议的改进,改进了其前导序列过长的问题,将前导序列分割成许多频闪前导(strobed preamble),在每个频闪前导中嵌入目的地址信息,非接收节点尽早丢弃分组并睡眠。
X-MAC在发送两个相邻的频闪序列之间插入一个侦听信道间隔,用以侦听接收节点的唤醒标识。
接收节点利用频闪前导之间的时间间隔,向发送节点发送早期确认,发送节点收到早期确认后立即发送数据分组,避免发送节点过度前导与接收节点过度侦听。
X-MAC还设计了一种自适应算法,根据网络流量变化动态调整节点的占空比,以减少单跳延时。
优点:X-MAC最大的优点就是不再需要发送一个完整长度的前导序列来唤醒接收节点,因而发送延时与收发能耗都比较小;节点只需监听一个频闪前导就能转入睡眠。
缺点:节点每次醒来探测信道的时间有所增加,这使得协议在低负载网络中能耗性比较差。
无线传感器应用实训报告

一、实训背景随着科技的飞速发展,无线传感器网络(Wireless Sensor Network,WSN)作为一种新兴的信息获取和处理技术,在各个领域得到了广泛应用。
为了更好地掌握无线传感器网络的基本原理和应用,我们进行了为期两周的实训。
二、实训目的1. 理解无线传感器网络的基本原理和组成;2. 掌握无线传感器网络的通信协议和数据处理技术;3. 学习无线传感器网络的实际应用案例;4. 培养动手实践能力和团队协作精神。
三、实训内容1. 无线传感器网络基本原理无线传感器网络由大量的传感器节点、感知节点、数据融合节点、通信网络和管理控制中心组成。
传感器节点负责感知环境信息,感知节点负责将感知到的信息传输到数据融合节点,数据融合节点负责对信息进行处理和优化,通信网络负责将处理后的信息传输到管理控制中心,管理控制中心负责对整个网络进行管理和控制。
2. 无线传感器网络通信协议无线传感器网络通信协议主要包括物理层、数据链路层、网络层、传输层和应用层。
其中,ZigBee、6LoWPAN等协议广泛应用于无线传感器网络通信。
3. 无线传感器网络数据处理技术无线传感器网络数据处理技术主要包括数据采集、数据压缩、数据融合和数据传输等。
数据采集是对环境信息的感知和采集,数据压缩是对采集到的数据进行压缩,数据融合是对压缩后的数据进行处理和优化,数据传输是将处理后的信息传输到管理控制中心。
4. 无线传感器网络实际应用案例实训过程中,我们学习了以下无线传感器网络实际应用案例:(1)环境监测:通过部署大量的传感器节点,对环境参数(如温度、湿度、空气质量等)进行实时监测,为环境保护提供数据支持。
(2)智能家居:利用无线传感器网络实现家庭设备的智能化控制,如智能照明、智能安防等。
(3)工业自动化:在工业生产过程中,通过部署无线传感器网络对设备运行状态进行实时监测,提高生产效率和安全性。
(4)医疗护理:在医疗领域,无线传感器网络可用于患者生命体征监测、医疗设备远程控制等。
湖南大学无线传感器网络实验报告DV-HOP

HUNAN UNIVERSITY无线传感器网络目:DV-hop定位算法______________生:__________________________号: ______________________完成时间: 2014. 5. 121一、实验目的1、掌握mat lab X具的使用方法。
2、了解DV-hop算法原理,熟悉DV-hop算法代码,分析DV-hop算法实验结果。
二、实验原理DV-hop算法概述(一)基本思想:3、计算位置节点与犀鸟节点的最小跳数4、估算平均每跳的距离,利用最小跳数乘以平均每条的距离,得到未知节点与信标节点之间的估计距离5、利用三遍测量法或者极大似然估计法计算未知节点的坐标(二)定位过程1、信标节点向邻居节点广播自身未知信息的分组,其中包括跳数字段,初始化为02、接受节点记录具有到每条信标节点的最小跳数,忽略来自一个信标节点的较大跳数的分组,然后将跳数数值加1,并转发给邻居节点3、网络中所有节点能够记录下到每个信标节点最小跳数(三)计算未知节点与信标节点的实际跳段距离1、每个信标节点根据记录的其他信标节点的位置信息和相距跳数,估Ejs-x/'+acTj「HopSi二6严——=U~~;——: :算平均每跳距离■•■■■•"":"■ 5 7"•"■•" •2、信标节点将计算的每条平均距离用带有生存期字段的分组广播至网络中,未知节点仅仅记录接受到的第一个每跳平均距离,并转发给邻居节点3、未知节点接受到平均每跳距离后,根据记录的跳数,计算到每个信标节点的跳段距离(四)利用三边测量法或者极大似然估计法计算自身位置4、位置节点利用第二阶段中记录的到每个信标节点的跳段距离,利用三边测量法或者极大似然估计法计算自身坐标三、实验容和步骤DV-hop代码如下:function DV_hop()load '・・/Deploy Nodes/coordinates・mat r:load 1.. /Topology Of WSN/neighbor. mat1:if al 1 nodes・anchors n〈3disp('锚节点少于3个,DV-hop算法无法执行');return;end% ------------------------- 最短路经算法计算节点间跳数shortest path=neighbor matrix;shortest path=shortest path+eye(all nodes.nodes n)*2; shortest path (shortest path==0)-inf;shortest path (shortest path==2)=0;for k=l:all nodes.nodes_nfor i=l:all…nodes・nodes_nfor j=l:all_ nodes .nodes nifshortest path(i t k)+shortest. path(k.j)<shortest path(i・ j)%min(h(i,j),h(i,k)+h(k, j)) shortestpath(i,j)=shortest path(i,k)+shortest path(k,j):endendendendif length(find(shortest path==inf))^=0disp('网络不连通...需要划分连通子图...这里没有考虑这种情况');return;end% 求每个信标节点的校正值anchor to anchor 二shortest path(l:all nodes .anchors n t hall nodes .anchors n): for i=l:all nodes.anchors nhopsize(i)=sum(sqrt(sum(transpose((repmat(all nodes・ true(i,:),al1 nodes・ anchors n,l)-all nodes・true(1:all nodes・3nchors_n,:))・*2))))/sum(anchor to anchor(i t:) );end% ---------- ----------- 每个未知节点开始计算自己的位置for i=al1 nodes・anchors n+1:nl1 nodes.nodes nobtained hops i ze^hops i ze(f i nd(shortest path(i,hall nodes .anchors n)==min(short est path(i, hall, nodes, anchors n))))川未知节点从最近的信标荻得校正值,可能到几个锚节点的跳数相同的情况unknown to anchors dist=transpose(obtained hopsize(1)*shortest path(i f l:all nod es. anchors n));%计算到锚节点的距离二跳数*校正值% 最小一乘法A=2*(al1 nodes・ estimated(l:all nodes・ anchors n~l,:)-repmat(al 1 nodes・ estimated( all nodes・anchors n,:),all nodes・anchors n一1,1)); anchors1ocation_square=transpose(sum(transpose(all nodes・estinuited(l:all nodes .anchors_n,:)・”2)));dist square二unknown to anchors dist・ 2;b=anchors location squared:all nodes .anchors n~l)-anchors location square (al 1 nodes .anchorsn)一dist squared:all nodes .anchors n一l)+dist square(all nodes・snc hors n);all nodes・ estimated(i,:)=transpose(A\b);al1_nodes・ anc_flag(i)=2;endsave '・・/Localization Error/result.mat' all^nodes comm ,r; end通信半径:200m锚节点的通信半径:200m通信模型:Regular Model网络的平均连通度为:31. 3667网络的邻居锚节点平均数目为:6. 5一共300个节点:60个锚节点,240个未知节点,0个不能被定位的未知节点定位误差为0.30127这里在计算节点与锚节点距离时使用跳数相乘距离修正值,实现了对基础DV-hop算法的改进,因此增大通信距离是不能增大算法误差的通信半径:400m锚节点的通信半径:400m通信模型:Regular Model 网络的平均连通度为:100. 6533网络的邻居锚节点平均数目为:19. 39一共300个节点:60个锚节点,240个未知节点,0个不能被定位的未知节点定位误差为0. 26588但是此算法增大锚节点密度对误差减小基本没有意义通信半径:200m锚节点的通信半径:200m通信模型:Regular Model网络的平均连通度为:31.9网络的邻居锚节点平均数目为:18. 7833一共300个节点:180个锚节点,120个未知节点,0个不能被定位的未知节点定位误差为0.31443增大锚节点通信距离会显著增大误差,这是因为修正值修正到平均距离,但是锚节点通信距离与该值偏离很大通信半径:200m锚节点的通信半径:400m通信模型:Regular Model未知节点能侦听到的锚节点平均数目为:20. 7417未知节点通信区域的未知节点平均数目为:25. 4333一共300个节点:60个锚节点,240个未知节点,0个不能被定位的未知节点定位误差为0. 63806不规则的通信也会严重影响这种基于跳数估计距离的定位算法通信半径:200m锚节点的通信半径:200m通信模型:DOI ModelDOI 二0.015网络的平均连通度为:41.33网络的邻居锚节点平均数目为:7. 98一共300个节点:60个锚节点,240个未知节点,0个不能被定位的未知节点定位误差为1.0595算法改进:要设计更加合理的估计跳数距离的方法,克服通信模型不规则和通信距离带来的影响。
无线传感器网络实验报告

无线传感器网络实验报告无线传感器网络实验报告引言:无线传感器网络(Wireless Sensor Networks,简称WSN)是一种由大量分布式无线传感器节点组成的网络系统。
这些节点能够感知环境中的各种物理量,并将所感知到的信息通过无线通信传输给基站或其他节点。
WSN广泛应用于农业、环境监测、智能交通等领域。
本实验旨在通过搭建一个简单的无线传感器网络系统,了解其工作原理和性能特点。
一、实验背景无线传感器网络是现代信息技术的重要组成部分,其应用领域广泛且前景十分广阔。
通过实验,我们可以深入了解WSN的工作原理和应用场景,为今后的研究和开发提供基础。
二、实验目的1. 掌握无线传感器网络的基本概念和原理;2. 理解无线传感器网络的组网方式和通信协议;3. 了解无线传感器网络的性能特点和应用领域。
三、实验设备1. 无线传感器节点:本实验使用了10个无线传感器节点,每个节点都具备感知和通信功能;2. 基站:作为无线传感器网络的中心节点,负责接收并处理来自传感器节点的数据;3. 电脑:用于控制和监控整个无线传感器网络系统。
四、实验步骤1. 搭建无线传感器网络:将10个传感器节点分别放置在不同的位置,并保证它们之间的通信范围有重叠部分;2. 配置传感器节点参数:通过电脑连接到基站,对每个传感器节点进行参数配置,包括通信频率、传输功率等;3. 数据采集与传输:传感器节点开始感知环境中的物理量,并将采集到的数据通过无线通信传输给基站;4. 数据处理与展示:基站接收到传感器节点的数据后,进行数据处理和分析,并将结果展示在电脑上。
五、实验结果与分析通过实验,我们成功搭建了一个简单的无线传感器网络系统,并进行了数据采集和传输。
我们发现,传感器节点能够准确地感知环境中的物理量,并将数据可靠地传输给基站。
基站对接收到的数据进行了处理和分析,展示了环境中物理量的变化趋势。
六、实验总结通过本次实验,我们深入了解了无线传感器网络的工作原理和性能特点。
无线传感网络实验

《传感器原理》课程实验无线传感器网络实验1.实验目的(1)了解无线传感网络的基本概念及原理(2)掌握温度传感器,光传感器以及应变片的工作原理。
(3)综合利用上述三种传感器,结合无线传感网络进行数据采集与处理,实现载荷定位。
2.工作原理(1) 光敏电阻是一种用光电导材料制成的没有极性的光电元件,也称光导管。
它基于半导体光电效应工作。
本实验中,将经过光照的电流值分成三个区域,分别对应传感板上黄、绿、红三色灯,光强落入某个区域内,则亮相应颜色灯。
(2) 应变片根据金属导体的阻值随其机械变形而发生变化的原理来工作的。
本实验中,利用四片应变片对实验平板的九个格子进行监控,其中涉及了应变片的横向效应和桥路温度补偿法(3) 无线传感器网络能够通过各类集成化的微型传感器协作地实时监测、感知和采集各种环境或监测对象的信息,通过嵌入式系统对信息进行处理,并通过随机自组织无线通信网络以多跳中继方式将所感知信息传送到用户终端。
3.实验仪器稳压电源1台万用表1只实验平板1块Micaz系列无线传感节点一组4.方法及步骤a)运用多功能传感板进行光敏电阻实验,并记录实验数据;b)运用无线传感网络进行载荷定位:i.检查线路连接;ii.正确搭建桥路;iii.数字万用表检查桥路阻值及平衡情况;iv.连接稳压电源,测试桥路输出是否在安全范围内(0~3V);v.连接无线传感网络节点;vi.训练网络并记录十个模式的数据;vii.进行定位并记录结果;viii.关闭所有的Micaz节点,然后关闭稳压电源,切记不能带电操作Micaz节点。
5.实验报告(1) 绘制载荷定位数据表格,将实验数据填入表格,得出定位结果与实际载荷位置进行比较,得出判定准确率。
表格如下所示。
断定位结果。
坐标图如下所示。
图中为传感点信号跃变前后反应的是不加载荷和载荷后的不同的电压值的变化,两条信号线分别代表两个不同的传感器采集到的数据。
图中的那个明显的阶越变化为加载荷瞬间的电压变化。
无线传感终端实验报告

一、实验目的1. 熟悉无线传感终端的基本组成和工作原理。
2. 掌握无线传感终端的配置和调试方法。
3. 了解无线传感终端在实际应用中的数据采集和传输过程。
二、实验原理无线传感终端是一种集成了传感器、微处理器、无线通信模块等功能的设备,能够实时采集环境信息,并通过无线通信技术将数据传输至远程监控中心。
本实验主要针对无线传感终端的硬件组成、软件配置和实验步骤进行探讨。
三、实验设备1. 无线传感终端一套(包括传感器、微处理器、无线通信模块等)。
2. 调试工具(如串口调试助手、IAR Embedded WorkBench等)。
3. 电源适配器。
四、实验步骤1. 硬件连接(1)将传感器模块与微处理器模块连接,确保两者之间的通信接口正确对接。
(2)将无线通信模块与微处理器模块连接,确保两者之间的通信接口正确对接。
(3)将电源适配器插入无线传感终端,确保设备正常供电。
2. 软件配置(1)打开串口调试助手,设置波特率、数据位、停止位等参数,确保与无线传感终端的通信参数一致。
(2)在IAR Embedded WorkBench中创建项目,编写程序,实现传感器数据的采集和无线通信功能。
(3)编译并下载程序至无线传感终端。
3. 实验测试(1)开启无线传感终端,通过串口调试助手观察传感器数据采集和传输过程。
(2)检查数据采集的准确性和实时性。
(3)验证无线通信模块的传输效果,确保数据能够稳定传输至远程监控中心。
五、实验结果与分析1. 实验结果显示,无线传感终端能够实时采集传感器数据,并通过无线通信技术将数据传输至远程监控中心。
2. 通过串口调试助手观察,数据采集的准确性和实时性较好,满足实验要求。
3. 无线通信模块的传输效果稳定,能够保证数据在传输过程中的完整性和可靠性。
六、实验结论1. 无线传感终端是一种具有广泛应用前景的设备,能够满足环境监测、工业控制等领域的数据采集和传输需求。
2. 通过本实验,我们掌握了无线传感终端的基本组成、配置和调试方法,为后续相关实验和实际应用奠定了基础。
西安交通大学无线传感器网络实验报告

西安交通大学无线传感器网络实验报告姓名:日期:实验一 ZigBee网络设备类型设置基础实验及协调器、路由器和终端的设置一、实验目的1、学习和掌握IAR软件的安装。
2、学习和掌握ZigBee协议栈在IAR软件开发环境中的应用。
3、学习和掌握协调器、路由器和终端的实质。
二、实验设备(1)硬件设备PC机一台;CC2530-DEBUG仿真器一台;ZigBee通信模块(插接在传感器模块的ZigBee通信模块);ZigBee协调器(插接在嵌入式网关或PC机上的ZigBee通信模块)。
(2)软件工具IAR Embedded Workbench Evaluation for 8051 版;PL2303-USB转串口驱动程序;串口调试软件。
三、实验内容及结果(1)仿真器的连接在设置ZigBee的设备前应将仿真器与被设置的设备及PC机正确连接。
仿真器有两个接口,其中一个是USB接口,另一个是仿真接口。
仿真器配有一条USB连线和一条仿真器连线,USB连线的一端插在仿真器上的USB接口上,另一端插在计算机的任一USB口上,该仿真器由计算机的USB口供电。
仿真器连线的一端插入仿真器的仿真接口,另一端插入需要使用的ZigBee通信模块的仿真器接口上,本实验箱的协调器的仿真接口在自身的电路板上,实验箱内的其它应用电路的ZigBee通信模块的仿真器接口在应用电路的电路板上,如传感器右侧的仿真接口即为插接在该传感器上的通信模块的仿真接口。
(2)协调器的设置将仿真器的仿真线的一端插入仿真器,另一端插入协调器模块的仿真口;将仿真器USB 连线的一端插入仿真器,另一端插入电脑的USB口;将协调器插接在计算机的任意一个USB 口上,协调器模块由计算机的USB口供电,协调器模块的电源指示灯亮。
具体步骤如下:1)协调器模块的连接;2)打开 IAR Embdded Workbench 软件;3)打开工程文件;4)选择协调器设备模块;5)设置协调器模块的预编译选项;6)设置协调器预编译文件;7)、添加协调器预编译文件的路径(识别设备类型的关键部分);8)设置协调器连接库文件路径;9)协调器编译下载并使用串口调试程序测试结果。
无线传感器组网实训报告

一、实训目的本次实训旨在让学生掌握无线传感器网络的组网原理、技术特点、硬件设备选择以及实际应用中的调试与优化。
通过实训,提高学生对无线传感器网络技术的认识,培养学生的实际操作能力和团队协作精神。
二、实训内容1. 理论学习(1)无线传感器网络的基本概念、发展历程、应用领域(2)无线传感器网络的关键技术:传感器技术、通信技术、数据处理技术(3)无线传感器网络的组网方式:星型、总线型、网状、混合型2. 硬件设备选择与搭建(1)选择合适的传感器:温度传感器、湿度传感器、光照传感器等(2)选择合适的无线模块:ZigBee、Wi-Fi、蓝牙等(3)搭建实验平台:PC、传感器模块、无线模块、路由器等3. 软件编程与调试(1)编写传感器数据采集程序(2)编写无线通信程序(3)编写数据处理程序4. 组网与调试(1)配置无线模块参数(2)搭建无线传感器网络拓扑结构(3)测试网络性能,优化网络参数三、实训过程1. 理论学习(1)通过查阅相关资料,了解无线传感器网络的基本概念、发展历程、应用领域(2)学习无线传感器网络的关键技术,如传感器技术、通信技术、数据处理技术等2. 硬件设备选择与搭建(1)根据实训要求,选择合适的传感器、无线模块和实验平台(2)搭建实验平台,连接传感器模块、无线模块和路由器等设备3. 软件编程与调试(1)使用C/C++等编程语言编写传感器数据采集程序(2)使用Wi-Fi、ZigBee等无线通信技术编写无线通信程序(3)使用数据处理库编写数据处理程序4. 组网与调试(1)配置无线模块参数,如信道、速率、功率等(2)搭建无线传感器网络拓扑结构,如星型、总线型、网状等(3)测试网络性能,如数据传输速率、数据丢失率等,根据测试结果优化网络参数四、实训结果与分析1. 实验平台搭建成功,传感器数据采集程序、无线通信程序和数据处理程序均能正常运行2. 搭建的无线传感器网络拓扑结构稳定,数据传输速率达到预期目标3. 通过优化网络参数,提高了数据传输速率,降低了数据丢失率4. 实验过程中,团队成员分工明确,相互协作,共同完成了实训任务五、实训总结本次实训使学生掌握了无线传感器网络的组网原理、技术特点、硬件设备选择以及实际应用中的调试与优化。
无线传感器数据通信实验报告

实验二:无线传感器数据通信实验一、实验目的:在无线传感器节点的单片机驱动代码的基础上,编写无线通信程序,实现多个传感器节点之间的双向数据传输。
二、实验原理:温湿度传感器和单片机采用的是类似IIC的串行通信,和单片机相连如图1-8所示VDD和GND是传感器供电引脚。
SCK是时钟引脚,在通信这个过程中,SCK信号都是有单片机控制的。
DATA是数据线,和单片机IO口相连。
用于向传感器发送指令和从单片机读走数据。
数据在时钟的上升沿生效在时钟是高电平时保持不变。
在时钟是低电平时准备数据。
接口如图所示。
图1-8 温湿度接口单片机先向传感器发送开始命令,然后开始通信,开始命令时序图如图所示。
在SCK高电平时,将数据线拉低,在下一个时钟高电平期间,将数据线拉高。
开始信号发送完毕。
图1-9 开始信号再开始信号后是命令信号,命令信号包含3位地址位(只支持000)和5位命令位组成。
传感器在接收到1byte数据时(即第八个时钟下降沿)将数据线拉低,表示数据正确接收。
在九个下降沿被释放。
命令如下表。
单片机在发送完命令信号后,等待温湿度传感器测量完成。
传感器在转换完成后将数据线拉低。
单片机产生时钟信号,从温湿度传感器读数据。
数据包含2bytes的测量结果和1bytes 的校验。
单片机在收到每字节数据都要将数据线拉低给出应答信号。
数据高位在前,低位在后。
传感器在测量结束和通信完毕后自动进入休眠。
具体操作见数据手册。
时序图如图1-10所示。
图1-10 传感器工作时序图8、计算公式温度计算公式:湿度计算公式:三、实验设备:ZIGBEE无线空气温湿度传感器一个、装有实验软件的计算机。
四、实验内容:1、建立开发工程;用MDK打开工程模板。
2、把similar_i2C.c和similar_i2C.h加入到工程。
将similar_i2c文件夹拷贝到工程模板目录中。
调用similar_i2C.c中函数,编写温度采集和湿度采集代码在工程模板根目录下建立sht1xx_sensor,在里面新建sht1xx.c和sht1xx.h空文件,将c加入到工程,将h文件加入到工程设置中编写main()调用温度采集和湿度采集函数,并对原始数据进行处理。
无线传感器网络实验报告

郑州航空工业管理学院无线传感器网络实验报告(第1版)20 14– 2015 第2学期赵成编着院系:电子通信工程姓名:专业:物联网工程学号:电子通信工程系2015年6月制实验一WSNs开发环境的建立一、实验目的了解基于TI CC2431/CC2530的WSNs基础知识,熟悉WSNs的开发环境,掌握Cygwin、TinyOS、SDCC、SmartRF Studio 7等软件的安装方法。
二、实验内容1.认识并观察WSNs节点模块的电路板;2.WSNs开发环境的建立:(1)Cygwin仿真软件的安装;(2)TinyOS 操作系统的安装;(3)SDCC小型设备C编译器的安装;(4)SmartRF Studio 7编程软件的安装;三、预备知识了解无线传感器网络的基本概念;熟悉无线传感器网络的结构及开发环境的建立。
四、实验设备1. 硬件环境配置计算机:Intel(R) Pentium(R) 及以上;内存:1GB及以上;实验设备:CC2431无线传感器网络节点模块;2. 软件环境配置操作系统:Microsoft Windows 7 Professional Service Pack 1;WSNs开发环境:Cygwin、TinyOS、SDCC、SmartRF Studio 7。
五、实验分析1.安装的Cygwin仿真软件时选择□Install from Internet还是√□Install from Local Directory。
(在正确的前面打勾)2.在安装Cygwin时,需要选择安装包,如下图所示,在箭头所指向的位置,表示对所有(All)包的操作,点击循环按钮,观察四种安装方式格式什么?写在下面。
图1 Cygwin Setup – Select Package安装方式:Default 、Install 、Reinstall 、Uninstall 。
3.安装TinyOS 操作系统时采用了shell脚本自动安装,请在下面写出执行shell脚本的指令。
无线传感网络实验报告

无线传感网络实验报告
一、实验目的
本实验旨在通过无线传感网络的搭建和实际应用,掌握无线传感网络的基本原理和实验技术,以及了解无线传感网络在实际中的应用。
二、实验内容
1.搭建无线传感网络
2.学习和掌握无线传感器节点的编程和调试
3.设计并实现无线传感网络的数据收集和传输功能
4.进行无线传感网络的实时数据采集和监控
三、实验步骤
1.搭建无线传感网络:按照实验指导书的要求,搭建无线传感网络的基础设施,包括基站和一定数量的传感器节点。
2.学习和掌握无线传感器节点的编程和调试:通过阅读相关资料,掌握无线传感器节点的编程语言和开发工具,并进行代码调试。
3.设计并实现无线传感网络的数据收集和传输功能:根据实验要求,设计无线传感网络的数据收集和传输方法,并进行代码编写和调试,确保数据能够准确地收集和传输。
4.进行无线传感网络的实时数据采集和监控:将搭建好的无线传感网络应用于实际场景中,实时采集并监控传感器节点的数据,验证无线传感网络的可靠性和稳定性。
四、实验结果与分析
通过搭建和实际应用无线传感网络,我们成功地实现了数据的收集和传输功能,并能够实时采集和监控传感器节点的数据。
在实际应用中,无线传感网络能够有效地进行环境信息的监测和采集,为后续的数据处理和分析提供了基础。
五、实验总结
通过本次实验,我们深入了解了无线传感网络的基本原理和应用,掌握了无线传感器节点的编程和调试技术,并成功地搭建和应用了无线传感网络。
通过实际操作和实验,我们不仅巩固了理论知识,还提高了实践能力和解决问题的能力。
无线传感网络作为一种新兴的技术,具有广阔的应用前景,我们对其未来的发展充满信心。
七、附录。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
无线传感器网络实验报告Contiki mac协议与xmac协议的比较1.简介无线传感器网络(wireless sensor networks,WSN)节点由电池供电,其能力非常有限,同时由于工作环境恶劣以及其他各种因素,节点能源一般不可补充。
因而降低能耗、延长节点使用寿命是所有无线传感器网络研究的重点。
WSN中的能量能耗主要包括通信能耗、感知能耗和计算能耗,其中通信能耗所占的比重最大,因此,减少通信能耗是延长网络生存时间的有效手段。
同时,研究表明节点通信时Radio模块在数据收发和空闲侦听时的能耗几乎相同,所以要想节能就需要最大限度地减少Radio模块的侦听时间(收发时间不能减少),及减小占空比。
传统的无线网络中,主要考虑到问题是高吞吐量、低延时等,不需要考虑能量消耗,Radio模块不需要关闭,所以传统无线网络MAC协议无法直接应用于WSN,各种针对传感器网络特点的MAC协议相继提出。
现有的WSN MAC协议按照不同的分类方式可以分成许多类型,其中根据信道访问策略的不同可以分为:X-MAC协议X-MAC协议也基于B-MAC协议的改进,改进了其前导序列过长的问题,将前导序列分割成许多频闪前导(strobed preamble),在每个频闪前导中嵌入目的地址信息,非接收节点尽早丢弃分组并睡眠。
X-MAC在发送两个相邻的频闪序列之间插入一个侦听信道间隔,用以侦听接收节点的唤醒标识。
接收节点利用频闪前导之间的时间间隔,向发送节点发送早期确认,发送节点收到早期确认后立即发送数据分组,避免发送节点过度前导和接收节点过度侦听。
X-MAC还设计了一种自适应算法,根据网络流量变化动态调整节点的占空比,以减少单跳延时。
优点:X-MAC最大的优点是不再需要发送一个完整长度的前导序列来唤醒接收节点,因而发送延时和收发能耗都比较小;节点只需监听一个频闪前导就能转入睡眠。
缺点:节点每次醒来探测信道的时间有所增加,这使得协议在低负载网络中能耗性比较差。
而且分组长度、数据发送速率等协议参数还需进一步确定X-MAC原理图如图3所示:ContikiMAC协议一.ContikiMAC协议中使用的主要机制:1.时间划分2.快速睡眠3.锁时优化ContikiMAC只使用了异步的机制,没有标识信息也没有附加的消息头,它的数据也都是普通的链路层消息。
时间划分:ContikiMAC协议具有一个基于传输过程中精确时间度量的、能量高效的唤醒技术。
的唤醒技术利用一种价格低廉的CCA(空闲信道检测)机制来实现这种机制使用无线电收发器的RSSI(接收信号强度指示值)来判断指定信道的状态。
ContikiMAC中的时间划分必须满足一系列的限制。
如图4:图4ContikiMAC中的时间划分要求:ta+td<ti<tc<tc+2tr<tsti:每次数据传输之间的时间间隔tr:进行一次稳定的RSSI指示所需要的时间tc:两次CCA检测之间的时间间隔ta:手段数据包和发送ACK消息的时间间隔td:从接收节点那里成功检测到一个ACK消息所需的时间在IEEE802.15.4标准下,不等式中一些变量被固化,如IEEE802.15.4标准定义的ta值为12个时间点我,在802.15.4中,一个时间单位是4/250ms.然后td=40/250,tr是由cc2420无线收发器的特性决定的,tr=0.192ms,不等式变为:0.352<ti<tc<tc+0.384<ts给出了ts的下限,0.736ms(0.352+0.384),这也为我们的能传输的最小报文长度设了限制。
对其它参数,contiki系统中使用时间参数配置为:ti=0.4ms tc=0.5ms ts=0.884ms快速睡眠:contikiMAC中的并不实质性地检测数据传输,而只是检测无线信道的信号强度是否在特定的门限值之上。
如果一个邻居节点在向当前的接收节点发送数据,接收节点应该保持唤醒状态来保证接收到完整的数据包,然后需要发送一个回执。
检测到该数据包的其它节点则可以快速切换回睡眠状态。
然而,潜在的接收节点并不能立即回去睡眠,因为它们必须保证接收到完整的数据包。
在检测之后,最安全的保持唤醒状态的时间是tl+ti+tl这里表示最长数据包所需的传输时间。
当由于检测到错误的无线噪声而唤醒时,的快速睡眠机制使潜在的接收节点可以早些进入休眠状态。
这种优化机制利用了中的特定传输模式。
1.若CCA检测到活动,但信道活动状态的时间比tl还要长,说明CCA检测到的是噪声,节点返回睡眠2.如果信道活动状态过程之后有一段比ti更长的静止,则返回睡眠。
3.若活动状态后有一段正确的静止长度,但接收节点检测不到任何数据报文头,返回睡眠。
快速睡眠如图5所示:图5快速睡眠锁时优化(phase-lock):该机制类似于Wise-MAC,假设传感器网络中的每个接收节点都有一个周期的、稳定的唤醒时间间隔,则发送节点可利用接收节点的唤醒时间来优化传输过程,这就是锁时优化机制。
当发送节点检测到从接收节点返回的回执消息时,它会记录下检测到的时间,并以此判断出接收节点的唤醒时间。
由于接收节点必须保持唤醒状态来保证完整地接收报文,则发送节点可假设收到消息意味着发送节点在接收节点唤醒状态的时间窗内成功向其发送了一个数据包,由此发送节点便可以知道其唤醒时间。
在发送节点了解其唤醒时间之后,发送节点便可以在接收节点应该是唤醒状态的时候向其传输数据包。
Cooja仿真实验1.我分别测试4、8、12、16个节点时,contikimac和xmac在能量消耗和丢包率两方面的特点。
2.以下是4个节点时的截图:ContikiXmac 3.以下是八个节点的截图:Contikixmac 4.以下是12个节点时的截图:ContikiXmac 5.以下是16个节点时的截图:contikiXmac6.将文件中的数据导出,然后用下列程序分析:1.(void)setDownloadProgressBlock:(void(^)(NSUInteger bytesRead,long long totalBytesRead,long long totalBytesExpectedToRead))block;方法,在block中计算数目。
[html]view plain copy1.在计算sending和got数目需要自己写一个downTask类,负责记录。
downTask主要代码来源网<a target=_blank href="/conslee/archive/126370.html">点击打开链接</a>或/conslee/archive/126370.html [html]view plain copy1.<span style="font-family:Arial,Helvetica,sans-serif;">connectionOperation=[[AFURLConnectionOperation alloc]initWithRequest:request];</span> [html]view plain copy1.[connectionOperation setDownloadProgressBlock:^(NSUInteger bytesRead,long long totalBytesRead,long long totalBytesExpectedToRead){2.//NSLog(@"bytesRead:%zi",bytesRead);3.//NSLog(@"totalBytesRead:%zi",totalBytesRead);4.//NSLog(@"totalBytesExpectedToRead:%zi",totalBytesExpectedToRead);5.6.weakSelf.downTask.totalReadPeriod+=bytesRead;7.weakSelf.downTask.totalRead+=bytesRead;8.NSDate*currentDate=[NSDate date];9.if([currentDate timeIntervalSinceDate:weakSelf.downTask.oldDatePeriod]>=1){10.double speed=[weakSelf.downTask getSpeedWithDate:currentDate];11.12.[weakSelf.gaugeView setGaugeValue:speed animation:YES];13.NSString*unit=nil;14.if(speed>RATIO){15.unit=@"M";16.speed=speed/RATIO;17.}18.else{19.unit=@"KB";20.speed=speed;21.}22.NSLog(@"current speed:%f%@",speed,unit);bSpeed.text=[NSString stringWithFormat:@"%.2f%@",speed,unit];24.//NSLog(@"totalBytesRead:%zi",totalBytesRead);25.}26.27.}];7.之后我发现其实不用程序直接用记事本计数就可,并且还有很多简便方法。
8.实验得到的结果数据如下:9.能量消耗部分截图.10.总结实验描述了无线传感器网络协议的ContikiMAC和xmac的区别。
本次试验表明,Sink 节点的能量消耗比其他的节点的要大,平均消耗并没有很大变化;随着节点的增多,两个协议的丢包率都增高,表现优于contiki似乎要优于xmac,所以细节和实验论证MATLAB 绘图有些许瑕疵,但是实验的大体和步骤都做了一遍,实验锻炼了动手能力,感觉这门课有趣。