このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。
ThingSpeak チャネルのデータの集約
この例では、ThingSpeak™ チャネルのデータを低い時間分解能で集約し、不規則性を除去する方法を説明します。データの不規則性は、イベント ドリブン検出、センサーの誤動作、ネットワーク レイテンシなど、いくつかの要因によって発生する可能性があります。
データの読み取り
ThingSpeak のチャネル 22641 には、ケープコッドのオックウェイ湾で 1 分ごとに測定された潮汐と天気のデータが含まれています。このチャネルの Field 2 には気温データが含まれています。関数 thingSpeakRead
を使用して、チャネル 22641 から過去 3 時間の気温データを読み取ります。
datetimeStop = dateshift(datetime('now'),'start','hour'); datetimeStart = dateshift(datetime('now'),'start','hour') - hours(3); data = thingSpeakRead(22641,'DateRange',[datetimeStart,datetimeStop],... 'Fields',2,'outputFormat','timetable');
データの集約
データは 1 分ごとに測定されています。ただし、測定システムに関連するネットワーク レイテンシにより、実際のタイムスタンプの間隔は 1 分より大きかったり小さかったりします。さらに、ここで扱う用途には、1 分ごとに測定されるデータの頻度は高いものとなっています。1 時間ごとの時間分解能によるデータで十分です。関数 retime
を使用して、1 時間ごとのデータを 1 つの値に集約できます。時間ごとの最大値を使用してデータを集約できます。
dataHourly = retime(data,'hourly','max');
ThingSpeak へのデータの送信
関数 thingSpeakWrite
を使用して、ThingSpeak チャネルに集約したデータを送信します。
% Change the Channel ID and the '<write API key>' to send data to your channel thingSpeakWrite(<channelID>,chirpData,'WriteKey','<write API key>');