このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。
平均湿度を計算して表示
この例では、チャネルからデータを読み取り、データを分析し、結果を表示する方法を示します。この例では、 MATLAB AnalysisアプリとMATLAB Visualizationsアプリによって提供されるコード テンプレートの 1 つを変更します。この例では、マサチューセッツ州ナティックにある Arduino ベースの気象観測所から気象データを収集するThingSpeak channel 12397からのデータを使用します。
テンプレート コードからMATLAB Analysisスクリプトを作成する
ThingSpeakチャネルからのデータ セットの平均を計算するには、コード テンプレートを使用してMATLAB®スクリプトを作成します。
ThingSpeakのAppsタブに移動し、MATLAB Analysisを選択します。「新規」をクリックし、「平均湿度を計算して表示」を選択し、「作成」をクリックします。
データを分析する
「MATLABコード」フィールドには、湿度を計算して表示するコードが事前に入力されています。
1) ThingSpeakと通信するための変数を設定します。 readChannelID
は、気象観測所からデータを収集するパブリックチャネルのチャネルID です。 humidityFieldID
は、湿度値を含むチャネル内のフィールドです。プライベートチャネルからデータを読み取る場合にのみ、値を readAPIkey に割り当てます。気象観測所は公開されているため、この例では readAPIkey を設定しないでください。
readChannelID = 12397;
humidityFieldID = 3;
readAPIKey = '';
2) thingSpeakRead
関数を使用して、過去 60 分間の湿度値を読み取ります。
humidity = thingSpeakRead(readChannelID,'Fields',humidityFieldID,'NumMinutes',60,'ReadKey',readAPIKey);
3) 過去 60 分間の平均湿度を計算して表示します。
avgHumidity = mean(humidity);
display(avgHumidity,'Average Humidity');
17.8644
4) 「保存して実行」をクリックしてコードを実行します。「出力」フィールドに結果が表示されます。
データをチャネルに書き込む
1) 計算された平均湿度をプライベートチャネルに書き込むことで保存します。ThingSpeakチャネルを作成するには、チャネル タブに移動し、 マイチャネル を選択します。「新しいチャネル」をクリックします。対応するチェック ボックスを選択し、次のチャネル設定値を入力します。
名前 —
Average Humidity
フィールド 1 —
Humidity
「チャネルを保存」をクリックします。
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) 平均湿度をチャネルに書き込みます。
thingSpeakWrite(writeChannelID,avgHumidity,'writekey',writeAPIKey);
4) 「保存して実行」をクリックしてコードを実行します。ThingSpeakチャネルのグラフには、平均湿度を表す 1 つの点が入力されます。ページの右側にある「チャネル情報」パネルのチャネルリンクをクリックすると、チャネルにアクセスできます。
5) 数分後にもう一度「保存して実行」をクリックし、別のデータポイントでチャネルを更新します。TimeControlアプリを使用して、コードを定期的に実行できます。
標準偏差の計算
テンプレートにコードを追加して、湿度データのさらなる分析を実行できます。たとえば、標準偏差は平均とともに計算されることがよくあります。標準偏差は、一連のデータの変動の尺度です。過去 60 分間の湿度の標準偏差を計算して表示します。このセクションはコード テンプレートには含まれていません。気象観測所のチャネルからhumidity
を読み取った後、コードにこれを含めることができます。
stdHumidity = std(humidity);
display(stdHumidity,'Standard Deviation of Humidity')
0.8602
標準偏差とともに更新された結果を「出力」フィールドに表示するには、「保存して実行」を再度クリックします。