Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

AWS IoTを使った双方向通信システムの実装と注意点

1.404 visualizaciones

Publicado el

IoTシステムで必須となる双方向通信における一般的な考え方と、AWS IoTで実装する際のポイントを説明
Describe the general idea in bidirectional communication which is essential in IoT system and points to implement in AWS IoT

(Using in Interop Tokyo 2016)

Publicado en: Internet
  • Sé el primero en comentar

AWS IoTを使った双方向通信システムの実装と注意点

  1. 1. AWS IoTを使った 双方向通信システムの 実装と注意点 Interop Tokyo 2016 / 8~10 June @ 幕張メッセ 1
  2. 2. AWS Summit Tokyo 2016 6月1日〜3日 @グランドプリンスホテル新高輪 参加されました? 2
  3. 3. 参加できなかった方 大丈夫です! 3
  4. 4. re:Invent 2016がありますよ! 4
  5. 5. 5
  6. 6. 松下 / ma2shita ぷらっとホーム株式会社 IoTサービス部 好きなAWSサービス AWS Lambda Amazon Elasticsearch Service 6
  7. 7. AWS Summit Tokyo 2016 IoTハンズオン 7
  8. 8. 8
  9. 9. 9
  10. 10. アジェンダ ● 5分でわかる 「AWS IoTって?何ができる?」 ● 5分でわかる 「AWS IoTを利用するための実装」 ● 5分でわかる 「双方向通信システムの設計ポイントとdelta」 ● 5分でわかる 「IoT関連告知」 ● 5分でわかる ?! 10
  11. 11. 11
  12. 12. AWS IoTとは? re:Invent 2015 (2015年10月)に発表された AWS初のIoT特化サービス ●クラウドとデバイスの双方向通信 ●データに対しての様々なAWSサービスの呼び出 し ●デバイスの状態管理 12
  13. 13. AWS IoTとは? 機能 ●メッセージブローカー ○ フルマネージド MQTT, HTTP REST, Websocket ●ルールエンジン ○ メッセージの中身に応じて呼び出すAWSサービスを定義 ○ Amazon S3, Amazon DynamoDB, Amazon Kinesis, Amazon SQS, Amazon SNS, AWS Lambda, Amazon Elasticsearch Service, Amazon CloudWatch, AWS IoT(republish) ●シャドー 2016年3月 update 2016年1月 update 13
  14. 14. 要するに 14
  15. 15. フルマネージドな ●MQTTブローカ (サーバ) ●デバイスの状態の保存 15
  16. 16. AWS IoTをもっと知りたい ●詳細はアマゾン ウェブ サービス ジャパンのソリューションアーキテクト 福井さんの資料をご覧ください http://www.slideshare.net/AmazonWebServicesJapan/aws-iot- 20160216 Interop会期中に アマゾン ウェブ サービス ジャパン様の ミニ・セミナーあります! 16
  17. 17. アジェンダ ● 5分でわかる 「AWS IoTって?何ができる?」 ● 5分でわかる 「AWS IoTを利用するための実装」 ● 5分でわかる 「双方向通信システムの設計ポイントとdelta」 ● 5分でわかる 「IoT関連告知」 ● 5分でわかる 17
  18. 18. 18
  19. 19. AWS IoT OpenBlocks IoT BX1 Patlite <NHS- 3FB1> Web Browser Internet Icons made by http://www.freepik.com from http://www.flaticon.com is licensed by http://creativecommons.org/licenses/by/3.0 <CC 3.0 BY> 19
  20. 20. AWS IoT OpenBlocks IoT BX1 Patlite <NHS- 3FB1> Web Browser reporter.rb commander.rb /update SNMP /update/documents /update/update/delta MQTTS Websocket over MQTT Pub Sub Sub Pub Polling patlite_control.html Operation from Outside e.g.) CleanUp, Reboot... Input onMessageArrived get Rendering Icons made by http://www.freepik.com from http://www.flaticon.com is licensed by http://creativecommons.org/licenses/by/3.0 <CC 3.0 BY> 20
  21. 21. AWS IoTを利用するために必要な実装 OpenBlocks IoT BX1 Patlite <NHS- 3FB1> reporter.rb commander.rb デバイスの状態を AWS IoTに報告する AWS IoTからの通知を デバイスに送る 21
  22. 22. reporter.rb おい、今、それぞれの色の状態を 教えろや (って、patliteにSNMPで聞く) AWS IoTに報告しとくわ (MQTTでな) reporter.rb インターバルで無限ループ これだけ!! 簡単!素敵! 22
  23. 23. commander.rb MQTTトピック、監視するでー (着信したら、下のコードが動く) 色をON/OFFしろ! (SNMP経由で) 着信データを解析して... commander.rb 23
  24. 24. AWS IoTを利用するために必要な実装 まとめ; OpenBlocks IoT BX1 Patlite <NHS- 3FB1> reporter.rb commander.rb デバイスの状態を AWS IoTに報告する AWS IoTからの通知を デバイスに送る 24
  25. 25. アジェンダ ● 5分でわかる 「AWS IoTって?何ができる?」 ● 5分でわかる 「AWS IoTを利用するための実装」 ● 5分でわかる 「双方向通信システムの設計ポイントとdelta」 ● 5分でわかる 「IoT関連告知」 ● 5分でわかる 25
  26. 26. AWS IoT OpenBlocks IoT BX1 Patlite <NHS- 3FB1> Web Browser reporter.rb commander.rb /update SNMP /update/documents /update/update/delta MQTTS Websocket over MQTT Pub Sub Sub Pub Polling patlite_control.html Input onMessageArrived get Rendering Icons made by http://www.freepik.com from http://www.flaticon.com is licensed by http://creativecommons.org/licenses/by/3.0 <CC 3.0 BY> ポイント: ループ状にデータが伝搬されるように設計 - そうでないと... AWS IoTと実際のデバイスの状態の不一致の温床 ※AWS IoTは不一致解消は対象外 => ユーザの責務 26
  27. 27. AWS IoT OpenBlocks IoT BX1 Patlite <NHS- 3FB1> Web Browser reporter.rb commander.rb /update SNMP /update/documents /update/update/delta MQTTS Websocket over MQTT Pub Sub Sub Pub Polling patlite_control.html Input onMessageArrived get Rendering Icons made by http://www.freepik.com from http://www.flaticon.com is licensed by http://creativecommons.org/licenses/by/3.0 <CC 3.0 BY> ポイント: ループ外からの操作も想定すべき ※現場でのデバイス操作、複数の利用者 - 不一致の温床 Operation from Outside e.g.) CleanUp, Reboot... 27
  28. 28. AWS IoT OpenBlocks IoT BX1 Patlite <NHS- 3FB1> Web Browser reporter.rb commander.rb /update SNMP /update/documents /update/update/delta MQTTS Websocket over MQTT Pub Sub Sub Pub Polling patlite_control.html Input onMessageArrived get Rendering Icons made by http://www.freepik.com from http://www.flaticon.com is licensed by http://creativecommons.org/licenses/by/3.0 <CC 3.0 BY> ポイント: 無限ループ防止機構 - そうでないと... AWSさんが大喜び!無駄なリソース消費につながる ※上の実装では人間がブレーカー Operation from Outside e.g.) CleanUp, Reboot... 28
  29. 29. ●ループ状にデータ伝搬がされるように ●ループ外からの操作も考慮・想定 ●無限ループ防止機構 双方通信システムの設計ポイント まとめ; 29
  30. 30. deltaって? “Thing Shadow” の中において中核を担う機能 delta = desired - reported 差分 = 操作要求 - 現在の状態 30
  31. 31. /shadow/update/delta ー deltaの発生 delta(差分) = desired(操作要求) - reported(現状) {reported: {赤: OFF}} reported: 赤 = OFF desired: <空> reported: <空> desired: <空> {desired: {赤: ON}}reported: 赤 = OFF desired: 赤 = ON SUB: /delta {赤: ON} /shadow/update 31
  32. 32. /shadow/update/delta ー 再レポート delta(差分) = desired(操作要求) - reported(現状) {reported: {赤: ON}} reported: 赤 = OFF desired: 赤 = ON reported: 赤 = ON desired: 赤 = ON 差分が無いので delta は発生しない /shadow/update 32
  33. 33. /shadow/update/delta ー ちょっと困る挙動? delta(差分) = desired(操作要求) - reported(現状) reported: 赤 = ON desired: 赤 = ON CLEAR {reported: {赤: OFF}} reported: 赤 = OFF desired: 赤 = ON SUB: /delta {赤: ON} この挙動は意図と違うかも 場合によっては無限ループ /shadow/update 33
  34. 34. /shadow/update/delta ー レポートTIPS delta(差分) = desired(操作要求) - reported(現状) {reported: {赤: ON}}, {desired: null} reported: 赤 = OFF desired: 赤 = ON reported: 赤 = ON desired: <空> レポート時には常に {desired:null} を送り、AWS IoT内の “desired” をクリアする /shadow/update 34
  35. 35. /shadow/update/delta ー レポートTIPS delta(差分) = desired(操作要求) - reported(現状) reported: 赤 = ON desired: <空> CLEAR {reported: {赤: OFF}} reported: 赤 = OFF desired: <空> desired = <空> なので delta は発生しない /shadow/update 35
  36. 36. /shadow/update/delta ー ウルトラクイズ delta(差分) = desired(操作要求) - reported(現状) reported: 赤 = ON desired: <空> {desired: {赤: OFF}} ネットワーク障 害 {reported: {赤: ON}} reported: 赤 = ON desired: 赤 = OFFこのときの挙動は?? /shadow/update 👊 delta = {赤: ON} ✅ delta = {赤: OFF} ✋ deltaは出力されな い 36
  37. 37. deltaの使い方 commander.rb Subscribeするだけ 37
  38. 38. アジェンダ ● 5分でわかる 「AWS IoTって?何ができる?」 ● 5分でわかる 「AWS IoTを利用するための実装」 ● 5分でわかる 「双方向通信システムの設計ポイントとdelta」 ● 5分でわかる 「IoT関連告知」 ● 5分でわかる 38
  39. 39. AWS Summit Tokyo 2016 IoTパビリオン 39
  40. 40. 小売店向け 顧客動線・属性分析ソリューション 40
  41. 41. 大盛況! 41
  42. 42. GlobalWise様ブース ここにも 42
  43. 43. ここにも Acroquest様ブース 43
  44. 44. Acroquest様ブース / Interopでも展示中! 44
  45. 45. IoTシステムの要、ゲートウェイは... OpenBlocks IoTで! reporter.rb commander.rb OpenBlocks IoT BX1 45
  46. 46. 46
  47. 47. もちろん 47
  48. 48. ハードウェアだけでなく IoTシステム全般で ご相談ください! 48
  49. 49. そして 49
  50. 50. こんにちは ソラコムのまわしものです 50
  51. 51. 7/13開催 登録受付中! 51
  52. 52. 同日 SORACOM UG #3 開催します! 52
  53. 53. facebookページ チェックしてください! 53
  54. 54. アジェンダ ● 5分でわかる 「AWS IoTって?何ができる?」 ● 5分でわかる 「AWS IoTを利用するための実装」 ● 5分でわかる 「双方向通信システムの設計ポイントとdelta」 ● 5分でわかる 「IoT関連告知」 ● 5分でわかる 54
  55. 55. AWS IoTは... 無料枠がある 250,000メッセージ/月 x 12ヶ月の利用枠があります https://aws.amazon.com/jp/iot/pricing/ 1メッセージ=最大512バイトだから...計算はしないでおこう 55
  56. 56. AWS IoTは... 2015年12月にはGAになっていた 発表から2ヶ月でGAって、もしかして最速では? 安心して使ってください ※GA = Generally Available 56
  57. 57. AWS IoTは... MQTT(S)以外にも ➢HTTP(S) REST ➢MQTT over WebSocket(s) が、使える MQTTだけじゃない!RESTerやJavascripterにも優しいシステム 57
  58. 58. AWS IoTは... Binaryを扱うことができる JSONだけじゃなく、non-ASCIIなbyte streamでもOKなんです ※注; - AWS IoTへの入出力がJSONを期待しているサービスもあるので注意 そう、Thing ShadowとかAWS Lambdaとかね。 - 調子に乗って大きいペイロードを送ると “128KB/送信” の制限に引っかかるぞ、気をつけよう 58
  59. 59. 本セッションは ぷらっとホーム IoTサービス部 松下 / ma2shita が、お送りしました ※この後のお声がけ お気軽にどうぞ!お待ちしております! 59
  60. 60. 糸冬 60

×