AWS IoT エンタープライズボタンは、AmazonのDashボタンの汎用のやつ。
ボタンを押した際にEメール送信、SMS送信、Lambda関数の実行などを設定できる。
ボタンの動作にはWifiネットワークが必須となっている。初期セットアップはスマートフォンのアプリから実行すると簡単でした。
デバイスの管理画面
管理画面は結構シンプル。バッテリー残量もわかるので便利。
開発の流れ
- デバイスを登録
- Lambda関数を用意しておく
- AWS IoT 1-Clickプロジェクトを作成
- 実行したいテンプレートを選択(Lambda関数の実行など)
- プレイスメントを選択(プレイスメントに対し、デバイスを登録する)
サンプルコードを用意して試す
Lambda関数でSlackに投稿してみるサンプルコードを作成し、試してました。Chaliceを使おうと思ってたんですが、AWS IoT 1-Clickのイベントに対応していないようだったので、素のPythonハンドラで作成。
app.py:
import requests import json import os def post_to_slack(event, context): env_dict = os.environ url = env_dict['ENDPOINT'] payload = { 'text': 'ボタンが押されました。', } requests.post(url, data=json.dumps(payload)) return {'status': 'ok'}
ソースコード一式はbitbucketに置いてます。
zipパッケージを作ってLambdaにアップロードし、環境変数でSlack APIのENDPOINTを設定しておきます。
また、ボタンを押すとこの関数が実行されるように設定しておきます。
ボタンを押すと、Slackにメッセージが投稿されることを確認しました。
うまく組み合わせれば使い所ありそうかな。