いつブロ

いつまで続くか分からないブログ(仮)主に趣味やプログラミングに関するメモを書いています。

最速で実装 #SORACOM LTE-M Button powered by #AWS

1. はじめに

SORACOM から AWS IoT Button のLTE版が出ました!

f:id:koichi0814:20181030234306p:plain
LTE-M 内蔵ボタンデバイス「SORACOM LTE-M Button powered by AWS」

このボタンが何かという説明は上記のリンクを参考にしてもらえればと思うのですが、 簡単に説明すると、これは物理的なボタンを押して AWS Lambda を起動できるというものです。

今までは AWS IoT エンタープライズボタン というのがありましたが、Wi-Fi での通信しかできませんでした。 この SORACOM のボタンはLTEに対応しているので、電波の届く範囲であればどこでもボタンを押して Lambda が起動できます。
 

2. ボタンを押して Twitter でつぶやく

Lambda を起動できるということは色々なことができます。手頃なところで Twitter でつぶやくというものがあります。つぶやいたからどうなのという話は置いておいて。

SORACOM ボタンを使えるようにする手順をざっくり説明します。

  1. 現時点でボタンを購入できるのは、SORACOM ユーザコンソール で発注するしかないのでアカウントを取得します。
  2. AWS のアカウントを取得します。
  3. Twitter の開発者アカウントを取得します。
  4. Lambda を実装します。(Twitter の開発者アカウントのキーやトークンを使います)
    シングルクリック、ダブルクリック、長押しの3タイプでつぶやく内容を変更します。
  5. AWS の IoT 1-Click というサービスでボタンと Lambda を紐付けます。
  6. ボタンを押します。

 

3. 少し分かり難い AWS IoT 1-Click の設定

SORACOM から AWS への通信までは割とスムーズに行ったんですが、
そこから Lambda を呼び出すときに躓いたので一連の設定方法を書いておきます。

3-1. SORACOM ユーザコンソール でデバイスを登録します。

まずは、注文履歴からデバイスを受け取り済みにしましょう。
次にメニューのガジェットからButtonsを選択します。
バイス登録のボタンから製造番号を入力します。
ボタンの中のDSNの部分が製造番号です。 f:id:koichi0814:20181102122504p:plain
登録するとこのように表示されます。 f:id:koichi0814:20181102121936p:plain

3-2. AWS の IoT 1-Click でデバイスを登録します。

ここに入力するのは、さきほどSORACOMの画面で登録した製造番号と同じ番号です。 f:id:koichi0814:20181102122743p:plain
入力後ボタンを押すように促されます。 f:id:koichi0814:20181102122918p:plain
登録は直ぐに完了します。 f:id:koichi0814:20181102123027p:plain
「管理 > デバイス」でデバイス一覧を開き、デバイスIDを選択すると次のような画面が表示されるので、 ここでデバイスを有効にします。 f:id:koichi0814:20181102123257p:plain

3-3. IoTプロジェクトを作成します。

「管理 > プロジェクト」からプロジェクトを新規作成します。 f:id:koichi0814:20181102123642p:plain
続いてLambdaと紐付けます。
画面が見切れていますが、プレイスメントの属性は特に入力しなくても問題ありません。 f:id:koichi0814:20181102124112p:plain
プレイスメントの属性は不要ですが、プレイスメントは必要です。(これに躓きました) f:id:koichi0814:20181102124512p:plain
すでに登録しているので編集画面にはなりますが、このようにボタンとの紐付けが必要です。 f:id:koichi0814:20181102124755p:plain

4. つぶやいた結果

1回押した場合 f:id:koichi0814:20181102125150j:plain
2回押した場合 f:id:koichi0814:20181102125203j:plain
長めに押した場合 f:id:koichi0814:20181102125212j:plain
via AWS IoT Tweetというところがミソです。
Twitterの開発者アカウントからのつぶやきです。)

5. DynamoDBにも登録したり

f:id:koichi0814:20181102125347p:plain

6. まとめ

ボタンを押したらプログラムが動くのはとても面白いですね!
単純な動作だから誰でもできるし、LTEに対応しているのでどこでも使えるのが良い!
数秒のタイムラグはあるけど本当に数秒だったので使い所は色々ありそうですね。