STM32W108无线传感器网络节点定位技术

使用STM32W108无线节点完成基于接收信号强度指示(RSSI:Received SignalStrength Indication)的N次三边质心加权定位,对移动中的节点实时进行定位,并将定位结果发送到汇集中心。图15.1为定位实验的实际场景,所有实验在室内完成,共使用9个节点,1个移动节点,8个信标节点。

图15.1.
定位实际场景

基于第10章介绍的SimpleMac协议栈,对程序进行删减更改,下面给出更改部分代码:

文件solar-system.c相关内容:

函数processRxPacket():


/**************************************************************************

功能描述:对接收的数据包进行解析解码处理,并根据不同类型的数据包执行不同的操作,数据包信息通过数据包回调函数保存在结构体变量rxData中

输入参数:无

输出参数:无

***************************************************************************/

void  processRxPacket(void)

{

……

//检查确定数据包帧类型,代码中只用到了FT_DATA类型

switch(rxData.packet[1]&0x7) {

case FT_DATA:

RX_DETAILS(printf("FT_DATA\r\n");)

packetType = (FT_DATA<<4);

break;

case FT_MAC_COMMAND:

RX_DETAILS(printf("FT_MAC_COMMAND\r\n");)

packetType = (FT_MAC_COMMAND<<4);

break;

default:

RX_DETAILS(printf("Unknown frame  type\r\n");)

goto stopProcessing;

};

//判断数据包中是否有PAN ID信息

if((rxData.packet[1]&0x40)!=0x40) {

pktHasSrcPanId=TRUE;

srcAddrOffset = 2;

}

//四种不同的地址类型

switch(rxData.packet[2]) {

……

}

RX_DETAILS(

if(pktHasSrcPanId) {

printf("src pan =  0x%04X\r\n", srcPanId);

}

)

//判断数据包长度是否满足足够的长度保存负载类型

if(rxData.packet[0]<payloadStart) {

RX_DETAILS(printf("Length byte too  short\r\n");)

goto stopProcessing;

}

//通过帧类型及负载类型计算数据包类型

packetType |=  (rxData.packet[payloadStart]<<0);

RX_DETAILS(printf("packet type =  0x%02X\r\n", packetType);)

//不同的数据包类型执行不同的操作

switch(packetType) {

case (GENERIC_DATA_PACKET): //普通类型数据包,Sun节点和Planet节点都会收到

RX_DETAILS(printf("GENERIC_DATA_PACKET\r\n");)

printf("%d\n",  rxData.rssi);//RSSI输出

break;

……

default:

RX_DETAILS(printf("Unknown payload  type\r\n");)

goto stopProcessing;

}

stopProcessing:

rxData.packetBeingProcessed = FALSE;

}

 

函数joinCmd():


/**************************************************************************

功能描述:Planet广播搜索Sun节点,完成加入网络

输入参数:无

输出参数:无

*************************************************************************/

void  joinCmd(void)

{

……

#ifdef  PLANET_ROLE

autoSendRate = 1; //设置节点向Sun节点发送数据包频率,加快频率,用于计算RSSI

halSetLed(LED_D4); //点亮LED4

#endif

……

}

 

时间: 2024-11-08 23:11:20

STM32W108无线传感器网络节点定位技术的相关文章

STM32W108无线传感器网络节点自组织与移动智能体导航技术

使用STM32W108无线开发板及节点完成大规模网络的自组建,网络模型选择树型,网络组建完成之后,使用基于接收信号强度指示RSSI(ReceivedSignal Strength Indication)的N次三边质心加权定位法进行节点定位及智能车导航. 节点自组织及移动智能体导航实际场景 程序设计与实现 基于SimpleMac协议栈sample实例及第15章给出的N次三边质心加权定位算法程序,进行本章程序的设计,对于本章使用的N次三边质心加权定位算法及三边质心定位算法的实现在此就不再说明,主要给

无线传感器网络中的节点定位技术

原文:http://www.cnblogs.com/dolphin0520/archive/2013/05/03/3056789.html 无线传感器网络的许多应用要求节点知道自身的位置信息,才能向用户提供有用的检测服务.没有节点位置信息的监测数据在很多场合下是没有意义的.比如,对于森林火灾检测.天然气管道监测等应用,当有事件发生时,人们关心的一个首要问题就是事件发生在哪里,此时如果只知道发生了火灾却不知道火灾具体的发生地点,这种监测没有任何实质的意义,因此节点的位置信息对于很多场合是至关重要的

无线传感器网络数据融合技术

