“あのボタン”を押してメールを送信、扇風機の電源をオン、僕にもIoTできたよ!
ハンズオンに使うボタンは、自分のものを持ち込んでもいいし、その場で購入してもいいようになっていた。そのため受付テーブルはちょっとした行商の様相。筆者もその場で購入したひとりで、かわいらしい箱に納まった“あのボタン”をひとつゲット。購入を迷っている人に向けては、数は限られるもののレンタル品も用意されていた。
箱を開くと、“あのボタン”と取扱説明書、単4乾電池2本が出てきた。乾電池が初めから付属しているのはちょっと嬉しい気遣い。“あのボタン”で送ることができるステータスはシングルクリック、ダブルクリック、ロングクリックの3種類。今回のハンズオンではシングルクリックのみを使う。
最初に行なうのは、AWS IoT 1-Clickにあのボタンを登録すること。前述の通り、“あのボタン”はAWS IoT 1-Clickで正式にサポートされているので、デバイスを選んで登録ボタンを押せば登録画面に進む。
この登録ステップで悩まされたのが、デバイスシリアルナンバーの登録。あのボタンの裏蓋を開くと書かれている16桁の英数字を入力するのだが、印字が小さく読み取るのが大変だった(編集部註:そろそろ老眼ですね)。後で調べてみたら、シリアルナンバーの隣にあるQRコードを読み取ればテキストデータとして取得できるようになっていた。スマートフォンなどで読み取り、コピー&ペーストするのが良さそうだ。
AWS IoT 1-Clickではプロジェクトを作り、その中に動作を規定するプレイスメントを設定していくことでIoTサービスを簡単に作ることができる。まずトライしたのは、Eメールの送信。自分のメールアドレスであることを確認するベリファイのステップさえクリアすれば、あとは件名と本文をGUI画面で指定するだけ。“あのボタン”をクリックしたら、指定した通りのメールが筆者のスマートフォンに届いた。なんて簡単なんだ! 筆者を含め、IoTに興味があるという非エンジニアの参加者が目立った今回のハンズオンだが、ここまではかなり楽勝。
ちなみに、AWS IoT 1-ClickでEメール送信の設定をすると、裏側で自動的にLambda関数が生成される。実はLambdaを一度も触れたことのなかった筆者だが、これでLambda経験者と名乗っていいだろう。自動生成されたものを起動しただけだけど。
次のお題は、松下さんが持ち込んだ扇風機を“あのボタン”で動かしてみること。呼び出すデバイスを登録したり、呼び出すためのLambda関数を書いたりしなければならないので、Eメールより難易度は高い。が、コピー&ペーストすれば使える関数が用意されていたので、ここは何も考えずに資料の指示通り作業。やった、動いたよ扇風機! さっきは自動生成されたLambda関数だったけど、今度は「一から作る」をクリックして動かしたから、今度こそLambda経験者と名乗っていいよね! コピー&ペーストして必要箇所を書き換えただけだけど!
さらに高度な課題として、LINEにメッセージを送信するというのも用意されていたけれど、時間切れ見送り。宿題として持ち帰ることにした。時間切れの要因のひとつとなったのが、会場におけるLTE-Mの電波状況の悪さ。会場がビルの18Fということもあり、窓際まで行かなければ“あのボタン”が信号を拾ってくれないのだ。窓際に行っても、成功を示すグリーンのLEDがなかなか点灯してくれない。ボタンを押しては祈り、送信失敗を示す赤いLEDを見て涙目になるという繰り返し。おかげでハンズオン中は、窓際に人がたかって「電波ない」「お、この辺で入った」と言い交わし、携帯電話普及初期を思い出させる光景が広がった。PCで作業しては窓際までボタンを押しに行き……と、無駄なステップで時間がかかってしまった。
ただしここで釈明をしておくと、これは決してSORACOMのサービス品質が悪い訳でも、“あのボタン”の性能が悪い訳でもない。LTE-Mをサポートする基地局がまだ少ないことに由来するもので、現在の急速なエリア拡大状況から見て早々に解決することと期待される。逆にいえば、窓際で電波を探した今回のハンズオン参加者は「最初の頃はねー」と黎明期を語れる貴重な経験をしたとも言える。電波を探して携帯電話を振ってみたりした、あの頃を振り返るように語る日はきっと遠くない。
ハンズオン改め実演セッションの他、事例紹介やアイディアソンの告知も
ハンズオンセッションが2本用意されていたと、冒頭に書いた。しかし出足から松下さんのプレゼンテーションはオーバーラン、ハンズオンセッション1本目はボタンの電波状況という想定外の事態に長時間化、あっという間にイベントタイムの大部分を消化してしまった。ということで、2本目のハンズオンセッションを担当するはずだったJAWS-UG名古屋の筒井 孝典さんは急遽予定を変更。ハンズオンではなく、自分が実演してみせるプレゼンテーションを行なった。
「“あのボタン”で送れるのはシングルクリック、ダブルクリック、ロングクリックの3種類。この3種類を独自のルールで処理すれば、もっと多くの情報を送れるのではないかと考えました。ポケベルのように」(筒井さん)
ダブルクリックからダブルクリックまでに押されたシングルクリックの回数を数値に変換し、ロングクリック2回をフックにしてメールで送信する。それが筒井さんの作った仕組みだった。1クリック分だけを処理するAWS IoT 1-Clickでは処理できないので、受け取った情報をAmazon DynamoDBに格納し、データはLambdaで処理している。
しかし、また窓際に行ってボタンを押すのは効率が悪いので、主旨を翻してAWS IoTエンタープライズボタンを持ち出して実演。ハンズオンでもなければ、もう“あのボタン”の実演でもなくなってしまった。だがこれも良い方に考えよう。無線LAN環境を用意するのが難しい場所では“あのボタン”を使い、逆に無線LAN環境がある場合はAWS IoTエンタープライズボタンを使えばいいという使い分けの実演なのだ、これは。「デバイスが複数用意されているので、適材適所で使い分ければいいのです」と筒井さんも言っていた。
電波状況に悩まされないのでスムーズな実演、と思いきや、こちらもそこそこ時間がかかるものだった。1クリックごとにクリック結果を画面で確認してみせてくれたことも理由のひとつだが、なにより1クリックごとに時間がかかり、なおかつクリック数が多いのだ。それでも実演自体は成功し、拍手に迎えられてプレゼンテーションを終了した。
その後、アイレットの高野さんが登壇し、AWSを使ったIoT案件の実例について紹介してくれたり、中京テレビ放送の上田 茂雄さんが中京テレビで毎年開催されているハッカソンイベント「HACK-CHU! 2019」について告知してくれたりした。そして最後は全員が自己紹介と本日の感想を述べて勉強会はお開きとなった。
勉強会のあとは、お楽しみの懇親会。例のキャッシュオンデリバリーのお店だったので、割り勘の手間などがなく、参加者それぞれの都合で途中退出しやすく、これはこれでいい方法だなと思った筆者だった。
週刊アスキーの最新情報を購読しよう