(レポート) AWSモバイル/IoTサービス徹底攻略!!『デベロッパーに贈る、実践AWS IoT 入門』 #cmdevio

2015.11.21

こんにちは、オペブの半瀬です。

11/21(土)に目黒のAWSJにて開催された「AWSモバイル/IoTサービス徹底攻略!!〜Developers.IO Meetup番外編〜」のレポートです!

イベント概要

本勉強会は、基本的な内容のBasic Track、応用的な内容のAdvanced Track、実際に試すことの出来るHands Onの3トラックに分けてAWSのモバイルサービスや、サーバーレスアーキテクチャ、IoTのお話をするというものです。

本セッションのご登壇者様・タイトル

AWSJ 福井 厚 様
デベロッパーに贈る、実践AWS IoT 入門
IMG_6862

セッションの内容

IoTの広がりと今後

  • モノが増えていくことに対する課題
  • その中でCloudといかにつなぐか → AWS IoT
  • 具体的な、AWS IoTの位置付けとは
  • データフローに対する各種AWSサービスのマッピング
    • datacollection and storage
    • event processing
    • data processing
    • data analysys

AWS IoTのOverView:主な機能

  • メッセージブローカー
  • デバイスとの認証アクセス許可
  • ルールエンジン
  • デバイスシャドー(※)
  • レジストリ
  • デバイス開発を容易にするDevice SDK

メッセージブローカー:ハイスケーラブル

  • 数百万のデバイスをさばくことができる
  • クラウドを介したメッセージ送受信を行う
  • デフォルトセキュリティ: X509証明書 TLS1.2
  • MQTT
    • HTTPSにくらべスループットが高い
    • HTTPSにくらべて消費電力が低い

認証とアクセスの許可 : セキュリティ

  • 2種類のプロトコルで
    • MQTT+Mutual Auth TLS
    • HTTPS+Mutual Auth TLS

ルールエンジン : AWS各種サービスとつなぐ

  • 各種AWSサービスとの連携が可能に
    • 受け取ったメッセージを評価して変換とエンドポイントへの配信をルールに従い実行する
    • SQLライクな構文/シンプルかつ慣れた構文で
    • jsonをサポート
    • メッセージ変換機能
    • 文字列操作/算術計算/暗号 ...
    • 1つのトピックに対して、複数のルールが適用可能である

シャドー : デバイスの状態変更管理

  • デバイスが状態をシャドーに送信する(json)
  • アプリからもシャドーを見る
    • アプリからデバイスの状態を確認する
    • アプリからシャドーに対して、変更のリクエストを送信する
    • DELTA
    • デバイスはシャドーの状態を確認し、変更DELTAがあれば同期

レジストリ : デバイスの管理

  • S3にバージョン管理されたファームを管理
  • メッセージブローカのトピックパターンを使ってデバイス群に通知

Device SDK : デモを交えて

  • 実際に状態管理をどのように行うか(node.js)
  • 光感知センサーから照度情報をAWS IoTへ送信する
    • topic/device_paramの定義/メッセージブローカへの接続処理/レコードの組み立て/dataをjsonに変換し、送信
    • AWS IoTでハンドリング
    • DynamoDB(とKinesis)にsave
    • マネジメントコンソール上で DynamoDBでテーブルを確認する
      ★ json形式で格納されていることを確認できました(すばらしい!!
  • LED照明の管理 処理デバイス側の処理
    • 現在の状態を取得→ 状態変化(DELTA)を確認→ 変更点を処理/制御する→ シャドウと自分(デバイス側)同期
      ★ 今回はマネジメントコンソールから直接状態を変更 : LED照明の点灯/消灯の切り替わりを確認することができました(すばらしい!!!

まとめ

!!AWS IoTは AWSの各サービスとの連携が容易!!

さいごに

「AWS IoTって何?」というところからはじまり、実際のデモで具体的な使い方をイメージすることができました。初心者にとっても開発者にとっても参考となる、とても楽しいセッションでした。
<会場の様子> IMG_6860

福井様ありがとうございました!