-->
Page 1 of 2

How scalability is achieved? on Arduino

PostPosted: Fri Jun 09, 2017 8:57 am
by laser
I am not a new to IEEE802.11 but new to ESP8266.

Before digging into programming with ESP8266 I would like to ask some key questions. I would like to have a network of possibly 1000+ nodes (closer to the idea of IoT -- Internet of Things, I guess), but I do NOT want to create a mesh/manet network.

That is too much for single access point (AP) to handle, but what could help is usage of any way of standard/custom TDMA network. Let's say most naive approach is to make 10 devices to wake up each minute, establish association, do action and then return to sleep. If we have 20 of such devices then we will require 50 rounds for 1 minute, thus during one hour we make one cycle of connection (reduction of awake time reduces total cycle time).

Making AP association is quite complex and slow process takes seconds (up to 10), and this limits from below time of one one wake up round. actually a waste of resources as we rarely need to talk to devices and association to device is really not such important. What is important is whether we need to establish connection in first place or not. That is known to device (obviously) and AP, and AP can broadcast some information over local network to ask for connection establishment.

So the question here: is it possible to retrieved broadcast messages without active association to AP (we can forget about security for now, just plain messages on 255.255.255)?

Re: How scalability is achieved? on Arduino

PostPosted: Fri Jun 09, 2017 11:51 am
by rudy
UDP broadcasts can be done.

This is worth looking at. Make sure you understand what they were doing as it is lower level communications. 2,000 ESP8266's for MAGFest

https://www.youtube.com/watch?v=8WCIu-3OFEQ

Re: How scalability is achieved? on Arduino

PostPosted: Sat Jun 10, 2017 9:54 am
by JackB
Wifi (esp8266) is not well suited to your requirements, it requires associations for communication. There are many other radios chips that can wake up and send a packet and go back to sleep, see nrf24l01.

For Wifi AP, it broadcasts its AP name as a stateless packet, you have a 32 character name you can encode some data, and a scanner will see it. So wake up, set AP name let it broadcast 4 times (every 250ms) it for a second, then go back to sleep.

If you use the SDK, espNOW functions that don't use wifi, they do require pairing,
see https://espressif.com/en/products/softw ... w/overview

Re: How scalability is achieved? on Arduino

PostPosted: Sun Jun 11, 2017 2:03 am
by torntrousers
laser wrote:So the question here: is it possible to retrieved broadcast messages without active association to AP (we can forget about security for now, just plain messages on 255.255.255)?


Maybe try ESP-NOW? That doesn't need to associate with the AP and in the very latest SDK it now supports broadcast too. I've some example ESP-NOW code here.