このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。
データのピーク解析
この例では、 ThingSpeak™チャネル内のデータの基本的なピーク分析を実行する方法を示します。データのピークを計算する方法について学びます。
自動車カウンターの ThingSpeak チャネルからデータを読み取る
車カウンターThingSpeakチャネルは、 Raspberry Pi™ と Web カメラを使用して、混雑した高速道路上の車を数えます。車を数えるアルゴリズムが Raspberry Pi 上で実行されており、15 秒ごとに計数された車の密度がThingSpeakに送信されます。関数 thingSpeakRead
を使用し、東方向の交通について、直近の 60 のデータ点をチャネル 38629 から読み取ります。
data = thingSpeakRead(38629,'NumPoints',60,'Fields',1,'outputFormat','table');
ピークの検索
高速道路は、しばしばラッシュ アワーの交通や交通事故のために渋滞します。したがって、高速道路での交通のバックアップは、15 秒ごとにカウントされる車の密度のピークによって示されます。ドライバーの一般的なルールは、前の車に対して 3 秒ルールに従うことです。過去 60 個のデータ ポイントで、自動車の密度が 1 秒あたり 15 台を超えた回数を計算します。
[peakValues, peakLocations] = findpeaks(data.DensityOfWestboundCars,data.Timestamps,'MinPeakHeight',10);
numOccurences = length(peakValues);
disp(numOccurences);
11
ThingSpeak へのピーク出現回数の送信
numOccurences
関数を使用して、 thingSpeakWrite
値をThingSpeakチャネルに送信します。データをチャネルに送信するには、channelID
とwriteAPIKey
を変更します。
channelID=17504; writeAPIKey='23ZLGOBBU9TWHG2H'; thingSpeakWrite(channelID,numOccurences,'WriteKey',writeAPIKey);
参考
関数
thingSpeakWrite
|findpeaks
(Signal Processing Toolbox) |thingSpeakRead