Amazonで購入できるようになったAWS IoT Enterprise Buttonで遊んでみた。
使い方
とっても簡易なマニュアルに、以下のWebサイトを参照するように、と。
準備
アクティベートなどはクラメソさんがまとめてくれているので、それを参考にセットアップします。
【国内販売開始】AWS IoT Enterprise Button試してみたらホンマに簡単にLambda関数を実行できた
無事AWSへのデバイス登録までできました。
ボタンを押したらLINEに投稿するLambdaを呼び出す
とりあえず物理ボタンを押したらLINEに投稿するような簡単な仕組みをLambdaで組んで、それをIoTボタンから呼び出すようにしてみます。
LambdaでLINEに投稿するスクリプトの作成
LINEへの登録を終わらせて、いざ開始です。LambdaでLINEに投稿をするようなスクリプトをPythonで組みます。
import json
import os
import sys
# lib配下にライブラリを配置するための前準備
sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)), 'lib'))
import requests
LINE_ENDPOINT = 'https://api.line.me/v2/bot/message/push'
LINE_HEADERS = {
'Authorization': 'Bearer ' + os.environ['ACCESS_TOKEN'],
'Content-type': 'application/json'
}
def run(event, context):
payload = {
'to': os.environ['TO_CHANNEL'],
'messages': [{
'type': 'text',
'text': 'Hello World'
}]
}
response = requests.post(LINE_ENDPOINT, headers=LINE_HEADERS, data=json.dumps(payload))
print(response)
こんな感じで、Hello Worldが呟かれるようになります。
AWS IoT 1-Clickから呼び出されるように設定する
適当にプロジェクトを作成し、先ほどのスクリプトを呼び出せるように設定します。
プレイスメントも作成して、デバイスと結びつけます。
実行
ボタンを押したら、しっかりメッセージが送られてきました。開始からここまで約1時間でできました。簡単ですね。
まとめ
かなり簡単にボタンクリック時のアクションの設定ができました。Lambdaが直接呼べる分、ほとんどの処理を行うことができそうです。これはいいおもちゃです。