Multiple Arduinos in one Network

Greetings! I need help on how I can monitor 18 arduinos. I will give you a brief context on my application.
I am pretending to control warning lights in a work station. Each worker will have a remote control when they detect an anomaly in the station, they will press a button corresponding to each light (4 lights) and an RF receiver configured with an arduino will turn on the light. In total there are 18 stations.
I need to monitor these 18 stations, since I need to see which lights are turned on, downtimes due to the anomaly etc.
My idea is to use WIFI with this, however, I am having trouble designing the network. The best approach is IoT, creating a web server where I can receive the data from all of the Arduinos, but I don´t know which WIFI module I can use to achieve this. Also, I don´t know if I need to have one master to receive the data from the 18 arduinos, and that master sends the information to the web server.

I will appreciate very much your help.

Best regards!

Sorry, your description does not make a lot of sense. Could you please clarify a few things?

  • Why do you pretend?
  • What is a work station and what does it do?
  • Why do workers have remotes?
  • Are they walking around and how is the remote to know what work station is affected?
  • Do you need a human to detect anomalies?
  • Why do you switch on lights, if you send the information to a server?

The best approach is IoT

IoT means Internet of Things. You are talking about humans pushing buttons.

Regarding WiFi, there are multiple options available for WiFi. For instance the Arduino Nano 33 IoT has a WiFi module integrated.

Once you have a WiFi there is no need for masters. A WiFi enabled Arduino can send information around the entire planet using the TCP/IP protocol. On top of that you can use many different protocols for your application. For instance MQTT is a protocol developed for sensors. It can be used to send small packets of information about sensors or status of machines to a inhouse applications as well as cloud solutions.

  1. The purpose is to have an alert system.
  2. A work station (in my case) is a station from an assembly line.
  3. They have remotes to indicate when they detect an anomaly, by pushing a button.
  4. Each remote works with RF,configured for each arduino on the stations.
  5. Yes, workers detect anomalies.
  6. Better visualization, for supervisors to know which station is affected when they are walking around.

OK, that make sense.

Have a look at WiFi and MQTT both are supported by Arduino and the rest of the world. You can start playing around with this immediately with your PC.

In MQTT you have a message broker. That is a software that will receive all messages (publish) and you can request messages from applications to be send to you (subscribe). I have mosquitto running on a Raspberry Pi but you can install one on a Window computer for some experiments without any costs.

Then you can use Eclipse Paho program to start sending and receiving messages. You can use this tool during development to send/receive test messages.

Your workstations have power so you can use WiFi. You cannot run WiFi from a battery, even if it is only short messages.
MQTT runs on top of TCP/IP. That means you can distribute your solution to anywhere in the world. You can have a server in the same room, in your company building or use the cloud.

Sending a MQTT message is very simple. I used the ArduinoMqttClient Library for Arduino. The examples are very easy to understand. The WiFiSimpleSender.ino has 100 lines and most of them are comments and prints.

The MQTT messages can then be used to store data in a database and display the data on a webpage, send warning emails to management .... I use node-red as a interface and influxdb as a time series data base. One MQTT message is about 100 bytes, so you can easily send one message per second to update the status of the workstation and create graphs for hours, day, weeks, month or years.

You might want to use a cloud solution, they have this all set up for you.

1 Like

Wow! That´s totally new for me. I will have a look on that, thank you very much.

Please let me know if you have any other suggestion.

"Please let me know if you have any other suggestion"

I've never worked with the arduino wifi boards, but in the past I've made some simple web pages that requested data from an Arduino configured as a web server. A very simple approach would be a basic web page that has 18 metta refreshing iframe boxes that would query the 18 Arduino web servers and display the returned the server info status to the self refreshing iframes in the web page. Have a good wifi router in the machine area that the wifi arduinos connect to. Then a wifi computer or cell phone logged into the router could observe the machine status.