Main Content

thingSpeakRead

ThingSpeak チャネルに格納されたデータの読み取り

説明

data = thingSpeakRead(channelID) は、ThingSpeak.com の指定されたパブリック チャネルのすべてのフィールドから最新のデータを読み取り、データを数値型として返します。

data = thingSpeakRead(channelID,Name=Value) は、1 つ以上の Name=Value のペアの引数によって指定された追加オプションを使用します。非数値データを読み取るには、'OutputFormat' を指定しなければなりません。

data = thingSpeakRead(___,ReadKey='channel Read API key') は、ThingSpeak™ の API 読み取りキーを使用してプライベート チャネルから読み取ります。

[data,timestamps] = thingSpeakRead(___) は、ThingSpeak.com の指定されたチャネルからタイムスタンプも返します。前述の構文の任意の入力引数を含めることができます。

[data,timestamps,channelInfo] = thingSpeakRead(___) は、チャネル情報も返します。

すべて折りたたむ

パブリック チャネルのフィールド 1 と 4 の過去 3 つの点のデータを読み取り、timetable の形式でデータを返します。

data = thingSpeakRead(12397,'Fields',[1,4],NumPoints=3,OutputFormat='TimeTable')
data =

  3×2 timetable

         Timestamps         WindDirectionNorth0Degrees    TemperatureF
    ____________________    __________________________    ____________
    18-Nov-2021 13:42:57                34                    70.4    
    18-Nov-2021 13:43:57                50                    70.4    
    18-Nov-2021 13:44:57                54                    70.6

パブリック チャネルのフィールド 1 と 4 の過去 5 分間のデータを読み取り、table の形式でデータを返します。

data = thingSpeakRead(12397,Fields=[1,4],NumMinutes=5,OutputFormat='TimeTable')
data =

  11×2 timetable

         Timestamps         WindDirectionNorth0Degrees    TemperatureF
    ____________________    __________________________    ____________

    18-Nov-2021 13:34:57                38                    70.6    
    18-Nov-2021 13:35:57                42                    70.6    
    18-Nov-2021 13:36:57                41                    70.6    
    18-Nov-2021 13:37:57                46                    70.8    
    18-Nov-2021 13:38:57                44                    70.8    
    18-Nov-2021 13:39:57                37                    70.8    
    18-Nov-2021 13:40:57                42                    70.6    
    18-Nov-2021 13:41:57                43                    70.4    
    18-Nov-2021 13:42:57                34                    70.4    
    18-Nov-2021 13:43:57                50                    70.4    
    18-Nov-2021 13:44:57                54                    70.6    
    18-Nov-2021 13:45:57                52                    70.

パブリック チャネルのすべてのフィールドの最新の結果をタイムスタンプも含めて読み取ります。

[data,timestamps] = thingSpeakRead(12397)
data =
   52.0000    7.6000   58.0000   70.8000         0   29.6700    4.1360         0


timestamps = 

  datetime

   18-Nov-2021 13:45:57

パブリック チャネルのフィールド 1 と 4 の過去 5 分間のデータをタイムスタンプおよびチャネル情報も含めて読み取ります。

[data,timestamps,channelInfo] = thingSpeakRead(12397,Fields=[1,4],NumMinutes=5)
data =

   41.0000   70.6000
   46.0000   70.8000
   44.0000   70.8000
   37.0000   70.8000
   42.0000   70.6000
   43.0000   70.4000
   34.0000   70.4000
   50.0000   70.4000
   54.0000   70.6000
   52.0000   70.8000
   39.0000   71.0000


timestamps = 

  11×1 datetime array

   18-Nov-2021 13:36:57
   18-Nov-2021 13:37:57
   18-Nov-2021 13:38:57
   18-Nov-2021 13:39:57
   18-Nov-2021 13:40:57
   18-Nov-2021 13:41:57
   18-Nov-2021 13:42:57
   18-Nov-2021 13:43:57
   18-Nov-2021 13:44:57
   18-Nov-2021 13:45:57
   18-Nov-2021 13:46:57


channelInfo = 

  struct with fields:

            ChannelID: 12397
                 Name: 'WeatherStation'
          Description: 'MathWorks Weather Station, West Garage, Natick, MA 01760, USA'
             Latitude: 42.2997
            Longitude: -71.3505
             Altitude: 60
              Created: 20-May-2014 17:50:32
              Updated: 18-Nov-2021 13:40:31
          LastEntryID: 3638608
    FieldDescriptions: {1×8 cell}
             FieldIDs: [1 2 3 4 5 6 7 8]
                  URL: 'https://api.thingspeak.com/channels/12397/feed.json?'

パブリック チャネルのフィールド 1 と 4 の 2018 年 8 月 9 日 11:59:01 から 2018 年 8 月 10 日 12:02:52 までのデータをタイムスタンプおよびチャネル情報も含めて読み取ります。

[data,timestamps,channelInfo] = thingSpeakRead(12397,Fields=[1 4],...
    DateRange=[datetime(2018,8,9,23,59,01),datetime(2018,8,10,0,02,52)])
data =

  202.0000   83.3000
  184.0000   83.2000
  185.0000   83.1000
  155.0000   83.1000


timestamps = 

  4×1 datetime array

   09-Aug-2018 23:59:17
   10-Aug-2018 00:00:20
   10-Aug-2018 00:01:21
   10-Aug-2018 00:02:22


