メインコンテンツ

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

風冷指数を計算してチャネルを更新する

この例では、パブリックチャネルからデータを読み取り、データを解析し、定期的にコードを実行するようにスケジュールする方法を示します。この例では、MATLAB Analysis アプリと MATLAB Visualizations アプリによって提供されるコード テンプレートの 1 つを変更します。この例では、マサチューセッツ州ネイティックの Arduino ベースの気象観測所から温度と風速を収集する ThingSpeak チャネル12397 のデータを使用して風冷指数を計算します。

チャネルを作成する

ThingSpeak にサインインしてプライベートチャネルを作成し、気温、風速、風冷指数を記録してプロットします。Channels タブに移動し、 My Channels を選択します。新しいチャネルをクリックします。対応するチェックボックスを選択し、次のチャネル設定値を入力します。

  • 名前 — Wind Chill Measurement

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

  • フィールド2 — Wind Speed (mph)

  • フィールド3 — Wind Chill (F)

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

データの解析と書き込み

パブリックチャネルからのデータを解析してプライベートチャネルに書き込むには、コード テンプレートを使用して MATLAB ® スクリプトを作成します。ナティックの気象観測所は気象関連のデータを収集し、その結果をパブリック ThingSpeakチャネルに送信します。ライブ気象観測所のデータにアクセスして風冷指数を計算し、自動的にグラフ化することができます。

1) Appsタブに移動し、MATLAB Analysisを選択します。新規をクリックし、風冷指数を計算してチャネルを更新するオプションを選択して、作成をクリックします。

2) MATLAB コード フィールドには、データを解析して書き込むためのコードが事前に入力されています。writeChIDwriteAPIKey の指定された値を、自分のチャネル設定に置き換えます。ページの右側にある チャネル情報 パネルの下に、チャネルID と API キーが記載されています。

readChID = 12397;
% Replace the following with your channel ID.
writeChID = 17504;
% Enter your write API key between the ''.
writeAPIKey = '23ZLGOBBU9TWHG2H';

3) thingSpeakRead 関数を使用して、気象観測所チャネルのフィールド 4 と 2 から最新の気温と風速の読み取り値を取得します。この関数はタイムスタンプも記録します。

[temp,time] = thingSpeakRead(readChID,'Fields',4);
windSpeed = thingSpeakRead(readChID,'Fields',2);

4)体感温度を計算して表示します。風冷指数は、風が人間の皮膚に与える冷却効果を考慮した気温の尺度です。この措置は、気温が華氏50度未満で、風速が時速3マイルを超える場合にのみ有効です。この例では、National Weather Serviceの公式を使用して風冷指数を計算します。

windChill = 35.74 + (0.06215*temp) - (35.75*windSpeed^0.16) + (0.4275*temp*windSpeed^0.16);
display(windChill,'Wind Chill');
   39.9372

5) 2 つの測定値と計算値をプライベート ThingSpeakチャネルのフィールド 1、2、3 に書き込みます。

thingSpeakWrite(writeChID,[temp,windSpeed,windChill],'Fields',[1,2,3],...
'TimeStamps',time,'WriteKey',writeAPIKey);

6) [保存して実行] をクリックしてコードを実行します。ThingSpeakチャネルの 3 つのチャートのそれぞれに 1 つのポイントが入力されます。ページの右側にある チャネル情報 パネルのチャネルリンクをクリックすると、チャネルにアクセスできます。

スケジュールコード

TimeControl アプリを使用すると、コードを定期的に実行するように設定できます。定期的にコードを実行すると、ThingSpeakチャネルに時間の経過に伴う風冷指数の連続プロットが生成されます。

1) MATLAB コードのあるページで一番下までスクロールし、 TimeControl アプリの設定を開きます。

2) 新しいTimeControlに Wind Chill Control という名前を付けます。頻度定期的に設定し、繰り返しに設定します。毎分ドロップダウンリストで30を選択します。

3) アクションMATLAB Analysisに設定し、実行するコードCalculate wind chill and update channelに設定します。

4) [TimeControlを保存] をクリックします。

メモ: チャネルにデータを書き込むためのTimeControlを設定すると、ThingSpeak アカウントで利用可能なメッセージが使用されます。このアクションにより、最終的に利用可能なメッセージが使い果たされ、チャネルフィード更新が拒否される可能性があります。

ThingSpeakチャネルの 3 つのチャートは、30 分ごとに新しい風冷指数値で更新されます。

参考

関数

トピック