スマート製品

Node-REDで『Nature Remo』ノードを使う方法

更新日:

どうも、CHASUKEです。

Node-REDでNature Remoを使ってみました!!

 

前回は、Alexaからの呼び出しでNode-REDフローを実行する方法を説明しました。

https://chasuke.com/alexa_nodered1/

 

全3回に渡り、Alexaスマートホームスキル『Node-RED』を使うことで、自然な音声操作で家電制御したり、温度や湿度を取得することを目指します。

 

今回(2回目)は、前回に引き続き、Node-REDフロー内で、Nature Remoノードを使用する方法を説明していきます^^

▼今回のトライで、こんな感じでNode-REDからNature Remoを簡単に扱えるようになります。(※10秒ほど)

それでは、Let's Node-RED!!

 

『Nature Remo』ノードの使用方法

Nature Remoアクセストークンを発行

まずは、Nature Remoから赤外線を発するためのAPIを利用するために「アクセストークン」を発行します。APIアクセスするために必要です。

 

ちなみに、アクセストークンとは

認証済みユーザーを識別するための文字列のこと

 

 

▼アクセストークンはコチラからGETできます

https://home.nature.global/

 

 

▼ログインメールを送ります。

任意のEメールを送信します。

 

 

▼許可する

 

▼Go!!

 

 

▼こんな画面に遷移するので、一番下「Generate access token」を選択

 

 

▼これで、発行できました。

コピーして忘れないように覚えておきましょう。

 

 

Nature Remoノードを追加

さて続いて、Node-RED側に特別なノードをインストールします。

▼右上メニューから「パレットの管理」を選ぶ

前回Alexaノードを取得した時と同様なやり方です。

 

 

▼ノードを追加から「nature-remo」と入力して、ノードを追加します。

node-red-contrib-nature-remo」が目的のやつです。

これで「Nature Remo」ノードが一覧に追加されました!!

 

 

▼IoTというところに、ノードが追加されているので、パレットに載せましょう。

中身を設定していきたいところですが、その前に、このノードを利用するために必要なアプライアンスファイルを取得します。

 

 

Appliances(アプライアンス)を取得

アプライアンスを取得するために、以下のコマンドをターミナル(Mac)またはコマンドプロンプト(Windows)で実行します。

 

▼下記は、Macターミナルでのコマンド例。先ほど取得したアクセストークンに置き換えてください。(※Windowsでcurlコマンドを使うには別途インストールが必要になります!!)

/usr/bin/curl -X GET "https://api.nature.global/1/appliances" -H "Authorization: Bearer [アクセストークンを入力]" >> memo.json

これで、実行した場所に『memo.json』というファイルが出来上がります。

 

取得したjsonファイルの一部を整形して、見てみると、

"model": null,
"nickname": "電気",
"image": "ico_light",
"type": "IR",
"settings": null,
"aircon": null,
"signals": [
    {
        "id": "aaaaaa-bbbb-cccc-dddd-dddddddddddd",
        "name": "テレビの照明ON",
        "image": "ico_lightup"
    },
    {
        "id": "aaaaaa-bbbb-cccc-dddd-dddddddddddd",
        "name": "テレビの照明OFF",
        "image": "ico_lightdown"
    },
    {
        "id": "aaaaaa-bbbb-cccc-dddd-dddddddddddd",
        "name": "パソコンの照明ON",
        "image": "ico_lightup"
    },
    {
        "id": "aaaaaa-bbbb-cccc-dddd-dddddddddddd",
        "name": "パソコンの照明OFF",
        "image": "ico_lightdown"
    }
]

アプライアンス取得完了です!!

 

 

家電操作のNode-REDフローを作成

先ほど、設置した『Nature Remo』ノードをダブルクリックして中身を設定していきます。

 

▼鉛筆ボタンをタップします。

 

▼上で発行して保存しておいた、アクセストークンを入力します。

 

▼残りの部分を入力します。

Appliances」は、先ほど取得したアプライアンスファイルをNode-REDをインストールしている端末にコピーしてパスを設定します。僕の場合は、ラズパイに置いてパスを設定してます。

 

Delay」は、複数の赤外線リモコンを指定した場合に、送信する間隔です。

 

Name」は、ノードの名前なので任意でOKです。

 

 

▼続いて、『Nature Remo』ノードに渡すため情報を作成します。

changeノードを利用します。

 

 

▼「msg.payload」にJSON形式で値を設定します。

 

 

▼中身は以下のフォーマットで入力します。

取得したアプライアンスの中にある「nickname」と「name」を拾ってきて作成してやればOKです。僕の場合、照明をつけるための赤外線情報を指定してます。

 

▼以下をコピペして作成してみてください。

{
  "commands":
    [
      {
        "nickname": "電気",
        "name": "パソコンの照明ON"
      }
    ]
}

これで完成です!!!!!

 

ちなみに「テレビON→入力切替」みたいに連続実行したい場合は、このように記述します。

{
  "commands":
    [
      {
        "nickname": "電気",
        "name": "パソコンの照明ON"
      },
      {
        "nickname": "電気",
        "name": "パソコンの照明OFF"
      }
    ]
}

 

実行してみた

さぁ、ノード間を繋げて、「デプロイ」しましょう。

ボタンを押して指定したリモコン情報が流れれば、成功です。

最後に

今回は、Node-REDで利用できるNature Remoノードを利用してみました。とても簡単にリモコン操作が可能になったかと思います。

次回は、前回のAlexa連携と合体させて、Alexaから「アレクサ、電気をつけて」を実現させたり、温度や湿度情報を取得してみます^^

https://chasuke.com/alexanoderemo/

それでは

Amazonでお得に買い物

Amazon.co.jpで買い物するならギフト券を現金チャージするのがお得です。チャージごとに最大2.5%分のAmazonポイントがもらえます。また、5000円チャージで1000円分ポイント還元キャンペーンも実施中!!

詳しくはコチラ

  • この記事を書いた人
CHASUKE

CHASUKE

某IT企業でエンジニアをしているCHASUKEです。 当ブログでは生活を便利にするガジェットやサービスなどライフスタイルに関わる様々な情報をお届けします。レビュー依頼も受け付けています。「お問い合わせ」より気軽にご相談ください。

Copyright© CHASUKE.com , 2019 All Rights Reserved Powered by AFFINGER5.