http://www.dzsc.com/data/html/2008-11-28/73975.html 由于大多数无线传感器网络应用都是由大量传感器节点构成的,共同完成信息收集.目标监视和感知环境的任务.因此,在信息采集的过程中,采用各个节点单独传输数据到汇聚节点的方法显然是不合适的.因为网络存在大量冗余信息,这样会浪费大量的通信带宽和宝贵的能量资源.此外,还会降低信息的收集效率,影响信息采集的及时性. 为避免上述问题,人们采用了一种称为数据融合(或称为数据汇聚)的技术.所谓数据融合是指将多份数

STM32W108无线传感器网络嵌入式uCOS-II的移植及实时环境监測

基于STM32W108无线开发板,将ucos-ii v2.86内核移植到其上,并加入用户任务.实现对温湿度.超声波.声音.光敏等传感器的控制及实时数据採集. 14.1开发环境说明 硬件:STM32W108无线开发板,JLink烧写器.PC机.温湿度传感器.声音传感器.光敏传感器.超声波传感器等. 软件:IAR Embedded Workbench开发软件,SimpleMac Zigbee协议栈,ucos-ii的内核源代码. 实验硬件电路传感器接口与第13章中使用的传感器接口同样,具体信息參考13

STM32W108无线传感器网络多传感器环境参数监测实例

本实例基于STM32W108的SimpleMac协议栈,利用无线节点完成对温度.湿度.超声波.烟雾.声音.光敏等传感器的控制及数据采集,并实时将数据发送到STM32W108开发板,完成传感器数据的汇集,并通过串口传送给PC机. 13.4传感器数据采集程序设计与实现 下面将根据不同的传感器分别进行传感器数据采集程序的设计说明,最后给出数据包的发送.接收及主函数部分的详细内容. 13.4.1 温度传感器 temperature.h文件内容: #ifndef  __TEMPERATURE_H__ #d

无线传感器网络

Technorati Tags: ZigBee技术 无线传感器网络        时代进步,技术推陈出新,而作为信息获取最重要和最基本的技术-传感器技术,也得到了极大的发展.传感器信息获取技术已经从过去的单一化渐渐向集成化.微型化和网络化方向发展,将会带来一场信息革命. 具有感知能力.计算能力和通信能力的无线传感器网络WSN,综合了传感器技术.嵌人式计算技术.分布式信息处理技术和通信技术,能够协作地实时监测.感知和采集网络分布区域内的各种环境或监测对象的信息,并对这些信息进行处理,获得详尽而准确

无线定位技术

实现室内地图定位导航,需要解决哪些技术难题? 2015-06-18 15:00:00 来源: 知乎每日精选 跟贴 0 条 手机看新闻 Wi-Fi指纹定位是什么原理? 室内定位中的位置指纹法,简单来说,就是事先把各个位置上的信号特征(各Wi-Fi的信号强度)测量一遍,存入指纹数据库.定位的时候,将当前的信号特征与指纹库中的进行匹配,从而确定位置.下图是我本科毕设时画的示意图(AP就是WiFi,RP是离线采集选取的参考点): 离线阶段:记录下每个RP处测到的信号强度,每组数据(指纹)包含4个信号强度

无线传感器网络(WSN)在各个领域的应用分析

科技发展的脚步越来越快,人类已经置身于信息时代.而作为信息获取最重要和最基本的技术--传感器技术,也得到了极大的发展.传感器信息获取技术已 经从过去的单一化渐渐向集成化.微型化和网络化方向发展,并将会带来一场信息革命. 传感器节点可以连续不断地进行数据采集.事件检测.事件标识.位置监测和节点控制,传感器节点的这些特性和无线连接方式使得无线传感器网络的应用前景非常广阔,几乎涉及到社会经济活动中的各个领域. (1)军事领域的应用 在军事领域,由于WSN具有密集型.随机分布的特点,使其非常适合应用于恶

浅入无线传感器网络

1.初识传感器网络 无线网络可分为两种.一种是有基础设施的网络,需要固定基站,比如手机通信这种无线蜂窝网就需要高大的天线和大功率基站来支持:一种是无基础设施网包括移动Ad Hoc网络和无线传感器网络(WSN),这种网络节点是分布式的没有固定基站,注意它仍然是有基站的只是没有专门的固定基站.Ad Hoc网络指的是无线自组织网络,移动Ad Hoc网络的终端是快速移动的.而无线传感器网络的节点是静止的或者移动很慢.无线传感器网络的官方定义是WSN是由大量的静止或移动的传感器以自组织和多跳的方式构成的无