How can I trigger the creation of a new mesh network, once a mesh network is full? + how to get IDs of existing networks
Posted: Thu Feb 27, 2020 12:26 am
(EDIT 21/05/20: This post is getting the so many hits and yet no replies )
Context:
I have a few hundred devices which are currently connected to a single access point. I'm sending commands, files and OTA updates to these devices, but because they are all connected to the same access point there is a lot of contention and other network issues.
My goal is to use ESP-MDF to create multiple mesh networks with very few layers to reduce the number of devices connected to my access point.
I have configured mWifi with the following parameters:
Number of layers: 2
Number of softAP connections: 3
In my small test network of 7 devices, this produces a single root node with 3 children (as expected). The other 3 nodes remain idle.
I wish for the idle nodes to create their own mesh network with it's own root and child nodes.
I have tried enabling the option to allow multiple roots, but that has made no difference. Is it possible to allow another mesh network to be set up once the current one is full?
Any help would be hugely appreciated!
Below is the serial output of one of the Idle nodes, where it is trying to connect to the full network - and failing.
Context:
I have a few hundred devices which are currently connected to a single access point. I'm sending commands, files and OTA updates to these devices, but because they are all connected to the same access point there is a lot of contention and other network issues.
My goal is to use ESP-MDF to create multiple mesh networks with very few layers to reduce the number of devices connected to my access point.
I have configured mWifi with the following parameters:
Number of layers: 2
Number of softAP connections: 3
In my small test network of 7 devices, this produces a single root node with 3 children (as expected). The other 3 nodes remain idle.
I wish for the idle nodes to create their own mesh network with it's own root and child nodes.
I have tried enabling the option to allow multiple roots, but that has made no difference. Is it possible to allow another mesh network to be set up once the current one is full?
Any help would be hugely appreciated!
Below is the serial output of one of the Idle nodes, where it is trying to connect to the full network - and failing.
Code: Select all
I (1295) [mupgrade_subsystem, 36]: MESH is started
I (5195) mesh: [S10]Meme_Net, 44:d9:e7:b5:27:02, channel:6, rssi:-42
I (5195) mesh: find router:[ssid_len:8]Meme_Net, rssi:-42, 44:d9:e7:b5:27:02(encrypted), new channel:6, old channel:0
I (5205) mesh: [S19]Meme_Net, 44:d9:e7:b5:09:73, channel:11, rssi:-64
I (5205) mesh: find router:[ssid_len:8]Meme_Net, rssi:-64, 44:d9:e7:b5:09:73(encrypted), new channel:11, old channel:6
I (5215) mesh: [FIND][ch:0]AP:20, otherID:0, MAP:2, idle:2, candidate:0, root:0[44:d9:e7:b5:27:02]router found
I (5225) mesh: [FIND:1]find a network, channel:6, cfg<channel:0, router:Meme_Net, 00:00:00:00:00:00>
I (5235) wifi: mode : sta (24:6f:28:f4:ae:d8) + softAP (24:6f:28:f4:ae:d9)
W (5245) wifi: <MESH AP>adjust channel:1, secondary channel offset:1(40U)
I (5255) wifi: Total power save buffer number: 8
W (5265) wifi: <MESH AP>adjust channel:6, secondary channel offset:1(40U)
I (5265) wifi: Total power save buffer number: 8
I (5565) mesh: [SCAN][ch:6]AP:10, other(ID:0, RD:0), MAP:2, idle:1, candidate:0, root:1, topMAP:0[c:0,i:0][44:d9:e7:b5:27:02]router found<>
I (5575) mesh: [FAIL][1]root:0, fail:1, normal:0, <pre>backoff:0
I (5875) mesh: [SCAN][ch:6]AP:7, other(ID:0, RD:0), MAP:1, idle:1, candidate:1, root:0, topMAP:0[c:0,i:0][44:d9:e7:b5:27:02]router found<>
I (5885) mesh: 6104[SCAN]init rc[ttl:127/votes:2][24:6f:28:f4:a6:39,-52]
I (5885) mesh: 1250, vote myself, router rssi:-41 > voted rc_rssi:-52
I (5895) mesh: [SCAN:1/10]rc[128][24:6f:28:f4:ae:d9,-41], self[24:6f:28:f4:ae:d8,-41,reason:0,votes:1,idle][mine:1,voter:2(0.50)percent:0.90][128,1,24:6f:28:f4:ae:d9]
I (6205) mesh: [SCAN][ch:6]AP:9, other(ID:0, RD:0), MAP:1, idle:1, candidate:1, root:0, topMAP:0[c:0,i:1][44:d9:e7:b5:27:02]router found<>
I (6215) mesh: [SCAN:2/10]rc[128][24:6f:28:f4:ae:d9,-41], self[24:6f:28:f4:ae:d8,-41,reason:0,votes:1,idle][mine:1,voter:2(0.50)percent:0.90][128,1,24:6f:28:f4:ae:d9]
I (6525) mesh: [SCAN][ch:6]AP:10, other(ID:0, RD:0), MAP:2, idle:1, candidate:0, root:1, topMAP:0[c:0,i:0][44:d9:e7:b5:27:02]router found<>
I (6525) mesh: [FAIL][4]root:2, fail:2, normal:0, <pre>backoff:0