mirror of
https://git.rwth-aachen.de/acs/public/villas/node/
synced 2025-03-30 00:00:11 +01:00
clients: add simple MATLAB script to receive raw data via UDP
This commit is contained in:
parent
ab41fb657d
commit
95bc23d362
2 changed files with 92 additions and 0 deletions
60
clients/matlab/receiver.m
Normal file
60
clients/matlab/receiver.m
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
% Simple MATLAB code to receive VILLAS UDP samples
|
||||||
|
%
|
||||||
|
% @author Megha Gupta <meghagupta1191@gmail.com>
|
||||||
|
% @author Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
|
||||||
|
% @copyright 2018, Institute for Automation of Complex Power Systems, EONERC
|
||||||
|
% @license GNU General Public License (version 3)
|
||||||
|
%
|
||||||
|
% VILLASnode
|
||||||
|
%
|
||||||
|
% This program is free software: you can redistribute it and/or modify
|
||||||
|
% it under the terms of the GNU General Public License as published by
|
||||||
|
% the Free Software Foundation, either version 3 of the License, or
|
||||||
|
% any later version.
|
||||||
|
%
|
||||||
|
% This program is distributed in the hope that it will be useful,
|
||||||
|
% but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
% GNU General Public License for more details.
|
||||||
|
%
|
||||||
|
% You should have received a copy of the GNU General Public License
|
||||||
|
% along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
close all;
|
||||||
|
clear all;
|
||||||
|
clc;
|
||||||
|
|
||||||
|
% Configuration and connection
|
||||||
|
t = udp('127.0.0.1', ...
|
||||||
|
'LocalPort', 12000, ...
|
||||||
|
'RemotePort', 12001, ...
|
||||||
|
'Timeout', 60, ...
|
||||||
|
'DatagramTerminateMode', 'on' ...
|
||||||
|
);
|
||||||
|
disp('UDP Receiver started');
|
||||||
|
|
||||||
|
fopen(t);
|
||||||
|
disp('UDP Socket bound');
|
||||||
|
|
||||||
|
num_values = 5;
|
||||||
|
num_samples = 500;
|
||||||
|
|
||||||
|
data = zeros(num_values, num_samples);
|
||||||
|
i = 1;
|
||||||
|
|
||||||
|
disp('Receiving data');
|
||||||
|
while i < num_samples
|
||||||
|
% Wait for connection
|
||||||
|
% Read data from the socket
|
||||||
|
|
||||||
|
[ dat, count ] = fread(t, num_values, 'float32');
|
||||||
|
|
||||||
|
data(:,i) = dat;
|
||||||
|
i = i + 1;
|
||||||
|
end
|
||||||
|
|
||||||
|
plot(data');
|
||||||
|
|
||||||
|
fclose(t);
|
||||||
|
delete(t);
|
32
clients/matlab/villas.conf
Normal file
32
clients/matlab/villas.conf
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
nodes = {
|
||||||
|
signal = {
|
||||||
|
type = "signal",
|
||||||
|
signal = "mixed"
|
||||||
|
values = 5
|
||||||
|
rate = 100
|
||||||
|
},
|
||||||
|
matlab = {
|
||||||
|
type = "socket",
|
||||||
|
layer = "udp",
|
||||||
|
format = "raw.32.be"
|
||||||
|
|
||||||
|
in = {
|
||||||
|
address = "*:12001"
|
||||||
|
},
|
||||||
|
out = {
|
||||||
|
address = "134.61.142.128:12000"
|
||||||
|
|
||||||
|
signals = {
|
||||||
|
count = 5,
|
||||||
|
type = "float"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
paths = (
|
||||||
|
{
|
||||||
|
in = "signal"
|
||||||
|
out = "matlab"
|
||||||
|
}
|
||||||
|
)
|
Loading…
Add table
Reference in a new issue