Я пытаюсь создать график зависимости времени от температуры.Значение температуры будет получено от брокера данных MQTT, который получает данные каждые 15 секунд.Я создал функцию для отображения полученного сообщения, однако данные MQTT извлекаются в виде строки, а не числового значения.Мне не удалось найти способ вывести данные, на которые я подписан, с сервера MQTT.
Ниже описана функция подписки с сервера MQTT.Я попытался использовать команду str2num для изменения данных, и это работает.Однако тогда я не могу использовать это значение для построения графика внутри функции, так как функция распознает только строковые аргументы.И я не могу получить команду plot вне функции, потому что сообщение извлекается только внутри функции.
% code to connect to an MQTT broker
myMQTT = mqtt('tcp://broker.hivemq.com');
%subscribe to a topic with QoS 0, and tell MATLAB to run myMQTT_Callback
%when a new value is published.
AvgTemp = subscribe(myMQTT,'Average Temperature','QoS',0,'Callback',@myMQTT_Callback);
% This function is automatically called by MATLAB until you close MATLAB,
% unsubscribe, or the connection times out.
function myMQTT_Callback(topic, msg)
fprintf('MQTT callback topic "%s": "%s"\n', topic, msg)
%
end