[Sy] AWS IoT Device SDK for JavaScript を Mac にインストールして サンプルアプリケーションを動かす(thing-example.js)
2018/01/01
AWS IoT Device SDK for JavaScript を Mac にインストールしてサンプルアプリケーションの thing-example.js を動かしてみます。
1. インストール&事前準備
AWS IoT Device SDK for JavaScript
のインストールと、必要な準備については以下の記事の1. インストール
と 2. device-example.js を動かすための準備
を参照してください。
2. thing-example.js を動かすための準備
AWS_ACCESS_KEY_ID と AWS_SECRET_ACCESS_KEY が必要になるので、環境変数にセットしておきます(.bashrcや.zshrcに記述しておいてもOKです)
$ export AWS_ACCESS_KEY_ID=[アクセスキーをここに]
$ export AWS_SECRET_ACCESS_KEY=[シークレットキーをここに]
3. thing-example.js を実行する
サンプルアプリケーションは、ターミナルを2つ(以降、ターミナル1、ターミナル2と呼びます)立ち上げて、動作確認をしていくことになります。
thing-example.js
では、 -P
オプションでプロトコルを WebSocket/TLS
に変えて(-P=wss
)実行します。(この時に先ほど環境変数にセットした AWS_ACCESS_KEY_ID
と AWS_SECRET_ACCESS_KEY
が使われます)
まずはターミナル1で実行します。
(ターミナル1)
$ node examples/thing-example.js -P=wss --test-mode=1 -H xxxxxxxxxxxxxx.iot.ap-northeast-1.amazonaws.com
connected to AWS IoT
Mobile thing registered.
-H
オプションには、先ほどコピーしておいたエンドポイントをセットしてください。(xxxxxxの部分は英数字、ap-northeast-1 の部分は使っているリージョンによって変わります)
続いてターミナル2で実行します。
(ターミナル2)
$ node examples/thing-example.js -P=wss --test-mode=2 -H xxxxxxxxxxxxxx.iot.ap-northeast-1.amazonaws.com
connected to AWS IoT
Device thing registered.
ここまではどちらも出力は同じですが、次にターミナル2、ターミナル1の順に次のような出力が出てきます。
(ターミナル2)
got 'accepted' status on: RGBLedLamp
updated state to thing shadow
(ターミナル1)
delta on: RGBLedLamp{"version":8,"timestamp":1514707107,"state":{"red":196,"green":176,"blue":250},"metadata":{"red":{"timestamp":1514707107},"green":{"timestamp":1514707107},"blue":{"timestamp":1514707107}}}
ターミナル2の方からRGBの値を送って状態を更新し、ターミナル1に表示される、というような動作をしていますね。