ブログ - ドコデモセンサー WS-USB02-PIR APIを使う
ドコデモセンサーの醍醐味は,クラウド上に保存されたデータを取り出して加工して利用すること.
APIの仕様は,Planex Cloud Serviceにログインして閲覧できるAPI情報から確認できる.
8月7日に過度のアクセスがあったようで,同一IPアドレスからのAPIアクセスは現在は1日500回に限られている模様.
500回となると,1時間あたり20回程度か.人感センサーの場合はタイムラグがあっても問題ないので,5分に1回とすると288回/日なのでクリアできるかな.ドコデモセンサーを複数利用する場合は,もっと頻度を少なくする必要がある.

APIの仕様では,ドコデモセンサーのMAC情報と,デバイス毎に割り当てられているTOKENが必要になる.TOKENは,Planex Cloud Serviceのサイトにログインすれば掲載されている.
で,まずはAPIを組み立ててデータを取り出してみる.
なにかデータが取り出せるた.人感センサーなので,検知した日時が設定されているけれど,2列目の24については意味はわからない.サンプルだと10,20,30なんて書いてあるけれど...
そして厄介なことがわかった.Planex Cloud Serviceにログインすると参照できるグラフがこれ.

グラフでは,夜19時に15回カウントされているけれど,APIで取り出した情報だと10時台に15回記録されている.9時間差がある.
これは,Planex Cloud Serviceで記録しているデータがUTC(協定世界時)で記録されていて,グラフはJSTで表示されているからで,APIの結果データもUTCであるから9時間マイナスになっている. これを調整しなければならない.
APIの仕様は,Planex Cloud Serviceにログインして閲覧できるAPI情報から確認できる.
API情報
ドコデモセンサーAPI
エンドポイント
URL=https://svcipp.planex.co.jp/api/
GET ./get_data.php?type="WS-USB02-PIR"&mac="xxxxxxxxxxxx"&
from="2019-01-01 11:22:33"&to="2019-01-31 22:33:44"&token="zzzzzzzzzzzzzz"
RETURN(JSON)
[
["2019-01-01 11:22:33", "10"]
,["2019-01-02 12:22:33", "20"]
,["2019-01-03 13:22:33", "30"]
]
このAPIはPIRの数値を返します。
tokenは、デバイスごとに割り当てられた32桁の英数字です。「デバイス情報」
のページから参照してください。
from,to,返値の時刻はUTC時間です。
データーの保存期間は一ヶ月です。データをダウンロードする場合、一ヶ月以内に
ダウンロードしてください
GET ./get_data.php?type="WS-USB01-THP"&mac="xxxxxxxxxxxx"&from=
"2019-01-01 11:22:33"&to="22019-01-31 22:33:44"&token="zzzzzzzzzzzzzz"
RETURN(JSON)
[
["2019-01-01 11:22:33", "11.1", "41", "1010" ]
,["2019-01-02 12:22:33", "22.2" , "42", "1020" ]
,["2019-01-03 13:22:33", "33.3" , "43", "1030" ]
]
このAPIは温度、湿度、気圧の数値を返します。
tokenは、デバイスごとに割り当てられた32桁の英数字です。「デバイス情報」
のページから参照してください。
from,to,返値の時刻はUTC時間です。
データーの保存期間は一ヶ月です。データをダウンロードする場合、一ヶ月以内に
ダウンロードしてください
【重要なお知らせ】一部のIPアドレスからの集中的なアクセスのため、APIの利用回数に
制限をかけさせて頂きました(約500回/日)。ご協力をお願いいたします。
500回となると,1時間あたり20回程度か.人感センサーの場合はタイムラグがあっても問題ないので,5分に1回とすると288回/日なのでクリアできるかな.ドコデモセンサーを複数利用する場合は,もっと頻度を少なくする必要がある.

APIの仕様では,ドコデモセンサーのMAC情報と,デバイス毎に割り当てられているTOKENが必要になる.TOKENは,Planex Cloud Serviceのサイトにログインすれば掲載されている.
で,まずはAPIを組み立ててデータを取り出してみる.
$ curl "https://svcipp.planex.co.jp/api/get_data.php?type="WS-USB02-PIR"
&mac="MACアドレスを設定"&from="2019-08-10+00:00:00"
&to="2019-08-10+23:59:59"
&token=トークンを設定"
[
["2019-08-10 02:47:46", "24"]
,["2019-08-10 02:57:23", "24"]
,["2019-08-10 06:07:02", "24"]
,["2019-08-10 06:07:45", "24"]
,["2019-08-10 06:08:17", "24"]
,["2019-08-10 08:48:42", "24"]
,["2019-08-10 08:49:53", "24"]
,["2019-08-10 09:19:13", "24"]
,["2019-08-10 09:19:44", "24"]
,["2019-08-10 09:25:39", "24"]
,["2019-08-10 09:25:53", "24"]
,["2019-08-10 09:26:06", "24"]
,["2019-08-10 10:10:34", "24"]
,["2019-08-10 10:10:48", "24"]
,["2019-08-10 10:11:59", "24"]
,["2019-08-10 10:12:05", "24"]
,["2019-08-10 10:13:05", "24"]
,["2019-08-10 10:13:23", "24"]
,["2019-08-10 10:30:21", "24"]
,["2019-08-10 10:30:36", "24"]
,["2019-08-10 10:31:06", "24"]
,["2019-08-10 10:31:19", "24"]
,["2019-08-10 10:33:14", "24"]
,["2019-08-10 10:36:28", "24"]
,["2019-08-10 10:36:54", "24"]
,["2019-08-10 10:37:56", "24"]
,["2019-08-10 10:38:09", "24"]
,["2019-08-10 13:25:28", "24"]
,["2019-08-10 14:05:50", "24"]
,["2019-08-10 14:07:01", "24"]
,["2019-08-10 14:07:17", "24"]
,["2019-08-10 14:07:25", "24"]
,["2019-08-10 14:27:01", "24"]
,["2019-08-10 14:27:10", "24"]
,["2019-08-10 14:27:16", "24"]
,["2019-08-10 14:27:21", "24"]
,["2019-08-10 15:13:45", "24"]
,["2019-08-10 15:16:07", "24"]
,["2019-08-10 15:16:13", "24"]
,["2019-08-10 15:17:03", "24"]
,["2019-08-10 15:18:26", "24"]
,["2019-08-10 15:19:46", "24"]
,["2019-08-10 15:19:55", "24"]
,["2019-08-10 17:21:17", "24"]
,["2019-08-10 17:22:09", "24"]
,["2019-08-10 18:00:03", "24"]
,["2019-08-10 18:06:40", "24"]
]
そして厄介なことがわかった.Planex Cloud Serviceにログインすると参照できるグラフがこれ.

グラフでは,夜19時に15回カウントされているけれど,APIで取り出した情報だと10時台に15回記録されている.9時間差がある.
これは,Planex Cloud Serviceで記録しているデータがUTC(協定世界時)で記録されていて,グラフはJSTで表示されているからで,APIの結果データもUTCであるから9時間マイナスになっている. これを調整しなければならない.