ThingSpeak의 오류 값

6130 단어 Thingspeakmatlab
기압계 모듈의 BMP180 데이터을 13만 건 정도 보냈는데 2건 에러가 있어, 최고 최저 기온의 플러프가 이상해졌습니다.
2019-10-07 10:57:20 JST,129382,-196.9,476.54,,,,
2019-10-07 13:13:05 JST,129848,-83.5,722.24,,,,

기온이 -196.9와 -83.5가 되어 버리고 있습니다.



ThingSpeak는 부분적으로 데이터를 삭제할 수 없으므로 MATLAB에서 처리하는 방법을 살펴 보았습니다.

우선 기온의 데이터가 마이너스인 경우 NaN으로 해 데이터를 무효화해 보았습니다.
% Last week max and min temputure

readChannelID = ;
readAPIKey = "";

day = datetime('now') - 14;
disp(day);

% startdaystr = "Sep 22, 2019 00:00:00";
% enddaystr = "Sep 23, 2019 00:00:00";

for c = 1:14

    startdaystr = datestr(day,'mmm dd, yyyy 00:00:00');
    enddaystr = datestr(day + 1,'mmm dd, yyyy 00:00:00');
    [a,b] = thingSpeakRead(readChannelID, 'ReadKey', readAPIKey, 'Fields',1,'DateRange', [datetime(startdaystr),datetime(enddaystr)]);

    a(a < 0) = NaN;
    [m, n] = max(a);
    [x, y] = min(a);

    %disp(m);

    t(c) = day;
    vmax(c) = m - x
    vmin(c) = x
    day = day + 1
end

C = vertcat(vmin, vmax);

H = bar(t, C, 'stacked');

set(H(1),{'FaceColor'},{[1 1 1]});
set(H(1),{'EdgeColor'},{[1 1 1]});
set(H(1),{'LineWidth'},{1});

이렇게 되었습니다.



이 스크립트에는 마이너스가 되었을 때 제대로 움직이지 않는 버그도 있는 것 같습니다.

좋은 웹페이지 즐겨찾기