1

I am working on a dedicated WiFi network of real-time, IoT devices communicating with MQTT. Messages are very short, approximately 100 bytes. There will be at least 85 devices on the network.

IoT application is written in MicroPython and uses standard WiFi & MQTT libraries. There's nothing exotic. Each device gets an IP, and subscribes and publishes to two topics. Each device probably uses two IP sockets that always need to remain connected and open.

The MQTT server is local and there is no internet. Many devices will send their data at nearly the same time in response to an event. Events are spaced at least 15 seconds apart. Maximum message bursts will be under 20,000 bytes split between 85 devices.

The physical space is wide open. Most distant devices will be around 35 meters away. WiFi repeaters can be used as needed.

With a low-ball estimate of 500,000 Mbps WiFi capacity, bandwidth does not appear to be the problem. Without collisions, it would take 40ms to send that. Up to one second latency in sending messages is acceptable.

How many short-message IoT devices can reasonably be simultaneously connected to a modern WiFi router? Typical routers I'm looking at can support around 252 IP addresses in their DHCP table. Is it reasonable to push that limit with IOT devices? Is WiFi overhead for many simultaneous connections the biggest concern?

3
  • 1
    Now we are in the right place, the solution is not to use consumer grade wifi access points and to possibly use more than one.
    – hardillb
    Feb 4, 2020 at 14:06
  • Are your devices dual-band or only 2.4 GHz? Are you in a very busy environment (e.g. offices in a high-density urban area) or in the middle of nowhere?
    – jcaron
    Feb 4, 2020 at 17:52
  • I plan on only using 2.4GHz because of possible range issues. Plus I'm using an ESP32 and it doesn't do 5GHz.
    – stanely
    Feb 5, 2020 at 14:34

2 Answers 2

1

It definitely depends on the router. You are correct in that the bottleneck will likely not be bandwidth, but with the number of simultaneous connections that the router can handle without dropping existing connections to add new ones. However the problem is more than just the number of IP addresses that can be handed out. Look for routers that use MU-MIMO (Multi User-Multiple In Multiple Out) that are designed to maintain a higher number of connections.

As was mentioned by @hardillb, commercial routers will usually have better support for multiple connections. On the lower/middle end, you might start with something like The Ubiquiti UniFi HD series APs.

1

It used to be the case (not sure it still is) that any consumer-grade (and even some pro) APs had only space for a limited number of keys in the WiFi chip itself (often 64 IIRC). That meant that as soon as you went over that limit (and you have to count additional keys for multicast and the like), it would have to continually replace the keys in the chip, and things would go belly up.

This should be much less of an issue if you use actual enterprise-grade APs (most are very expensive, but some are much less so) and of course several of them.

You of course want the APs to use separate, non-overlapping channels. Remember that in the 2.4 GHz band this is tricky. See https://en.wikipedia.org/wiki/List_of_WLAN_channels for reference.

If you can, use devices that support the 5 GHz band, it's much quieter. But there are few IoT devices that support it, I believe.

Since you are on a local network, there are not issues with NAT tables overflowing (a common issue when you have lots of persistent connections). That's considering the server to be on the same LAN as the devices, not on opposite sides of a NAT.

5
  • Thanks for the reply, @jcaron. I don't understand which keys you're talking about. Where would I find that in the AP specs?
    – stanely
    Feb 5, 2020 at 15:36
  • @stanely the keys used for encryption, which are derived from the credentials during authentication. Each station (device) has its own encryption key, even if they all use the same pre-shared key (the "network password"). I don't think you can reliably find this in most specifications, though (at least for consumer-grade APs), this is considered an internal "implementation detail". You should at least look for language that says "XXX concurrent users" (though you'll notice that for some hardware, the figure has decreased over the years....).
    – jcaron
    Feb 5, 2020 at 17:33
  • thanks for that heads-up. I would have never guessed there'd be a limit on simultaneous encryption keys and sure hope that's a thing of the past. It seems like the spec for maximum simultaneous/concurrent users is a hard one to find. That's why I asked the question because I was starting to get a bad feeling. It sounds like you have to try it to see if it works.
    – stanely
    Feb 5, 2020 at 18:56
  • I did find this comment from Cisco about their MR series (Meraki) APs, "Note: Each access point has a technical limitation of 128 clients maximum per radio. Please note that this is only a theoretical maximum; in practice, interference caused by multiple clients communicating simultaneously will cause this limit to be far lower." And those aren't dirt cheap access points.
    – stanely
    Feb 5, 2020 at 19:07
  • As recommended by John S, look at the Ubiquiti UniFi. They’re affordable and have decent specs. For 85 devices with low bandwidth requirements they should work out pretty well. Depending on the environment you may need several.
    – jcaron
    Feb 5, 2020 at 23:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.