UJP - ドコデモセンサー WS-USB02-PIR APIで9時間補正してデータを取り出す

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

  • カテゴリ 監視/防犯/みまもり/遠隔 の最新配信
  • RSS
  • RDF
  • ATOM

ブログ - ドコデモセンサー WS-USB02-PIR APIで9時間補正してデータを取り出す

ドコデモセンサー WS-USB02-PIR APIで9時間補正してデータを取り出す

カテゴリ : 
人生 » 監視/防犯/みまもり/遠隔
ブロガー : 
ujpblog 2019/8/13 19:46
 ドコデモセンサーのデータが保存されるPlanex Cloud上のデータは,時刻がUTCで保存されているので日本のJSTとは9時間差がある.日本は日出ずる国なのでUTCが9時間早い.
 そこで,9時間差をコマンドで計算する.

 まずは現在時間.
$ date
月  8 12 19:00:38 JST 2019
$
 そして,9時間前を計算.
$ date --date "`date +%Y%m%d` `date +%H:%M` 9 hours ago" "+%Y%m%d %H:%S"
20190812 10:00
$
 これは現在時間からの相対時間で計算されるから,日付をまたいでも問題なく計算されます.

 そしてこれを応用して作ったコマンドがこれ.

$ cat DocodemoSensor.sh🆑
#!/bin/bash
main () {
MODEL='"WS-USB02-PIR"'
MACADDR='"24:72:60:40:XX:XX"'
TOKEN=2f2887db3498XXXXXXXXXXXXXXXXXX
DATE1=`date +%Y%m%d`
DATE2=`date +%H:%M`
DATEUTC1=`date --date "${DATE1} ${DATE2}  9 hours ago" "+%Y-%m-%d %H"`

DATEUTC=`echo ${DATEUTC1}|sed 's/ /+/g'`
DATE1=${DATEUTC}:00:00
DATE2=${DATEUTC}:59:59
DATEF="${DATE1}"
DATET="${DATE2}"

PARAM1="https://svcipp.planex.co.jp/api/get_data.php?type=${MODEL}&mac=${MACADDR}&"
PARAM3="from="
PARAM4="${DATEF}"
PARAM5="&to="
PARAM6="${DATET}"
PARAM7="&token=${TOKEN}"

/usr/local/opt/curl/bin/curl -s ${PARAM1}${PARAM3}\"${PARAM4}\"${PARAM5}\"${PARAM6}\"${PARAM7}

}
main
$
 なんかcurlのパラメータを作るのに苦労してこんなことになった.とりあえず動くので腕のある人は整形してもらえればと...

 このコマンドでは,実行した日時の間のデータを取得することになる.
$ ./DocodemoSensor.sh🆑
[
     ["2019-08-13 10:04:34", "24"]
    ,["2019-08-13 10:06:46", "24"]
    ,["2019-08-13 10:12:11", "24"]
    ,["2019-08-13 10:12:38", "24"]
    ,["2019-08-13 10:21:31", "24"]
    ,["2019-08-13 10:21:36", "24"]
    ,["2019-08-13 10:22:48", "24"]
    ,["2019-08-13 10:25:15", "24"]
    ,["2019-08-13 10:27:26", "24"]
    ,["2019-08-13 10:27:31", "24"]
    ,["2019-08-13 10:36:17", "24"]
]

 応用する為には,これの数をカウントする.
$ ./DocodemoSensor.sh|wc -l🆑
14
$
 実際のデータが11点なので,3行多いことを念頭に入れて利用する.

 ここで使ったのは,GNU dateコマンドなので注意.

トラックバック


広告スペース
Google