什麼是AWS IoT?
AWS IoT (Amazon Web Services IoT)是一款託管的雲平台,使互聯設備可以輕鬆安全地與雲應用程序及其他設備交互。 AWS IoT 可支持數十億台設備和數万億條消息,並且可以對這些消息進行處理並將其安全可靠地路由至 AWS 終端節點和其他設備。借助 AWS IoT,TimeTec的應用程序可以隨時跟踪所有設備並與其通信,即使這些設備未處於連接狀態也不例外。

借助AWS IoT,TimeTec可以輕鬆使用AWS Lambda、Amazon Kinesis、Amazon S3、Amazon Machine Learning、Amazon DynamoDB、Amazon CloudWatch、AWS CloudTrail 和內置Kibana 集成的Amazon Elasticsearch Service 等AWS 服務來構建IoT 應用程序,以便收集、處理和分析互連設備生成的數據並對其執行操作,且無需管理任何基礎設施。
AWS IOT的好處
AWS IoT設備SDK
AWS IoT 提供有 SDK,以幫助TimeTec輕鬆快速地連接硬件設備或移動應用程序。利用 AWS IoT 設備 SDK,TimeTec的設備可以使用 MQTT、HTTP 或 WebSockets 協議連接和驗證 AWS IoT 並與之交換消息。設備 SDK 支持 C、JavaScript 和 Arduino,並且包含客戶端庫、開發人員指南和製造商移植指南。
設備網關
AWS IoT 設備網關支持TimeTec設備安全高效地與 AWS IoT 進行通信。設備網關可以使用發布/訂閱模式交換消息,從而支持一對一和一對多的通信。憑藉此一對多的通信模式,AWS IoT 將支持互連設備向多名給定主題的訂閱者廣播數據。設備網關支持 MQTT、WebSocket 和 HTTP 1.1 協議,TimeTec可以輕鬆實現對專有或陳舊協議的支持。設備網關可自動擴展,以支持 10 億多台設備,而無需預配置基礎設施。
身份驗證和授權
AWS IoT 在所有連接點處提供相互身份驗證和加密,因此,絕不會在無可靠身份的設備和 AWS IoT 之間交換數據。 AWS IoT 支持 AWS 身份驗證方法(稱為“SigV4”)以及基於身份驗證的 X.509 證書。

使用 HTTP 的連接可以使用任一方法,使用 MQTT 的連接可以使用基於證書的身份驗證,使用 WebSockets 的連接可以使用 SigV4。借助 AWS IoT,您可以使用 AWS IoT 生成的證書以及由您的首選證書頒發機構 (CA) 簽署的證書。 TimeTec可以將所選的角色和/或策略映射到每個證書,以便授予設備或應用程序訪問權限,或在改變主意時撤消訪問權限(甚至都不需觸碰設備)。

TimeTec可以通過控制台或使用 API 創建、部署並管理設備的證書和策略。這些設備證書可以預配置、激活和與使用 AWS IAM 配置的相關策略關聯。如果您選擇執行此操作,則會立即撤消單個設備的訪問權限。此外,AWS IoT 還支持用戶移動應用使用 Amazon Cognito 進行連接,Amazon Cognito 將負責執行必要的操作來為應用用戶創建唯一標識符並獲取臨時的、權限受限的 AWS 憑證。
註冊表
註冊表將創建設備標識並跟踪元數據,如設備的屬性和功能。註冊表向格式一致的每台設備分配唯一的標識,而不管設備的類型和連接方式為何。此外,它還支持描述設備功能的元數據,例如傳感器是否報告溫度,以及數據是華氏度還是攝氏度。

註冊表允許您存儲有關設備的元數據,無需支付額外費用;並且只要您每隔 7 年至少訪問或更新註冊表條目一次,註冊表中的元數據就不會過期。
設備影子
憑藉 AWS IoT,您可以創建每台設備的持久虛擬版(或“影子”),它包含設備的最新狀態,因此應用程序或其他設備可以讀取消息並與此設備進行交互。設備影子保留每台設備的最後報告狀態和期望的未來狀態,即便設備處於離線狀態。您可以通過 API 或使用規則引擎,獲取設備的最後報告狀態或設置期望的未來狀態。

設備影子提供始終可用的 REST API,使得構建與TimeTec您的設備進行交互的應用程序更加輕鬆。此外,應用程序可以設置設備的期望未來狀態,而無需說明設備的當前狀態。 AWS IoT 將比較期望未來狀態和最後報告狀態之間的差異,並命令設備“彌補差異”。

AWS IoT 設備 SDK 使TimeTec的設備能夠輕鬆地同步其狀態及其影子,並響應通過影子設置的期望的未來狀態。

設備影子支持您免費存儲設備狀態多達一年。如果您至少每年更新一次狀態,則設備影子將永久保留狀態;否則狀態將過期。
規則引擎
規則引擎可以構建 IoT 應用程序,這些應用程序將收集、處理和分析互連設備在全局範圍內生成的數據並根據數據執行操作,且無需管理任何基礎設施。規則引擎評估發佈到 AWS IoT 的入站消息,並根據您定義的業務規則轉換這些消息並將它們傳輸到另一台設備或云服務。規則可以應用至一台或多台設備中的數據,並且它可以並行執行一個或多個操作。

規則引擎還可以將消息路由到 AWS 終端節點,包括 AWS Lambda、Amazon Kinesis、Amazon S3、Amazon Machine Learning、Amazon DynamoDB、Amazon CloudWatch 和內置 Kibana 集成的 Amazon Elasticsearch Service。外部終端節點可以使用 AWS Lambda、Amazon Kinesis 和 Amazon Simple Notification Service (SNS) 進行連接。

您可以在管理控制台中或者使用類似 SQL 的語句編寫規則。規則可以編寫為採用不同的方式表示,具體取決於消息內容。例如,如果溫度讀數超出特定閾值,則它可以觸發規則以便將數據傳輸到 AWS Lambda。規則還可以編寫為考慮雲中的其他數據,例如其他設備中的數據。例如,您可以在規則中編寫,如果此溫度超出其他 5 台設備的平均值 15%,則應採取措施。

規則引擎將提供數十個可用於轉換數據的可用功能,並且可以通過 AWS Lambda 創建無限個功能。例如,如果您正在處理各種不同的數值,則可以取傳入數字的平均值。規則還會觸發在 AWS Lambda 中執行 Java、Node.js 或 Python 代碼,從而為您提供最高靈活度以及處理設備數據的能力。