Problem With Router Discovery - Page 1
Forum section: electronics / beginners

author: Peili
author_rank: Regular Contributor
timestamp: December 03, 2018, 04:08:03 am
content: HiWe are using the Lwmesh stack for avr-atemga256rfr2. we have a coordinator, 10 routers and a moving end device.. routers far from coordinator is directly hopping to the coordinator.2 or 3 routers are fixed in a corridor and have used one device to walk along the way where the routers placed.It was based on the assumption that when the device moves along the router path it picks up near by routers one by one along the path. But facing some issues with the this.. the moving device is not picking up the routers correctly... Is it issue with the Txpower value in the lwmesh..we have tested with values 0,1,2,3.but couldn't any changes has happened in range. Can anybody help me to solve it

author: ataradov
author_rank: Super Contributor
timestamp: December 03, 2018, 04:33:46 am
content: Why do you think that the issue is with Txpower?In general LwMesh algorithms (there are two, which one you are using?) are not designed for fast moving devices. They need a few failed transmissions before removing the route and starting to look for a new one.

author: Peili
author_rank: Regular Contributor
timestamp: December 03, 2018, 04:35:56 am
content: Quote from: ataradov on December 03, 2018, 04:33:46 amUsing AODV routing

author: ataradov
author_rank: Super Contributor
timestamp: December 03, 2018, 04:38:12 am
content: What about the part about TxPower? Why do you think that the issue is with TxPower?What is your application scenario? How often does the ED send data?

author: Peili
author_rank: Regular Contributor
timestamp: December 03, 2018, 04:40:18 am
content: Some times the ED which place near to coordinator it send continuously data ... moving from router to router it shows problems.. so i thought it might be issue with the Txpower

author: ataradov
author_rank: Super Contributor
timestamp: December 03, 2018, 04:41:42 am
content: You need to be more specific if you actually want help. What "problems"? Continuously how often (frames per second)?

author: Peili
author_rank: Regular Contributor
timestamp: December 03, 2018, 04:43:21 am
content: Quote from: ataradov on December 03, 2018, 04:38:12 amMy application is , i have some routers placed inside corridors and open area.. And i have on moving object(ED) , moves along the router path it picks up near by routers one by one along the path and send the router address ..

author: Peili
author_rank: Regular Contributor
timestamp: December 03, 2018, 04:47:12 am
content: Quote from: ataradov on December 03, 2018, 04:41:42 amWhen the ED moves along the routers path it doesn't picking the address.. i'm attaching my config.h file

author: ataradov
author_rank: Super Contributor
timestamp: December 03, 2018, 04:49:21 am
content: I don't understand what do you mean by "picking the address". Address of what. You will have to write more than one sentence.

author: Peili
author_rank: Regular Contributor
timestamp: December 03, 2018, 04:54:40 am
content: Quote from: ataradov on December 03, 2018, 04:49:21 ampicking address means picking the router address.. i have placed some routers and have address like 1001,1002 etc.. the routers placed in corridor and the ED move along the router placed path.. when the ED near to the 1001 address router it send address 1001 to the coordinator.. and the next router address like that... we are expecting this to happen.. But the ED not picking up any address

author: ataradov
author_rank: Super Contributor
timestamp: December 03, 2018, 04:57:09 am
content: You will probably have to modify the route selection algorithm. If your router is still accessible in one hop, it is likely to be the best route for actual communication. If you really want to just select the cosesd device, then you will need to modify the cost function inside nwkRouteDiscovery.c

author: Peili
author_rank: Regular Contributor
timestamp: December 03, 2018, 04:59:45 am
content: Quote from: ataradov on December 03, 2018, 04:57:09 amwhich is the cost function?

author: ataradov
author_rank: Super Contributor
timestamp: December 03, 2018, 05:02:20 am
content: The whole routing algorithm uses LQI (not the radio LQI, it is own LQI). Buy default LQI used for route evaluation is based on combining the LQIs from the radio. But you can substitute any metric.Specific details can be tricky. You will have to understand how that file works and update it accordingly.

author: Peili
author_rank: Regular Contributor
timestamp: December 03, 2018, 05:07:22 am
content: The moving device is not picking the nearby routers quickly.Can we do anything in code to pick the nearby routers quickly

