このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。
カスタマイズされたThingSpeakチャネルビューを作成する
この例では、ThingSpeakチャネルビューをライブ データ コンソールに変換する方法を示します。この例では、 The Things Networkを通じて収集された環境データを使用していますが、手順を独自のデータに適応させることもできます。ThingSpeak チャネル876466 は、土壌水分、温度、GPS 位置情報のセンサーを備えた 3 つのセンサー プローブからのデータを表示するパブリックチャネルです。例 The Things Network経由で農業データを収集する では、このチャネルにセンサー データを送信するデバイスの構築方法について詳しく説明しています。フィールド値表示を追加してカウンターを表示し、チャネルの場所マップを追加できます。時間依存の読み取りを使用してセンサー データをフィルター処理し、根本的な傾向を可視化しやすくします。最後に、チャネルデータを表す色とポイント領域を使用して、チャネル内の位置データのマップをプロットできます。

数値表示ウィジェットを追加する
このチャネルのフィールド 1 は、デバイスが稼働しており、測定値が増加していることを示すカウンター値です。チャネルビューにカウンターの最新値を表示すると、センサーのアクティビティをすぐに更新できます。プライベートチャネルビューの [ウィジェットを追加] ボタンを使用して、チャネルに 数値表示ウィジェット を追加できます。数値表示ウィジェットでフィールド値を表示するには、チャネルにデータが必要であることに注意してください。

チャネルロケーションマップを追加
チャネルの位置情報とチャネルデータの個々の更新を保存できます。この例では、まず、フィード データの位置情報とは異なるチャネルの場所マップを追加します。チャネルビューで チャネル設定 タブを選択します。
![]()
チャネルの場所を表示 を選択し、チャネルの場所の 緯度 と 経度 情報を入力します。

設定を更新するには、チャネルを保存をクリックします。
![]()
これで、プライベートチャネルビューとパブリック チャネル ビューの両方にチャネルマップが含まれるようになりました。

チャネル ビューに 2 つのシリーズのプロットを追加する
MATLAB Visualizations では、チャネルビューに表示されるデフォルトの ThingSpeak プロットと比較して、解析とプロットをより細かく制御できます。特定のライセンス タイプでは、可視化の自動更新も許可されます。時間としきい値の両方のフィルタリングを使用して、データの可視化を向上させることができます。この例では、温度と土壌水分の関係を可視化します。まず、チャネルビューの MATLAB Visualization ボタンをクリックします。

カスタム コード テンプレートを選択します。以下のコードを MATLAB コード ウィンドウに入力します。対象のデータは以前の実験からのものであるため、時間フィルタリングを使用してチャネルから古いデータを読み取ります。datetime で開始時刻と終了時刻を設定します。次に、thingSpeakRead を使用してデータを timetable に読み込みます。
startTime = datetime(2019,8,23,09,15,00); endTime= startTime+ days(2); sensorData = thingSpeakRead(876466,'Location',1,'dateRange',[startTime endTime],... 'location',1,'outputformat','timetable');
3 列目の温度データには、プロットする前に除外する必要がある不正な測定値がいくつかあります。温度の読み取り値が 100 より大きいすべての行を削除します。
sensorData(sensorData{:,3}>100,:)=[];さて、プロットを完成させましょう。hold を使用して、プロットが同じ図にあることを確認し、yyaxis を使用して、土壌水分を右軸にプロットします。わかりやすくするために、各側に ylabel を追加し、ylim でスケールを設定します。
plot (sensorData.Timestamps,sensorData.TemperatureF)
ylabel('^0F');
hold;Current plot held
yyaxis right plot(sensorData.Timestamps,sensorData.SoilMoisture); ylabel('Soil Conductivity'); ylim([700 900]); hold off;

土壌水分プローブは土壌の導電率を測定するため、湿度が高く導電率が高い測定値はプロット上の値が低くなります。この図は、気温が低いほど土壌の湿り気が高くなることを示しています。
チャネルビューで位置データを使用して測定値を可視化する
このチャネルでは、プロトタイプはセンサーの測定値とともに位置データを送信します。1 つの用途は、温度と湿度の測定で広い範囲を調査し、位置とともにデータを可視化することです。
前の例と同様に、チャネル ビューのボタンを使用して新しい MATLAB の可視化を追加します。thingSpeakRead を使用して最新のポイントを読み取り、goescatter を使用して位置データをプロットします。衛星地図データを選択するには、geobasemap を使用します。
mapData = thingSpeakRead(876466,'ReadKey','R14RSDIMCQHDW1A8','Location',... 1,'numpoints',37,'location',1,'outputformat','timetable'); geoscatter(mapData.Latitude,mapData.Longitude,'r'); geobasemap('satellite');

地図では位置をわかりやすく可視化しています。可視化を向上させるために、マップに温度と湿度のデータを含めます。測定装置をある場所から別の場所に移動すると、プローブを地中に再設置するまでは水分測定が不正確になる可能性があります。2 列目の土壌水分データから 500 未満の値を持つデータを削除します。次に、可視性に合わせてデータを再スケールします。水分データを goescatter 関数に追加して円のサイズを決定し、温度データを追加して色を決定します。円を塗りつぶすには、‘filled’ オプションを使用します。
mapData(mapData{:,2}<500,:)=[];
mapData.SoilMoisture=mapData.SoilMoisture-min(mapData.SoilMoisture)+1;
geoscatter(mapData.Latitude,mapData.Longitude,mapData.SoilMoisture,mapData.TemperatureF,'filled');
geobasemap('satellite');
建物の前のより暖かい場所の微妙な影響により、スプリンクラーがちょうど終わった右側を除いて、より乾燥した土壌を示すいくつかの小さな円が生じています。
保存した視覚エフェクトを、チャネルのパブリック ビューとプライベート ビューに追加できます。表示設定で、この可視化をチャネルに追加/編集するの横にあるプラス記号を使用して、チャネルリストを展開します。

可視化を追加するチャネルに対応するチェックボックスを選択します。プライベート ビジュアライゼーションを追加するには、プライベート ビュー を選択します。URL を共有し、可視化を Public View に追加するには、[Create a public URL] をクリックします。選択内容を更新するには、[表示設定を保存] をクリックします。