channelInfo = 

  struct with fields:

            ChannelID: 12397
                 Name: 'WeatherStation'
          Description: 'MathWorks Weather Station, West Garage, Natick, MA 01760, USA'
             Latitude: 42.2997
            Longitude: -71.3505
             Altitude: 60
              Created: 20-May-2014 17:50:32
              Updated: 14-May-2020 10:31:40
          LastEntryID: 2853000
    FieldDescriptions: {'Wind Direction (North = 0 degrees)'  'Wind Speed (mph)'  '% Humidity'  'Temperature (F)'  'Rain (Inches/minute)'  'Pressure ("Hg)'  'Power Level (V)'  'Light Intensity'}
             FieldIDs: [1 2 3 4 5 6 7 8]
                  URL: 'https://api.thingspeak.com/channels/12397/feed.json?'

入力引数

すべて折りたたむ

チャネルの識別番号。正の整数として指定します。プライベート チャネルについては、ReadKey 引数も指定しなければなりません。

データ型: double

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name を引用符で囲みます。

例: thingSpeakRead(12397,Location=true); thingSpeakRead(12397,'Location',true);

収集されたデータを返す時間範囲。'DateRange'[startdate,enddate] の値 (MATLAB®datetimeの値) の配列で構成される名前と値のペアとして指定します。ThingSpeak サーバーでは、返す点の数が最大 8000 に制限されます。8000 を超えないように範囲を調整するか、それよりも多くの点のデータが必要な場合は呼び出しを複数回に分けて行ってください。

メモ

DateRangeNumDays または NumMinutes と一緒に使用することはできません。

例: thingSpeakRead(12397,DateRange=[datetime('Aug 8, 2014'),datetime('Aug 12, 2014')]);

チャネル フィールドの ID。Fields とデータを取得するチャネル フィールドの ID の数値で構成される名前と値のペアとして指定します。

例: thingSpeakRead(12397,Fields=[1,3,4]);

チャネルのデータの位置情報を表示するかどうかを決めるインジケーター。Location と論理値で構成される名前と値のペアとして指定します。位置情報には、緯度、経度、高度が含まれます。

例: thingSpeakRead(12397,Location=true);

データを抽出する日数。'NumDays' と数値で構成される名前と値のペアとして指定します。日数は 24 時間周期で測定されます。ThingSpeak サーバーでは、返す点の数が最大 8000 に制限されます。8000 を超えないように日数を調整するか、それよりも多くの点のデータが必要な場合は呼び出しを複数回に分けて行ってください。

メモ

NumDaysDateRange または NumMinutes と一緒に使用することはできません。

例: thingSpeakRead(12397,NumDays=2);

データを抽出する分数。'NumMinutes' と数値で構成される名前と値のペアとして指定します。データを取得する分数は、コマンドが発行された時点から測定されます。ThingSpeak サーバーでは、返す点の数が最大 8000 に制限されます。8000 を超えないように分数を調整するか、それよりも多くの点のデータが必要な場合は呼び出しを複数回に分けて行ってください。

メモ

NumMinutesDateRange または NumDays と一緒に使用することはできません。

例: thingSpeakRead(12397,NumMinutes=20);

データ型: double

抽出するデータ点の数。'NumPoints' と数値で構成される名前と値のペアとして指定します。データの点または行の数は、コマンドが発行された時点からカウントされます。ThingSpeak サーバーでは、返す点の数が最大 8000 に制限されます。

例: thingSpeakRead(12397,NumPoints=200);

出力データのクラス。'OutputFormat' とテキスト値で構成されるコンマ区切りのペアとして指定します。有効な値は 'matrix''table'、および 'timetable' です。数値データには 'matrix' 形式を使用します。非数値データには 'timetable' または 'table' を使用できます。'table' 形式で出力される [data,channelInfo]data には、タイムスタンプとチャネルのフィールドからのデータが格納されます。'timetable' 形式で出力される [data,channelInfo]data には、要求した 'fields' と同じ数の変数が timetable の形式で格納されます。

例: thingSpeakRead(12397,OutputFormat='table');

例: thingSpeakRead(12397,OutputFormat='timetable');

チャネルの API 読み取りキー。'ReadKey' とチャネルの API 読み取りキーを表す文字ベクトルで構成される名前と値のペアとして指定します。API 読み取りキーは、プライベート チャネルからデータを読み取る場合に使用します。チャネルの API 読み取りキーは、ThingSpeak チャネル ビューの [API Keys] タブにあります。パブリック チャネルからデータを読み取る場合は API 読み取りキーは必要ありません。チャネルの API 読み取りキーは変数に保存しておくと便利です。

例: thingSpeakRead(12397,ReadKey='F6CSCVKX42WFZN9Y');

データ型: char

サーバー接続タイムアウト期間。'Timeout' と数値で構成される名前と値のペアとして指定します。thingSpeakRead がサーバーへの接続を試行できる秒数の値です。

例: thingSpeakRead(12397,Timeout=15);

出力引数

すべて折りたたむ

チャネルからのデータ。配列、table、または timetable として返されます。

各データ要素のタイムスタンプ。datetime 値の配列として返されます。

データ型: datetime

チャネル情報。次の表に示すフィールドをこの順序で格納した構造体として返されます。

フィールド説明
ChannelID

チャネルの識別番号

Name

チャネルの名前

Description

チャネルの説明

Latitude

チャネルの設定で指定されているチャネルの緯度

Longitude

チャネルの設定で指定されているチャネルの経度

Altitude

チャネルの設定で指定されているチャネルの高度

Created

チャネルの作成日時

Updated

チャネルの設定の最終更新日時

Last EntryID

最新のチャネル更新のエントリ ID

Field Descriptions

フィールド名のリスト

Field IDs

有効になっているフィールドのリスト

URL

フィード データの URL

詳細

すべて折りたたむ

ThingSpeak

ThingSpeak は IoT 解析プラットフォーム サービスであり、これによってクラウドにあるライブ データ ストリームの集計、可視化、解析が可能になります。詳細については、License Options および Commercial Use を参照してください。

バージョン履歴

R2019a で導入

参考

関数