Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Building IoT Backends

1 647 vues

Publié le

This webinar will familiarize you with the basics of AWS IoT and AWS Lambda and demonstrate how to build IoT backends using these services. AWS IoT is a managed cloud platform that lets connected devices easily and securely interact with cloud applications and other devices. AWS Lambda is a compute service that runs your code in response to triggers and automatically manages the compute resources for you.

We will discuss how you can leverage AWS IoT to receive data and send commands to IoT devices. You will learn how to setup device gateways that trigger AWS Lambda functions to process inbound data from IoT devices. You will also learn how to use Lambda to read and write to Amazon DynamoDB, a fast and flexible NoSQL database service for all applications that need consistent, single-digit millisecond latency at any scale.

Learning Objectives:
Understand key AWS IoT and AWS Lambda and AWS IoT features
Learn how to set up a IoT backend using AWS IoT and AWS Lambda
Explore sample use cases, best practices, and tips on using AWS Lambda with AWS IoT
Who Should Attend:
IoT Developers

Publié dans : Technologie
  • Identifiez-vous pour voir les commentaires

Building IoT Backends

  1. 1. ©2015, Amazon Web Services, Inc. 或其附屬公司。保留所有權利。 Jhen-Wei Huang 黃振維 Solutions Architect 2017 年 07 月 06 日 基礎:運用 AWS IoT 與 AWS Lambda 建置物聯網 (IoT) 後端的最佳實務
  2. 2. 贊助廠商
  3. 3. AWS IoT概觀 AWS IoT Button與Lambda建置運作示範 今天的網路研討會內容
  4. 4. AWS IoT:可讓連線裝置輕鬆安全地與雲端應用程式 進行互動 從裝置擷取和篩選資料,並 根據自訂的規則來進行動作 安全地連線,並涵跨多個 網路管理任一實體裝置 建置能夠隨時與裝置進行 可靠互動的 web 應用程式 裝置 網路 安全性 資料收集 智慧 連結數十億的裝置 輕量型通訊協定 X509 憑證 DynamoDB、 Kinesis 和 S3 觸發 Lambda 功能 1 2 3
  5. 5. 裝置 SDK 一套用戶端程式庫,可用來 進行連線、驗證和交換訊息 裝置閘道 透過 MQTT 與 HTTP 來和裝置進行通訊 身分驗證 透過相互驗證與加密 機制來確保安全 規則引擎 根據規則來轉換訊息, 並轉傳至 AWS 服務 AWS 服務 - - - - - 3P 服務 影子 間歇連線期間的 持續物件狀態 應用程式 AWS IoT API 登錄檔 找出並管理您的物件 AWS IoT:運作方式
  6. 6. 安全性與身份 身分驗證 透過相互驗證與加密 機制來確保安全
  7. 7. 安全性與身份 TLS交互身份驗證 利用政策來建立精細分級的許可權限 標準Web安全性
  8. 8. 裝置閘道 裝置閘道 透過 MQTT 與 HTTP 來和裝置進行通訊
  9. 9. 裝置閘道 (Device Gateway) 標準通訊協定 – MQTT / HTTP 裝置的AWS前端 可擴展的 預設即提供安全連線 – X509憑證,TLS 1.2 主題式架構 building3/chillers/unit5 building3/pickers/unit9 building1/chillers/unit1
  10. 10. 裝置登錄檔 (Registry) 登錄檔 找出並管理您的物件
  11. 11. 裝置登錄檔 (Registry)
  12. 12. 裝置影子 (Device Shadows) 影子 間歇連線期間的 持續物件狀態 應用程式
  13. 13. 裝置影子 (Device Shadows)
  14. 14. 裝置影子 (Device Shadows) { “state” : { “desired” : { “engine” : “ON”, “tires” : { “LF” : 40, “RF” : 38, “LR” : 37, “RR” : 39 }, “CCD” : { “A” : 0, “B” : 8, “C” : 7, “D” : 9 } }, “reported” : { “engine” : “OFF”, “tires” : { “LF” : 40, “RF” : 38, “LR” : 37, “RR” : 39 }, “CCD” : { “A” : 0, “B” : 8, “C” : 7, “D” : 9 } }, “version” : 10 }
  15. 15. 裝置影子 (Device Shadows) { “state” : { “desired” : { “engine” : “ON”, “tires” : { “LF” : 40, “RF” : 38, “LR” : 37, “RR” : 39 }, “CCD” : { “A” : 0, “B” : 8, “C” : 7, “D” : 9 } }, “reported” : { “engine” : “OFF”, “tires” : { “LF” : 40, “RF” : 38, “LR” : 37, “RR” : 39 }, “CCD” : { “A” : 0, “B” : 8, “C” : 7, “D” : 9 } }, “delta” : { “engine” : “ON” } }, “version” : 10 } “engine” : “ON”
  16. 16. 裝置影子 (Device Shadows) { “state” : { “desired” : { “engine” : “ON”, “tires” : { “LF” : 40, “RF” : 38, “LR” : 37, “RR” : 39 }, “CCD” : { “A” : 0, “B” : 8, “C” : 7, “D” : 9 } }, “reported” : { “engine” : “OFF”, “tires” : { “LF” : 40, “RF” : 38, “LR” : 37, “RR” : 39 }, “CCD” : { “A” : 0, “B” : 8, “C” : 7, “D” : 9 } }, “delta” : { “engine” : “ON” } }, “version” : 10 } “engine” : “OFF”
  17. 17. 裝置影子 (Device Shadows) { “state” : { “desired” : { “engine” : “ON”, “tires” : { “LF” : 40, “RF” : 38, “LR” : 37, “RR” : 39 }, “CCD” : { “A” : 0, “B” : 8, “C” : 7, “D” : 9 } }, “reported” : { “engine” : “OFF”, “tires” : { “LF” : 40, “RF” : 38, “LR” : 37, “RR” : 39 }, “CCD” : { “A” : 0, “B” : 8, “C” : 7, “D” : 9 } }, “delta” : { “engine” : “ON” } }, “version” : 10 } “engine” : “ON”
  18. 18. 裝置影子 (Device Shadows) { “state” : { “desired” : { “engine” : “ON”, “tires” : { “LF” : 40, “RF” : 38, “LR” : 37, “RR” : 39 }, “CCD” : { “A” : 0, “B” : 8, “C” : 7, “D” : 9 } }, “reported” : { “engine” : “ON”, “tires” : { “LF” : 40, “RF” : 38, “LR” : 37, “RR” : 39 }, “CCD” : { “A” : 0, “B” : 8, “C” : 7, “D” : 9 } }, “version” : 10 } “engine” : “ON”
  19. 19. 規則引擎 (Rules Engine) 規則引擎 根據規則來轉換訊息, 並轉傳至 AWS 服務 AWS 服務 - - - - - 3P 服務
  20. 20. 綜合評估:回應一組而非一個。提供數十種函數 () 多項/同時動作:有時候某個狀況會需要採取多項動作 簡單、熟悉的語法 - 用來定義篩選主題的 SQL 語句 - 選擇性使用的 WHERE 子句 - 進階 JSON 支援 改善訊號的功能:雜訊 - 字串處理 (regex 支援) - 數學運算 - 加密支援 - UUID、時間戳記、rand 等 規則引擎 (Rules Engine)
  21. 21. 規則引擎 (Rules Engine) 規則引擎連結AWS IoT到 AWS服務 (AWS Services)以及 外部服務 (External Endpoints) 1. AWS Services (Direct Integration) 2. Rest of AWS (via Amazon Kinesis, Lambda, S3, and more) 3. External Endpoints (via Lambda and SNS)
  22. 22. 規則引擎 (Rules Engine)
  23. 23. 規則引擎 (Rules Engine)
  24. 24. AWS Lambda:可執行您的程式碼以回應事件的運算服務 Lambda 功能:無狀態、觸發式的程式碼執行 由事件觸發: • 直接同步與非同步呼叫 • 上傳至 Amazon S3 儲存貯體 • API 閘道呼叫 • 及更多其他事件... 讓下列工作變得容易 • 建置可執行大量作業的後端服務 • 執行資料驅動的稽核、分析與通知
  25. 25. 持續擴展不需管理伺服器 AWS Lambda 會執行程式碼來回應 每個觸發事件,自動擴充您的應用 程式。您的程式碼會同時個別執行 和處理每個觸發事件,根據工作負 載的大小精確調整規模。 次秒級計量 使用 AWS Lambda 時,是以 程式碼的執行時間 (每 100 毫秒計算) 和觸發次數計費。如果程式碼 未執行就不需付費。 AWS Lambda 會自動執行程式碼,您 無需佈建或管理伺服器。只需撰寫程式 碼並上傳至 Lambda 即可。 運用 AWS Lambda 來建置行動後端的優勢 1 2 3
  26. 26. Getting Started with AWS IoT Blog and Forums for AWS IoT Github AWS IoT Device SDK 開始使用AWS IoT
  27. 27. 入門套件
  28. 28. AWS IoT 按鈕 — AWS IoT 的「Hello World」 (簡單的可編程裝置) • 採用 Amazon Dash 按鈕的硬體 (無狀態 Wi-Fi 按鈕) • 程式碼位於雲端上;不需撰寫裝置 特定的程式碼或進行更新 • 了解規則、影子和主題 https://aws.amazon.com/iotbutton/
  29. 29. 今天的示範工作流程:從 AWS IoT 到 AWS Lambda 到 Amazon SNS Lambda 功能 規則引擎 SNS 主題 私密金鑰 與憑證 物件/裝置 SDK AWS 服務 執行角色 政策許可政策 規則 AWS IoT Action Select * from ‘iotbutton/+’
  30. 30. AWS IoT Button 入門 • 行動應用程式 • Lambda藍圖精靈 1. 在 IoT Type 下拉式選單中選擇 「IoT Button」。 2. 輸入您的裝置序號 (DSN)。你可 以在裝置背面找到 DSN。 3. 按照步驟來設定您的 AWS IoT Button,以連接到 Wi-Fi 和 AWS IoT。 4. 繼續進行精靈中的步驟,並更新 範例 Lambda 函數。在程式碼編 輯器中輸入您的電子郵件。 5. 開始按一下! AWS IoT Button 入門: https://aws.amazon.com/tw/iotbutton/getting-started/ AWS IoT Button Wizard Quickstart: http://docs.aws.amazon.com/iot/latest/developerguide/iot-button-lambda.html
  31. 31. 範本程式碼:使用 Amazon Kinesis 和 AWS Lambda 的行動後端 https://github.com/awslabs/lambda-refarch-iotbackend
  32. 32. 參考架構:使用 Amazon Kinesis 和 AWS Lambda 的 IoT 後端 https://s3.amazonaws.com/awslambda-reference-architectures/iot-backend/lambda-refarch-iotbackend.pdf
  33. 33. AWS IoT:可讓連線裝置輕鬆安全地與雲端應用程式 進行互動 從裝置擷取和篩選資料,並 根據自訂的規則來進行動作 安全地連線,並涵跨多個 網路管理任一實體裝置 建置能夠隨時與裝置進行 可靠互動的 web 應用程式 裝置 網路 安全性 資料收集 智慧 連結數十億的裝置 輕量型通訊協定 X509 憑證 DynamoDB、 Kinesis 和 S3 觸發 Lambda 功能 1 2 3
  34. 34. 三個後續步驟 1. 將您的 IoT 裝置連線至 AWS IoT,或購買其中一種 AWS IoT 硬體入門套件,開始使 用。只要在 AWS 管理主控台中點選,就能制定裝置政策與規則,讓您輕鬆安全地將 裝置連線到雲端,並從後端服務存取資料、商業邏輯或功能。 2. 建立並測試您的第一個 Lambda 功能。您不需學習任何新語言、工具或架構,即可採 用 AWS Lambda。您可以使用任何第三方程式庫,甚至是原生程式庫。每個月的前 1 百萬次功能呼叫免費! 3. 選擇 Lambda 做為您 IoT 裝置的規則動作… 利用範本程式碼和設定說明,快速建置 您第一個使用 AWS IoT 和 AWS Lambda 的 IoT 裝置後端。
  35. 35. 感謝您! 請造訪 http://aws.amazon.com/iot、AWS 部落格 及 AWS IoT 論壇,以進一步了解並開始使用 AWS IoT。 請造訪 http://aws.amazon.com/lambda、 AWS Compute 部落格及 Lambda 論壇, 以進一步了解並開始使用 Lambda。
  36. 36. Remember to complete your evaluations!

×