LoginSignup
6
2

More than 5 years have passed since last update.

SORACOM IoT Buttonの監視をしてみる。

Last updated at Posted at 2018-12-09

この記事はSORACOM LTE-M Button powerd by AWS Advent Calendar 2018 9日目の記事になります。
すみません。時間オーバーしてしまいました。

さて、
SORACOMさん年末恒例の、#ソラコムサンタ に、実のところ、初めてちゃんとしたお願いをしてみました。

該当Tweet

経緯としては、
先日、2018.11.22 SORACOM Technology Camp 2018 ナイトイベントでLTをしました。

LT時資料はこちら

このLTのために、ひたすら押し続けたわけですが、
そういえば、1500に近づいても、特に通知があるわけでもない。。。
これは欲しいぞ。
と思って、お願いしたわけです。


とはいえ、APIを使えば実装できるものではある・・・と思いまして、Lambdaで実装してみました。

履歴の管理は、とりあえず、DynamoDBに製造番号(serialNumber)をキーに保存しています。
直近の情報が知りたいので、保持し続ける必要はないと思って、DynamoDBにTTLを指定して勝手に消えるようにしています。

ほんとは、最近発表になったAmazon QLDB使えるんじゃないかなーとか思って、Previewを申し込んでみたのですが、
流石にまだ申請通りませんでした。

今の段階の動きとしては、以下
1. ボタンクリック時に動作するLambda内でDynamoDBに回数や日時を格納
2. Cloudwatch Eventsで動くことを想定したLambda内でSORACOM APIの/gadgetsでアカウントに紐づくボタンの一覧を取得
3. serialNumberをキーに、DynamoDBから情報を取得し、閾値を超えていたらSlackに通知

私のアカウントのボタンの様子
スクリーンショット 2018-12-10 1.15.48.png

今の段階では、以下の閾値を設定しています。
- 残りクリック数 1490以下(普通は100以下ですかなと)
- DynamoDBにあるItem数が3以上(1日未満想定で3回クリックしていたらクリックし過ぎかなーと(1日400回近くクリックしていた人ですがw))

通知はこんな感じ
スクリーンショット 2018-12-10 1.15.34.png

※ BANSHEEだけ通知がないのは、Itemsの数が3で、残りクリック数が1491なので


ボタンによって、閾値を変えられるべきかと思うので、
ボタンのTagに閾値を持っても良いかなーと思うので、
今週中にその辺改修して、対応したソースをアップします。


なんか、ボタンでなんかしてみたって感じではないのですが、以上になります。

6
2
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
6
2