This example shows you how you can use MATLAB to broadcast UDP messages to one or more devices on a subnet. This example has an Arduino® blink an LED when it gets a specific UDP broadcast message from MATLAB on the ethernet. The Arduino, connected to the network using an ethernet shield, is programmed to respond back with an acknowledgement message which is received by MATLAB and displayed to the user. The Arduino code can be downloaded on any number of Arduinos with a modification to have different MAC addresses for each Arduino. The MATLAB code needs no modification or a priori knowledge of the number of Arduinos to be able to control them, or receive acknowledgement messages from them. If you have other applications also looking for UDP broadcast messages, these applications will also see the broadcast message from MATLAB or the Arduino.
The concept in this example can be extended to have MATLAB send data to control multiple actuators on the same network and/or receive data from multiple sensors on a network, without having a priori knowledge of the sensors and actuators on the network.
For this example to work, your network switch/router needs to allow UDP broadcast messages. Additionally, your Arduinos will need to be on the same subnet as the computer running MATLAB to receive the broadcast messages.
Vinod (2020). UDP broadcasting from MATLAB (https://www.mathworks.com/matlabcentral/fileexchange/59156-udp-broadcasting-from-matlab), MATLAB Central File Exchange. Retrieved .