PDA

View Full Version : questions about it's performance


Mark paul
09-17-2009, 08:22 AM
we use SNAP for a long time,and it’s didn't work fine,In fact, we have some questions about it's performance.

we are going to have a street that has 300 street light,and the experiment street has about 50 street light,and the performance didn't satisfy our custom.

20% of the communications fail,and we think that the router discovery process have some parameters don't understand.

what the parameters ID31 means?as I understood,it's the Threshold RSSI that which hop could be choose to be router,such as ID31=96,then if a node has a worse RSSI then -96,then it couldn't be choose as a router.

Is there a parameters that can limit another Threshold that which hop‘s RSSI is better then this Threshold would be choose to be a router,this Threshold can decrease the router discovery packet, and total discovery process,right?

we found that the router discovery process has choose a hop but the data transmit fail,we thought that the ID31 didnt work well and the way that SNAP evaluate RSSI too curtness,and choose a node that has a sudden hign RSSI as router,but most of time ,it's RSSI is worse then ID31.

another question.
Is it normal that in a 50 nodes network(street light) ,the master send a unicast packet to a slaver node,and the slaver respond ,this ask and answer process take about 1.5 second?

kbanks
09-17-2009, 10:21 AM
what the parameters ID31 means?as I understood,it's the Threshold RSSI that which hop could be choose to be router,such as ID31=96,then if a node has a worse RSSI then -96,then it couldn't be choose as a router.

No, that's not what it is. Re-read the description of ID 31 in the SNAP Reference Manual. ID31 is used as a tie-breaker, but it does not guarantee that a particular node will not route. (If you want a node to NEVER route, use ID 30 - Mesh Override). If you want a node to ignore ALL messages below a certain LQ, use ID 39 Radio LQ threshold.

Is there a parameters that can limit another Threshold that which hop‘s RSSI is better then this Threshold would be choose to be a router,this Threshold can decrease the router discovery packet, and total discovery process,right?

*IF* I understand your question, then ID 31 is the one you are describing.

Is it normal that in a 50 nodes network(street light) ,the master send a unicast packet to a slaver node,and the slaver respond ,this ask and answer process take about 1.5 second?

Depending on how many hops away the node one, yes.

Assuming you still have your mesh routing parameters set to the factory defaults, your mesh is optimized for exchanges that are only one-hop away.

Read up on ID 27 Initial Hop Limit (you may want to raise it).

Also read up on ID 26 RREQ Wait Time (you may want to lower it).

niky mark
09-17-2009, 11:59 AM
I just keep the password on my web browser,and forgot it.sorry.

Let's look at an example:

A want to sent a data to D,and B,C is between them,A sent an RPC to B and C,this RPC command will ask B and C send back the return value of getLq() function,and A get (B,98) (C,95).

if I want a stable router ,can I set the ID 31 to 97,what i want to do is that ,A always choose C as the router(I means all hops with better return value then C,such as (C1,93),(C2,94)...).

Is ID 30 means this?

kbanks
09-17-2009, 12:34 PM
Is ID 30 means this?

No, ID 30 means "do not mesh route for other nodes at all".

I still think ID 31 is the correct one for your intended application. You just need to understand that it affects route "preference", it does not completely disqualify the other route.

Also, if you have nodes like A <-> B <-> C, where A and C cannot directly communicate, if A asks C for an LQ value, it will be reporting the LQ of B as seen by C.

Mark paul
09-18-2009, 11:01 PM
how can we avoid if we read ZICM2410 module‘s RSSI register incorrect?does it lead to the getLq() function return a incorrect value and results in packet lost?

if you use the value of ZICM2410‘s RSSI as a conditions to choose whether a node could be a router ,will it be a problems?

because when we read the rssi from zicm2410 chips, we always get such data sequence like -68,-68,-68,-68,-62,-68,-68,-69,-68-,68,-63,and we thought this may cause our problems: in our lab environment,only 80% of communications success.

let's look at an example:

A B C D E F

from A to F,each node has a RSSI range from 92~96 to their neighbour node,and the router process SHOULD be A->B->C->D->E->F,because the Signal Strength between A and C is very weak,so A SHOULD not choose C as router ,But sometimes A get C’s RSSI is hign( -68,-68,-68,-68,-62,),and A think C is qualified as a router,but in communications process ,it return to normal Signal Strength(such as -68),and communications failed,

is my analyze reasonable?

mgenti
09-19-2009, 09:10 AM
how can we avoid if we read ZICM2410 module‘s RSSI register incorrect?does it lead to the getLq() function return a incorrect value and results in packet lost?

if you use the value of ZICM2410‘s RSSI as a conditions to choose whether a node could be a router ,will it be a problems?

There is not a correct or wrong way to read the LQ value of a received packet. The only way you to get the LQ value in your script is to call getLq() which returns the LQ value of the last packet you received.

is my analyze reasonable?

You are correct if your mesh timeouts have occurred and it's time to query for the route again then we will pick that node if he responds with a good LQ at that time.

Since LQ values can vary from packet to packet it is important to choose what value you use in your NV params if you want to help prevent routing at a certain levels. You might just need to try experimenting with different values to see what works best in your environment.

kbanks
09-21-2009, 09:00 AM
Don't forget you can use the 2.2 Trace Route feature to confirm the routing that you think is being used.

Also remember that you can implement retries at the application layer (in other words, in your script).