Matlab: получить API и сохранить в сокете связь между шлюзом и компьютером - PullRequest
0 голосов
/ 12 марта 2019

У меня есть система, которая состоит из двух приемников, каждый из которых подключен к шлюзу. Эти шлюзы со своим IP-адресом обновляют вывод несколько раз в секунду, в идеальном сценарии 10 раз в секунду Выводы выглядят так: Я хочу извлечь выделенную информацию из полученного API и сохранить ее

Я использую следующий цикл в Matlab, но проблема в том, что освобождение занимает больше времени, чем шлюзы обновляют URL, и мы теряем много важной информации.

options = weboptions('RequestMethod','get');
rssi_beacons_1 = [];
loop = 1;

while loop  == 1
    % Antenna-a
    url = 'http://xxx.xxx.x.103/api/beacons/';
    data = webread(url,'rssimin',-80,'rssimax',50,options);

    if (isempty(data.beacons))
        rssi1_a = -80;
    else
        rssi1_a = data.beacons.rssi;
    end

    rssi_beacons_1 = [rssi_beacons_1, rssi1_a];

    % Antenna-b
    url = 'http://xxx.xxx.x.100/api/beacons/';
    data1_b = webread(url,'rssimin',-80,'rssimax',50,options);

    if (isempty(data.beacons))
        rssi1_b = -80;
    else
        rssi1_b = data1_b.beacons.rssi;
    end

    store received rssi [dB]
    rssi_beacons_1 = [rssi_beacons_1,[rssi1_a;rssi1_b]];

end

Можно ли установить канал связи между шлюзами и Matlab таким образом, чтобы шлюзы передавали эти пакеты в matlab при каждом обновлении? и если да, то как я могу это сделать? Обновления происходят каждые 0,1 секунды на каждом из шлюзов. Я хочу сохранить выходы двух шлюзов параллельно для сравнения.

...