Author Topic: LWMesh Config & Optimizations for 100+ Nodes  (Read 8337 times)

0 Members and 1 Guest are viewing this topic.

Offline friendly_giant

  • Newbie
  • Posts: 3
  • Country: us
Re: LWMesh Config & Optimizations for 100+ Nodes
« Reply #25 on: June 13, 2017, 04:38:03 pm »
Nick, I'm curious as to how you're gathering such detailed information about your routes. are you doing this using a packet sniffer or have you added some code to provide information about routes?
 

Offline ehughes

  • Frequent Contributor
  • **
  • Posts: 409
  • Country: us
Re: LWMesh Config & Optimizations for 100+ Nodes
« Reply #26 on: June 13, 2017, 05:27:54 pm »
I am curious as to why you are using LWMesh versus something like this:

http://www.linear.com/products/smartmesh_ip

It seems they have most of the mesh issues figured out and have deployed solutions in very nasty places.


 

Offline QuME

  • Newbie
  • Posts: 1
  • Country: ca
Re: LWMesh Config & Optimizations for 100+ Nodes
« Reply #27 on: June 24, 2017, 07:13:04 pm »
Hello, Nick:
It seems your project has very high similarity to the project we are working on. We are trying to use lwmesh for about 50 sensing nodes per gateway (smaller than your scale). I implemented the LWMESH to my nodes and gateway. To start with, I used two nodes, one was setup as a router (add. 0x1006) and one as device (add. 0x8006). Both are close to the gateway ~5 meters away.
Code: [Select]
#define APP_ADDR                0x1006               // Simulated Coordinator0X00, Routing node <0X8000, here defines the network address for the node.
#define APP_PANID               0x1234
#define APP_SENDING_INTERVAL    4000                 // milliseconds
#define APP_ENDPOINT            1                    //0 is reserved, 1-15 can be used for the endpoints where data can be accessed from outside of the wsn
#define APP_SECURITY_KEY        "TestSecurityKey0"   //encryption key, can be changed to your own key
/*Frequency is defined below. Sub-GHZ, 780MHz in China, 868/900MHz in EU require three parameters
 2.4GHz only needs one, i.e., app_channel 11-26, 0x0b-0xfa */
#if (defined (PHY_AT86RF212B) || defined (PHY_AT86RF212))
  #define APP_CHANNEL           0x01
  #define APP_BAND              0x00
  #define APP_MODULATION        0x24
#else
  #define APP_CHANNEL           0x0f                  //RF channel 15, can be changed
#endif

#define PHY_ENABLE_RANDOM_NUMBER_GENERATOR

#define SYS_SECURITY_MODE                   0       

#define NWK_BUFFERS_AMOUNT                  16     
#define NWK_DUPLICATE_REJECTION_TABLE_SIZE  50     
#define NWK_DUPLICATE_REJECTION_TTL         1000
#define NWK_ROUTE_TABLE_SIZE                50   
#define NWK_ROUTE_DEFAULT_SCORE             3   
#define NWK_ACK_WAIT_TIME                   1000 /*  ms */
#define NWK_GROUPS_AMOUNT                   3
#define NWK_ROUTE_DISCOVERY_TABLE_SIZE      5
#define NWK_ROUTE_DISCOVERY_TIMEOUT         1000 /* ms */
#define APP_RX_BUF_SIZE                     20
#define NWK_ENABLE_ROUTING
#define NWK_ENABLE_SECURITY
#define NWK_ENABLE_ROUTE_DISCOVERY

It works great. Very smooth and stable.

Then I try to increase number of the nodes. First I used 5 nodes, two router (0x1005, 0x1001), and three devices (0x8006,0x8007,0x800A). The data sending interval changed to 1min (60,000 ms), i.e..,
Code: [Select]
#define APP_SENDING_INTERVAL    4000                 // milliseconds
Then I found the routers and device continously sending message as usual, but  gateway always get stuck in the middle, and  looping around
 