author: ataradov
author_rank: Super Contributor
timestamp: December 03, 2018, 05:16:00 am
content: Define "quickly". Devices only evaluate routes what the data is sent. If you are moving the device and not sending anything, it will not pickup anything. If you send the data once a second, and you have route score of 3, it will take at least 3 attempts or 3 seconds to even detect failure, and then one more attempt to start the new discovery.A cheap hack is to send more often and lover the route score.

author: Peili
author_rank: Regular Contributor
timestamp: December 03, 2018, 05:52:00 am
content: Quote from: ataradov on December 03, 2018, 05:16:00 amquickly means when the ED is near to one router it should pick the router address and send it with delay of 1 sec

author: Peili
author_rank: Regular Contributor
timestamp: December 03, 2018, 05:54:05 am
content: Quote from: ataradov on December 03, 2018, 05:16:00 am

author: ataradov
author_rank: Super Contributor
timestamp: December 03, 2018, 05:59:38 am
content: So in this second device must detect that the route is missing and discover a new one. If your application logic has not changed from a standard WSNDemo, your ED sending interval is 2 seconds and default score is 2. There is absolutely no way for it to detect route loss faster than 4 seconds.To be that fast you need to send many more frames. And make route discovery timeout shorter.

author: Peili
author_rank: Regular Contributor
timestamp: December 03, 2018, 06:01:45 am
content: Quote from: ataradov on December 03, 2018, 05:59:38 amhow to change it?

author: ataradov
author_rank: Super Contributor
timestamp: December 03, 2018, 06:03:03 am
content: It is quite literally the name of the configuration option.You have to understand the code to efficiently use it. There is no way around it.

author: Peili
author_rank: Regular Contributor
timestamp: December 07, 2018, 11:38:53 am
content: Now ED could send router address indoor efficiently, but with same router firmware outdoor is absolutely opposite behaviour. I tried with and with out time delay to Appsenddata() and works fine in indoor . In out door even the routers are very closer different routers behaves different. what can i infer from it ? Is it related to signal propagation or any chance to affect external objects

author: ataradov
author_rank: Super Contributor
timestamp: December 07, 2018, 04:08:13 pm
content: You are trying to do location using a communication stack. The only way to find out what is wrong is to get a sniffer and start looking at the frames.

author: Peili
author_rank: Regular Contributor
timestamp: December 10, 2018, 12:42:56 pm
content: Now Ed sends address when it is in the vicinity of Coordinator or near by routers of coordinator. Sniffer(Sniffer_near.pcap , which is not supported by the forum , so changed as .png , Please change it to pcap ) file attached. when it comes under the far routers, lets say 3 routers away from coordinator , it sends only when we stay more than two minutes and closer to that particular router. Sniffer_far is attached. We assign 0x00 as transmit power to all routers and 0x0c to all ED. Score value is 3 for router and 1 for ED. How can we update routing more fast as soon as ED comes under different routers ?

author: ataradov
author_rank: Super Contributor
timestamp: December 10, 2018, 06:03:03 pm
content: I did not look at the traces, I don't have time for that and I can imagine what is there.If you want location, you need to engineer the thing for location. You can't take communication stack and expect it to be good at quickly locating the devices.The way I would approach this is though local broadcasts of the LwMesh. They are a very powerful tool. Make all the routers broadcast their ID via a local broadcast. ED will wake up (if sleep is desired), listen for some time to receive IDs from all the routers, and pick the one with a strongest signal. ED then will send this frame to that router directly. The router routes the frame as usual to the C.This way you eliminate the need to rebuild the routing tables on the ED.

author: Peili
author_rank: Regular Contributor
timestamp: August 21, 2019, 06:35:23 am
content: Quote from: ataradov on December 10, 2018, 06:03:03 pmi would like to use this scenario.. How can i check thesignal strengthatEnd Device sideand pick the strongest?

author: ataradov
author_rank: Super Contributor
timestamp: August 21, 2019, 06:37:21 am
content: The text quite literally explains what you need to do - receive frames from the routers fro some time, record the LQI values.

author: Kasper
author_rank: Frequent Contributor
timestamp: August 21, 2019, 03:06:06 pm
content: Quote from: Peili on August 21, 2019, 06:35:23 amA similar option: have the ED broadcast its ID when it is moving. Routers record signal strength from ED and send router address and signal strength to coordinator. Coordinator looks at signal strengths of all routers that rx'd the broadcast and determines location of ED.