このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。
平均湿度を計算して表示する
この例では、チャネルからデータを読み取り、データを解析し、結果を表示する方法を示します。この例では、MATLAB Analysis アプリと MATLAB Visualizations アプリによって提供されるコード テンプレートの 1 つを変更します。この例では、マサチューセッツ州ネイティックにある Arduino ベースの気象観測所から気象データを収集する ThingSpeak チャネル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チャネルを作成するには、Channels タブに移動し、My Channels を選択します。新しいチャネルをクリックします。対応するチェックボックスを選択し、次のチャネル設定値を入力します。
名前 —
Average Humidity
フィールド 1 —
Humidity
チャネルを保存をクリックします。
2) MATLAB Code フィールドで、プライベートチャネルに書き込むための変数を設定します。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
出力 フィールドに標準偏差を含む更新された結果を表示するには、もう一度 保存して実行 をクリックします。