Code: [Select]
static void phyWaitState(uint8_t state)
{
while (state != (phyReadRegister(TRX_STATUS_REG) & TRX_STATUS_MASK)) {
}
}

I checked the state is  = 22,

Do you know what causes the looping? Phy layer is receiving messages,  but not passing the message to the app layer appDataInd(), where I send data to the server using lwip udp function.

I read many of Alex's post, but still not able figure out the cause.

 Also, would you be able to share some your program once you finalize your project?
 

Online ataradov

  • Super Contributor
  • ***
  • Posts: 11251
  • Country: us
    • Personal site
Re: LWMesh Config & Optimizations for 100+ Nodes
« Reply #28 on: June 24, 2017, 07:16:51 pm »
And what is the actual state?

This is a possible indication of a hardware problem.
Alex
 

Offline akla

  • Newbie
  • Posts: 2
  • Country: si
Re: LWMesh Config & Optimizations for 100+ Nodes
« Reply #29 on: November 03, 2017, 08:43:55 am »
Nick, Alex hello.

I am dealing with pretty same problems regarding LWMesh.
Nick, did you reach your goal - 100 nodes connected to single gateway?
I wonder, how would act sub-GHz network with following characteristics:
- 38400 kbps
- 250 routing nodes
- one gateway,
- each node is in RF reach of all other 249 nodes
- communication is allways initiated by gateway; gateway sends  request, node sends response.
Nick, Alex, what information do you have about biggest PAN running LWMesh?

Adam.
 

Online ataradov

  • Super Contributor
  • ***
  • Posts: 11251
  • Country: us
    • Personal site
Re: LWMesh Config & Optimizations for 100+ Nodes
« Reply #30 on: November 03, 2017, 04:09:10 pm »
- each node is in RF reach of all other 249 nodes
If this is absolutely the case, you are in a huge luck. Just send all your messages as link-local. There will be no routing overhead, and it all will work as well as your hardware and environment allows.

Nick, Alex, what information do you have about biggest PAN running LWMesh?
I've seen networks close to 400 devices. But they were tuned and optimized pretty hard. But in your case none of this applies, since you have direct communication all the time. You are no limited by the routing overhead.
Alex
 

Offline akla

  • Newbie
  • Posts: 2
  • Country: si
Re: LWMesh Config & Optimizations for 100+ Nodes
« Reply #31 on: November 04, 2017, 08:26:23 am »
If this is absolutely the case, you are in a huge luck. Just send all your messages as link-local. There will be no routing overhead, and it all will work as well as your hardware and environment allows.
Alex, thank you for fast response. Well, this is not use case, but test case to check, if routing mechanism would survive such most-heavy conditions.

I've seen networks close to 400 devices. But they were tuned and optimized pretty hard. But in your case none of this applies, since you have direct communication all the time. You are no limited by the routing overhead.
As I mentioned above, my case is routing case and I want to find out, how realistic it is to have support for 255 nodes under single gateway, using 868/915 MHz RF band.
Can you be a bit more specific about "tuned and pretty hard optimized"?
 

Online ataradov

  • Super Contributor
  • ***
  • Posts: 11251
  • Country: us
    • Personal site
Re: LWMesh Config & Optimizations for 100+ Nodes
« Reply #32 on: November 04, 2017, 06:07:11 pm »
Alex, thank you for fast response. Well, this is not use case, but test case to check, if routing mechanism would survive such most-heavy conditions.
Those are not the worst conditions, far from it. So you need to specify your actual conditions, if you want a real answer.

As I mentioned above, my case is routing case and I want to find out, how realistic it is to have support for 255 nodes under single gateway, using 868/915 MHz RF band.
Depends on amount of traffic. If your GW always initiates the transfer, then you are still in a better shape than most other applications.

Can you be a bit more specific about "tuned and pretty hard optimized"?
If you really want this to work, you would want to get a sniffer. The rest depends on your specific scenario. You may not need any optimizations at all.
Alex
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf