hitode909の日記

趣味はマリンスポーツですの日記です

SORACOM LTE-M Buttonで飲酒をPixelaに記録する

SORACOMのLTE-M IoTボタンが届いたので、押したらLambdaを叩いて、Pixelaに記録して草を生やすようにした。1杯飲んだらカウントアップというルール。
SIMがささってるので、屋外で飲んでてもカウントアップ可能なのが画期的だと思う。紐を通して首から下げておくと急な飲酒にも対応できて便利かもしれない。

こちらのdrinkグラフに記録しています。
https://pixe.la/v1/users/hitode909/graphs/drink

Lambdaで動かしてるのはこんなので、PUTを送ってるだけ。グラフとトークンを雑にハードコードしているけど、ボタンの属性として設定しておけば、いろんなボタンを押すといろんなグラフに投稿できてより有益になると思う。

const request = require('request');

exports.handle = function (e, ctx, cb) {
  var options = {
    url: 'https://pixe.la/v1/users/hitode909/graphs/drink/increment',
    headers: {
      'X-USER-TOKEN': '******',
    },
  };

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

遊びでLambdaを使うときだいたい1リクエスト送って終わりくらいなのでスキルの上達が感じられないけど、あまり複雑なことをしても困るので、遊びでやってるんだからこんなんでいいんだという気持ちになってきている。仕事でやってるみなさんは頑張ってください。

ふだんはAWSのボタンを使って飲み会ボタンを構築していたけど、スマホとペアリングしてWi-Fiにつないで、できたと思ったらリージョンを間違ってたりして、セットアップの成功率が低かった。友達もセットアップに失敗して飽きてしまったりして、なかなか難しかったけど、SIMがささってるのでセットアップ簡単でよかった。デバイスIDを入れたら終わり。AWSボタンから入るより、こっちから始めたほうが体験良さそう。デメリットとしては、地下でスマホの電波も入りにくいような部屋で使おうとしたら、窓際に行かないとつながらなかった、という話を同僚から聞いた。