EDN首页   博客首页

最新日志

发表于:2008-11-10 10:34:54
标签:无标签

0

RSSI与LQI、接收距离d之间的关系

    在小组里看到有人提及这个问题,我总结了一下写在这里,希望对你有用!

1RSSI与接收距离的关系如下:

            

              

n: signal propagation constant, also named propagation exponent.

d: distance from sender.

A: received signal strength at a distance of one meter.

 

 

2、测距离与已知RSSIAn之间的关系如下:

 

              d=10^((ABS(RSSI)-A)/(10*n))

 

 

3RSSILQI之间的转换关系如下:

RSSI =  -(81-(LQI*91)/255)

通过实验,A值的最佳范围为4549n值最佳范围为3.254.5N15---25。

系统分类: 嵌入式   |    用户分类: 无分类    |    来源: 无分类

评论(0) | 阅读(205)
发表于:2008-11-5 17:05:31
标签:无标签

0

some problems about Z-stack

[ZigBee学习笔记]some problems about Z-stack
 Rcikli 发表于 2008-10-29 16:47:00
 
some problems about Z-stack

Hi, i am learning the SimpleApp, one of the examples from Z-stack, but i encountered some problems. i could understand how the messages flow on a device, but the LEDs on CC2430DB confuse me. i don't why they blinks, and which part of program controls them! In the sensor data collection application, i could see that afer joining the network successfully LED2(red) will blink fastly, and after binding with the coordinator LED1(Green) will blink fastly. but the source code in file simpleSensor.c only showes that function myApp_StartReporting() will set LED1 on after binding. why dose it blink quickly? could anybody give me a reason?  or please tell me how to find the program which controls the LEDs blinking if you can! thanks a lot!

 

 Hi Dasheng,

An excellent way of understadning Z-Stack sample application would be to monitor the packet exchange between nodes using our packet sniffer.  The toggle is due to the SAPI_ReceiveDataIndication which is called everytime you receive a message,  AF_INCOMING_MSG_CMD in the ProcessEvent loop of SAPI. This function calls again the  zb_ReceiveDataIndication(..) and in here if you receive the toggle message cluster you will toggle the LED. 

void zb_ReceiveDataIndication( uint16 source, uint16 command, uint16 len, uint8 *pData  )
{
  if (command == TOGGLE_LIGHT_CMD_ID)
  {
    // Received application command to toggle the LED
    HalLedSet(HAL_LED_1, HAL_LED_MODE_TOGGLE);
  }
}

 
 
 

Hi LPRF_Rocks,

My former problem has been resolved. I found that there is a denfination of POWER_SAVING in IAR's compile option so that LED1 will be blinking instead of always on. There is a explination in document " Simple API for Z-Stack " for this phenomena. If I delete POWER_SAVING then LED1 will be turned on and always be on after the sensor node has binded with collector node successfully. 

But now i encounter another problem which is the same problem that ahmad  had already asked. when i use the collector node to collect information from five sensor nodes,  i find that two sensor nodes are assigned with the same short network address, which may be 0x7972, 0x7970, or 0x796f. the same problem will appear even if i only use four sensor nodes. i found this problem from the HyperTerminal on my PC which can receive the informtion sent by collector through serial port. when I use a CC2430DB as packet sniffer to watch the data pakets over the air, i found that some  sensor nodes were really assigned with identical short address. My Z-stack version is ZStack-1.4.3-1.2.1, and my hardware platform is CC2430ZDK. So can you give me some adveices on how to resolve this problem? thanks a lot!  

 
 
 

Hi ahmad,

 I suddendly know the reason of our problem when i try to check the IEEE address of each sensor node. I encountered  the same problem as yours in this morning,  and i was confused too. But just now i suspect that the reason may be  their IEEE addresses are identical, so i use SmartRF Flash Programmer to check each node's IEEE address, and i found that i am right. Two nodes' IEEE address were both 27 26 25 24 23 22 00 00, so when they join the network they will get the same short address. And this IEEE address is assigned by function zmain_ext_addr(), which use the following sentence to get a random number and assign this random number to the lower two bytes of the IEEE address.

AtoD = HalAdcRead (HAL_ADC_CHANNEL_7, HAL_ADC_RESOLUTION_10);

Unfortunately, the randomness of upper function is limited. So sometimes two or more nodes will get the same IEEE address. if you give each node a different IEEE address by SmartRF Flash Programmer or some other tools, then the problem will not appear again.

系统分类: 通信网络   |    用户分类: 无分类    |    来源: 整理

评论(0) | 阅读(105)
发表于:2008-10-23 17:58:39
标签:无标签

0

ZigBee近况

[ZigBee学习笔记]ZigBee近况
 Rcikli 发表于 2008-10-23 14:41:00

ZigBee无线网络技术被列为当今世界发展最快,市场前景最广阔的十大最新技术之一。

    它具有低功耗,数据传输可靠,网络容量大,安全可靠以及低成本等一系列优点。

    不久前,市场调研公司In-Stat发布的一份报告就指出,目前,ZigBee的开发以大厦自动化设备、产业、医疗及家庭自动化等领域为目标。尤其在自动仪表领域,ZigBee拥有很高的关注度。

    In-Stat预测,支持ZigBeeIEEE802.15.4的芯片组的合计供货量到2011年将从06年的500万个增至1亿2,000万个。热衷于ZigBee技术的世界芯片巨头都积极推动ZigBee技术发展,TI,FreescaleJennicEmber等在这个领域全力角逐ZigBee市场。   

