Main Content

このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。

高温と低温の計算

この例では、データを読み取り、特定の要素を識別し、結果を表示する方法を示します。この例では、 MATLAB AnalysisアプリとMATLAB Visualizationsアプリによって提供されるコード テンプレートの 1 つを変更します。この例では、マサチューセッツ州ナティックにある Arduino® ベースの気象観測所から気象データを収集するThingSpeak channel 12397のデータを使用します。

テンプレート コードからMATLAB Analysisスクリプトを作成する

Natick 気象観測所から毎日の最高気温と最低気温を計算するには、提供されているコード テンプレートを使用してMATLAB®スクリプトを作成します。

ThingSpeakのAppsタブに移動し、MATLAB Analysisを選択します。「新規」をクリックし、「高温と低温の計算」を選択して、「作成」をクリックします。

データを分析する

「MATLABコード」フィールドには、過去 24 時間の最高温度と最低温度を計算するコードが事前に入力されています。

1) ThingSpeakと通信するための変数を設定します。readChannelID は、気象観測所からデータを収集するパブリックチャネルのチャネルID です。temperatureFieldID は、温度値を含むチャネル内のフィールドです。プライベートチャネルからデータを読み取る場合にのみ、値を readAPIkey に割り当てます。気象観測所は公開されているため、この例では readAPIkey を設定しないでください。

readChannelID = 12397;
temperatureFieldID = 4; 
readAPIKey = '';

2) thingSpeakRead関数を使用して、過去 24 時間の温度値を読み取ります。

[tempF,timeStamp] = thingSpeakRead(readChannelID,'Fields',temperatureFieldID,'numDays',1,'ReadKey',readAPIKey);

3) maxminを使用して、最高温度と最低温度を華氏で計算します。次に、対応するタイムスタンプを特定し、結果を表示します。

[maxTempF,maxTempIndex] = max(tempF);
[minTempF,minTempIndex] = min(tempF);

timeMaxTemp = timeStamp(maxTempIndex);
timeMinTemp = timeStamp(minTempIndex);

display(maxTempF,'Maximum temperature for the past 24 hours is');
   102
display(minTempF,'Minimum temperature for the past 24 hours is');
    81

4) 「保存して実行」をクリックしてコードを実行します。「出力」フィールドに結果が表示されます。

データをチャネルに書き込む

1) 最高温度または最低温度の計算結果をプライベートチャネルに書き込んで保存します。ThingSpeakチャネルを作成するには、チャネル タブに移動し、 マイチャネル を選択します。「新しいチャネル」をクリックします。対応するチェックボックスを選択し、次のチャネル設定値を入力します。

  • 名前 — Temperature Measurement

  • フィールド 1 — Temperature (F)

「チャネルを保存」をクリックします。

2) [MATLABコード] フィールドで、プライベートチャネルに書き込むための変数を設定します。writeChannelIDおよびwriteAPIKeyに指定された値を実際の値に置き換えます。ページの右側にある「チャネル情報」パネルでチャネルID を見つけて API キーを書き込むことができます。

% Replace with the ID of the channel to write data to.
writeChannelID = 17504;
% Enter the write API key between the ''.
writeAPIKey = '23ZLGOBBU9TWHG2H';

3) 次の行のコメントを解除して、最大温度測定値をチャネルに書き込みます。最小温度値を保存するには、 maxTempFminTempFに変更します。

% thingSpeakWrite(writeChannelID,maxTempF,'timestamp',timeMaxTemp,'Writekey',writeAPIKey);

4) 「保存して実行」をクリックしてコードを実行します。ThingSpeakチャネルのグラフには、記録時の最大温度測定値を表す 1 つの点が入力されます。ページの右側にある「チャネル情報」パネルのチャネルリンクをクリックすると、チャネルにアクセスできます。

参考

関数

関連する例

詳細