LoginSignup
7
7

More than 5 years have passed since last update.

AWS IoT エンタープライズボタンでLambda実行するまで

Last updated at Posted at 2018-05-28

AWS IoT エンタープライズボタン(プログラミングできるDash Button)を購入してみたので、AWS IoT 1-Clickを利用したLamda実行までの手順をまとめておく。

Lambda関数の準備

より、ボタン押下で実行するためのLambda関数を用意しておきます。

今回はSlackのIncoming Webhookを用いて投稿をおこなう関数「testFunction」を作成。

exports.handler = function (event, context, callback) {  
  const request = require('request');
  var options = {
    uri: 'https://hooks.slack.com/services/XXXX/XXXX/XXXX',
    headers: { 'Content-Type': 'application/json' },
    json: {
      text: 'ZZZ…'
    }
  };

  request.post(options, function(error, response, body){
    if (!error && response.statusCode == 200) {
      console.log(body);
    } else {
      console.log('error: '+ response.statusCode + '\n' + response.body);
    }
  });
};

node_modules 群も合わせてアップロード済み

ボタンのセットアップ

スマホアプリからデバイスを追加

Iotボタンのセットアップには、購入時の箱に記載されているDSNコードが必要になる。

https://ap-northeast-1.console.aws.amazon.com/iot1click/home
から進めていると、スマホアプリからの利用を促すメッセージがあったのでデバイスの追加はそちらで進める。

  • DNSコードの登録(箱のバーコードをスキャン)
  • Wi-Fiを設定

の流れだが、アプリの案内に従って設定するだけなので詳細は割愛。

完了すると、デバイス一覧にボタンが追加される。

device

ボタンの有効化

ここからはPC側の画面にて。

管理 > デバイス から追加されているデバイスを確認し、ボタンを有効化する。

右端の「…」から、「デバイスの有効化」を選択。

AWS_IoT_1-Click.png

有効化されたことを確認。

68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f313430332f38643836356139632d376562352d306134342d366464332d6435303439396665373763652e706e67.png

プロジェクトの作成

管理 > プロジェクト から、プロジェクトの作成をおこなう。

プロジェクト名を入力し、

AWS_IoT_1-Click.png

デバイステンプレートの定義へ。

AWS_IoT_1-Click.png

「すべてのボタンタイプ」から、

AWS_IoT_1-Click.png

あらかじめつくっておいたLambda関数を指定。

AWS_IoT_1-Click.png

プレイスメントの作成

プロジェクトが作成できたら、ボタンとプロジェクトを紐付けるプレイスメントを作成する。
プロジェクトの完了画面から、作成に進む。

AWS_IoT_1-Click.png

プレイスメント名を入力し、デバイスを選択。

AWS_IoT_1-Click.png

これで設定はすべて完了!

動作確認

ボタンクリックすると・・・ランプが点滅して・・・

slack.png

slackにメッセージが投稿されました!(押した分だけ投稿されます)

要はボタン押下でLambdaを呼び出すだけの単純な仕組みですが、やり方次第でいろいろ楽しめそうです。

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7