• 投稿日
  • Let's IoT プロトタイピング〜スタッフ呼び出しボタンを作ってみよう〜の動画とQAを公開

    みなさんこんにちは、ソラコムnaoです。
    もっと気軽にIoT電子工作を気軽に試していただきたいとの思いを込めて始めた、Let’s IoT プロトタイピング オンライン講座の第3回目の動画を公開したのでご紹介させていただきます。

    f:id:soranaocom:20190403195104j:plain

    Let’s IoT プロトタイピング 〜スタッフ呼び出しボタンを作ってみよう〜

    今回の講座では、「SORACOM LTE-M Button powered by AWS」を使い、ボタンを押したら呼び出したい人に通知を飛ばす仕組みを構築します。更にスタッフの状況はタブレットで表示し、「呼び出し中」「現場急行中」等、現場のステータスを可視化する仕組みをお届けしました。

    お手元にデバイスをご準備いただければ誰でも構築いただけます。

    アジェンダ

    1日目

    • SORACOM LTE-M Button powered by AWS とは
    • LTE-Button からのトリガーでSlackへ通知する

    2日目

    • スタッフの状況をデバイスシャドウで管理しWebページへリアルタイム表示する
    • スタッフに対する呼び出しとスタッフの応答に応じてデバイスシャドウを更新する
    • 本格的な運用に向けての改造ポイント

    必要機材・アカウント情報

    • SORACOM LTE-M Button powered by AWS
    • AWS アカウント
    • Slack アカウント
    • SORACOM アカウント
    • タブレット

    動画の公開⭐️

    資料はこちら

    動画でご紹介しているテキストのリンクはこちらです。

    soracom.github.io

    ぜひ実際に試した方は、Twitter で #ソラコム や #SORACOM のハッシュタグをつけて感想お寄せいただけますととっても嬉しいです^^

    皆様からいただいたご質問とその回答

    SORACOM LTE-M Button for Enterprise というボタンを出していると思いますが、今回利用したSORACOM LTE-M Button powered by AWSとどう違いますか?

    SORACOM LTE-M Button powered by AWS の場合は、ボタンから出てきたデータの最初の受け先サービスが AWS 内の AWS IoT 1-Click というサービスになっており、プログラム実装はAWS Lambdaが中心となります。一方、SORACOM LTE-M Button for Enterprise はボタンから出てきたデータの最初の受け先が SORACOM になります。そのためプログラミング実装などは SORACOM から転送可能なクラウドサービス、例えばAWSは当然のことながらMicrosoft AzureやGoogle Cloud Platformだけでなく、独自のHTTPSサーバにも直接データを送ることができるようになり、その先でプログラム実装をしていただけるボタンです。

    同じ仕組みをSlackではなく、LINE等別の仕組みで作ることもできますか?

    可能です。今回はSlackのIncoming Webhookという仕組みを使いましたが、いわゆる「API」を実装しているメッセージサービスであれば同様のことが可能です。「AWS Lambda」とサービス名で検索いただければ、実装例が探せるかと思います。

    AWS Cognito(コグニート)で権限設定ができるということですが、セキュリティを考えた権限設定はどこから情報を得られますか?

    Cognitoで権限設定をするというよりは、実際はCognitoに割り当てたポリシーが権限設定を司ります。AWS IoTにおいてポリシーを作成するために必要な知識は2つあり、1つめがAWS IAMポリシーです。権限対象の操作、それを許可する、許可しない、そして範囲といった条件をJSONベースの書式で記載することになります。これはAWS IAMポリシーのドキュメントです。2つめはAWS IoT内におけるポリシー設定そのものです。例えばパブリッシュできるトピックの制限といった形です。これはAWS IoT側のドキュメントに記載されていますし、例も掲載されています。

    AWS IAMのポリシーとAWS IoTのポリシーは何が違うのですか?

    IAMのポリシーはあくまで、IAMロールに対して割り当てられるポリシー/権限となります。なんらかのユーザーが存在する、もしくは仮想的に割り当てるユーザーに対する権限と言えます。一方、AWS IoT上のポリシーは、完全にAWS IoTへのアクセスのみに限定したポリシー/権限設定です。AWS IoTを対象に言えば、IAMでもAWS IoTポリシーでもできることは同じです。今回はAmazon CognitoのプールIDに割り当てるのがIAMの方が容易だったため、IAMのポリシーを割り当てましたがAmazon CognitoのプールIDをAWS IoTのポリシーに割り当てる方法もあります。この紐づけは現在のところコマンドラインでのみ可能であるため割愛しましたが、権限をより限定的にしたい場合はAWS IoTポリシー側を割り当てることも検討してください。

    オンライン講座で取り扱って欲しいコンテンツの希望等ありましたら、いつでもご連絡ください。

    次回は5月の開催を予定してます。近日オンライン講座のページを公開しますので、もうしばらくお待ちください。

    ソラコム nao