近几年ZigBee技术在国内发展迅猛,很多公司开始进入这个领域。但由于种种原因这种主要用于室内的无线网络通信技术却并没有太多的机会来让其所具有的种种优点物尽其用。总的来说目前真正能把ZigBee技术应用的实际开发的还比较少。但相信随着ZigBee技术的推广及自身的不断完善,将会应用到生活的各个方面。

系统分类: 嵌入式   |    用户分类: 无分类    |    来源: 原创

评论(0) | 阅读(101)
发表于:2008-10-14 13:01:30
标签:无标签

0

Selecting a coordinator

 [ZigBee学习笔记]Selecting a coordinator
 Rcikli 发表于 2008-10-14 12:53:00

Copy from TI E2E Community.

question:

 My problem is that in the system we are building, there will be typically one coordinator, and one end device.

If multiple of these systems are deployed in the same area, and the end device is powered down and back up, it needs to remember which coordinator it was last connected to, and reconnect to that one. Its not possible to run it all under one coordinator, as the coordinators are not owned by the same user.

Currently, as far as I can tell, the PANID is ignored by the end device – it will connect to a coordinator that is configured to a different PAN id as itself.

The end device needs to get a list of coordinators available, and then select the appropriate one.

Also, the coordinator should ideally be able to check to see if the PANID it would use is in use, and pick a different one if it is.

answer:

If you have a device join a network and you would like that device to be able to sleep or be turned off, come back up and remain a member of the same network (not go through the discovery and joining process again) then you can use the NV_RESTORE feature which saves the state of the device to Non-Volatile memory and refreshes the status of the device on the network when it is powered back up.  Please check the developer's guide for more information on NV_RESTORE.

系统分类: 嵌入式   |    用户分类: 无分类    |    来源: 无分类

评论(0) | 阅读(92)
发表于:2008-9-28 10:07:49
标签:zigbee  cc2430  

0

如何读取LEMonitor.log信息

 如何读取LEMonitor.log信息
 Rcikli 发表于 2008-4-15 14:27:00

03:03:19:515 |<--| 0x0000 |PING_REQUEST       |

03:03:19:531 |-->| 0x5211 |BLIND_RSP          |01 A3 00 47 00 01 F6 50 9E 00 60 00 41

03:03:19:531 |-->| 0x0000 |PING_RESPONSE      |

03:03:19:531 |<--| 0x0000 |GET_DEVICE_INFO    |

03:03:19:562 |-->| 0x0003 |BLIND_RSP          |00 30 01 0F 00 03 B8 3C 36 01 00 00 37

03:03:19:671 |-->| 0x0000 |DEV_INFO_RSP       |00 17 16 15 14 13 12 12 A1 00 00 01 09 06 00 01 14 3E 28 7B 3C B8 50 F5 65 32 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

03:03:19:796 |-->| 0x01AA |BLIND_RSP          |00 53 00 3D 00 04 53 54 52 00 60 00 47

03:03:19:828 |-->| 0x047A |BLIND_RSP          |00 23 00 55 00 04 90 68 00 00 60 00 43

03:03:19:828 |-->| 0x4A2D |BLIND_RSP          |01 29 01 52 00 01 5F 03 36 01 60 00 3A

03:03:19:937 |-->| 0x1E56 |BLIND_RSP          |00 E4 00 4F 00 04 02 00 EA 00 60 00 3A

03:03:20:406 |-->| 0x0090 |BLIND_RSP          |01 DB 00 11 00 01 F6 50 9E 00 60 00 4A

03:03:20:484 |-->| 0x5184 |BLIND_RSP          |00 7A 01 0A 00 05 3E 14 88 01 00 00 34

03:03:20:484 |-->| 0x0090 |BLIND_RSP          |01 DB 00 11 00 01 F6 50 9E 00 60 00 4A

03:03:20:656 |-->| 0x14CD |BLIND_RSP          |00 00 00 31 00 05 3F 14 00 00 00 00 3C

 

一、各组数据所表示的含义:

|00 00表示整行数据准确可用,01表示数据不准确;

00 00:当前移动点的X16进制坐标,低位在前,高位在后;求实际坐标的方法是将16进制转回10进制,再将所得的数除4

31 00:当前移动点的Y16进制坐标,低位在前,高位在后;求实际坐标的方法是将16进制转回10进制,再将所得的数除4。;

05能与当前移动点通信的REF的数目

3F 14:离当前移动点最近的那个REF的地址,低位在前,高位在后;

00 00:离当前移动点最近的那个REFX坐标16进制坐标,低位在前,高位在后;

00 00:离当前移动点最近的那个REFY坐标16进制坐标,低位在前,高位在后;

3C  离当前移动点最近的那个REFRSSI

系统分类: 嵌入式   |    用户分类: 无分类    |    来源: 原创

评论(0) | 阅读(99)
总共 , 当前 /