Nature Remoとは
IRKitをご存知の方はその進化版という説明が早いのですが、これらはスマート家電の一種で、家庭にあるリモコンなどの赤外線を記録することができ、そしてネットワークに繋げることができるというシロモノです。
Nature Remoの特長ですが、
・赤外線リモコンの信号を学習させることができる
・赤外線の指向性を気にしなくて良い (IRKitから進化した点)
・Wi-Fiに繋がる (アプリやAPIなど外部から制御可能)
・IFTTTが対応している (myThingsは未対応の模様)
・APIが公開されている ←new!
などが挙げられます。
リモート操作できる
赤外線の設定を行うと、スマフォから操作できます。
ボタンの1つ1つを覚えさせることもできます。
エアコン各社は初期状態で豊富に対応しているので、記憶させようとするとリモコンの機種名のようなものがサジェストされ、セットアップはより簡単です。
また、画面に表示される情報も豊富です。
ウチが寒すぎるというツッコミはナシでm(_ _)m
温度・湿度が見れる
先程のキャプチャにも表示されていましたが、温度・湿度が外から見れるので、たとえば、室温が○○度以下になったらエアコンをオンにしたり、家に近づいたらエアコンを入れたりなどの操作が自動でできたりもします。
APIが公開されました
以前よりAPIに関する記事はQiitaなどには存在したのですが、このたび2018/01/30に正式にAPIが公開されました。
ドキュメントはSwaggerで書かれており見やすいです!
ということで、さっそく叩いてみましょう(ここからが本題です)
最初のセットアップ
公式サイトがとても丁寧なので、それに合わせてセットアップします。
"アカウントの登録" 項で使用したメールアドレスを下記のAPIでも使用します。
API使用準備
https://home.nature.global にアクセスします。
ログインするにはメールアドレスを入力します。
ログインするとこんな感じのシンプルなtoken一覧管理画面が出てきます (キャプチャはセットアップ済のもの) 。Generate access tokensで新たにアクセス用のトークンを発行することができます。
curlからデータを取得する
設定されたトークンを使用して以下のコマンドを実行します。
$ curl -X GET -H 'Authorization: Bearer ****** -H 'Content-Type: application/json' https://api.nature.global/1/appliances
Postmanから取得する
PostmanとはGUIでAPIが叩けるツールです。特にWindows環境の場合などはGit BashやCygwinを入れていないとLinux/UNIX系コマンド(今回はcURL)が実行できない不便を解消してくれます。
Postman | API Development Environment
コード
AWS LambdaからNature RemoのAPIを叩いて、Dynamoに格納するコードを書きました。ビルドして環境変数を設定すればそのまま動きます。
私はこれをCloudWatch Eventsで1分に1回定期実行して、DynamoDBにデータを溜めてます。
DynamoDBに溜めたデータの可視化についてはまた書きます!