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

CHASUKEの記事をシェアする(.. )

どうも、CHASUKEです。

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

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

Alexaスマートホームスキル『Node-RED』を使ってみた
どうもCHASUKEです。 Alexaで使えるスマートホームスキル『Node-RED』の利用方法を書いてい...

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

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

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

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

SPONSORED LINKS

『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から「アレクサ、電気をつけて」を実現させたり、温度や湿度情報を取得してみます^^

Alexaスキル『Node-RED』で『Nature Remo』を使う方法
どうも、CHASUKEです。 今回もAlexaスマートスキル「Node-RED」ネタです。 前々回は...

それでは

コメント

  1. Megalith より:

    かなり興味があるので、楽しみにしてます。