Arduino Ethernet Shield Multiple Connections and the power usage issue

:o

I have a project where the ESP32 would be perfectly suitable however... there are some issues which makes me fall back to the good old Arduino.

I would need in a project which can measure voltage and current (ACS 712) from a load then make that data available over telnet. As my research shows the available current sensors for ESPs on the market can do around 3.6A max, I need more and then I would like to control relays, which again available from 3.3V versions but for double of the cost of the regular 5V relays and ultimately I already built circuit with 5V arduino to do all these but with the ESP32 I would have to throw out all my work and start it from stratch so one word than a hundred, I give up with using the ESP32.

I need the data to be provided through telnet to multiple computers on the network. For this I could just connect the arduino to a raspberry pi through USB but low power consumption is a key point of this project and I don't want to use a full computer.

I was considering to use the: Ethernet Shield W5100

The latest Arduino Ethernet Shield on the market. As my research shows the power consumption of this board is quite a lot, 150mA so coupled with a Leonardo = 200mA constant current draw.

I wouldn't mind using wifi board but there isn't? any official yet. All I could find are ESP shields such as:

https://www.ebay.com/itm/ESP8266-Serial-Port-WiFi-Expansion-Board-UNO-R3-Board-Shield-ESP-13-for-Arduino/172060795021?hash=item280f9f608d:rk:1:pf:0

WiFi current: continuous transmission: ?70mA (200mA MAX) + 50mA leonardo so we are still a bit better than using the Ethernet shield.

Could you recommend any other TCP/IP based (wired or wireless) lower power communication solution?

For those who have experience with the ethernet shield and wifi shields I would particularly like to know if multiple simoulteanous TCP connections are possible or NOT possible for them:

I would not have that many clients just 5-10 but they can connect any time to the Arduino to poll the data through telnet and they cannot be blocked by each other.

If I would be using a standard Raspberry PI with C code this would not be an issue, that would even handle hundreds of clients with socket server.

My other big concern here is exhaustion, I want this project to work roboustly through a long time, not that it runs out of handles, sockets or it just crashes at a point.

All suggestions are welcome!

For those who have experience with the ethernet shield and wifi shields I would particularly like to know if multiple simoulteanous TCP connections are possible or NOT possible for them:

The WizNet5100 can handle up to 4 simultaneous socket connections.

would not have that many clients just 5-10

You should consider using a in-between service to handle all clients.

The latest Arduino Ethernet Shield on the market. As my research shows the power consumption of this board is quite a lot, 150mA so coupled with a Leonardo = 200mA constant current draw.

Low power consumption is usually not a priority with cable bound applications. Please specify why power consumption is a problem in your case.

EthernetServer can handle only one client at time. The client must disconnect or be stopped before next client can connect

EthernetServer can handle only one client at time. The client must disconnect or be stopped before next client can connect

This is not true. It handles up to MAX_SOCK_NUM connections which can be open simultaneously. But in the end every single core processor can only handle one client at any given time. But it can have up to 4 connections open for the WizNet5100.

pylon:
This is not true. It handles up to MAX_SOCK_NUM connections which can be open simultaneously. But in the end every single core processor can only handle one client at any given time. But it can have up to 4 connections open for the WizNet5100.

how handle second telnet client connecting to EthernetServer on port 23?

Juraj:
how handle second telnet client connecting to EthernetServer on port 23?

sor

Juraj:
how handle second telnet client connecting to EthernetServer on port 23?

sorry, I remembered that the new version of Ethernet library has accept() method, which allows handling multiple clients