このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。
高温と低温の計算
この例では、データを読み取り、特定の要素を識別し、結果を表示する方法を示します。この例では、 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) max
とmin
を使用して、最高温度と最低温度を華氏で計算します。次に、対応するタイムスタンプを特定し、結果を表示します。
[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) 次の行のコメントを解除して、最大温度測定値をチャネルに書き込みます。最小温度値を保存するには、 maxTempF
をminTempF
に変更します。
% thingSpeakWrite(writeChannelID,maxTempF,'timestamp',timeMaxTemp,'Writekey',writeAPIKey);
4) 「保存して実行」をクリックしてコードを実行します。ThingSpeakチャネルのグラフには、記録時の最大温度測定値を表す 1 つの点が入力されます。ページの右側にある「チャネル情報」パネルのチャネルリンクをクリックすると、チャネルにアクセスできます。
参考
関数
thingSpeakRead
|thingSpeakWrite
|max
(MATLAB) |min
(MATLAB)