問:什麼是 AWS IoT Core?

AWS IoT Core 是一個受管的雲端平台,可讓連線裝置輕鬆安全地與雲端應用程式及其他裝置進行互動。AWS IoT Core 能夠支援數十億個裝置和數兆則訊息,並能可靠且安全地處理和路由這些訊息至 AWS 端點。有了 AWS IoT Core,您的應用程式可以隨時追蹤所有裝置並進行通訊,即便是在裝置未連線時。

問:AWS IoT Core 提供哪些功能?

裝置和 AWS 雲端的連線能力。首先,使用 AWS IoT Core 可以用低延遲和低開銷的方式與連線裝置進行安全的通訊。您可以無限制地擴展通訊的裝置數量。AWS IoT Core 支援標準通訊協定 (目前支援 HTTP、MQTT 和 WebSocket)。而使用 TLS 可以很安全地進行通訊。

裝置和 AWS 雲端的連線能力。 首先,使用 AWS IoT Core 可以用低延遲和低開銷的方式與連線裝置進行安全的通訊。您可以無限制地擴展通訊的裝置數量。AWS IoT Core 支援標準通訊協定 (目前支援 HTTP、MQTT 和 WebSocket)。而使用 TLS 可以很安全地進行通訊。

處理連線裝置傳送的資料。其次,使用 AWS IoT Core 可以持續導入、篩選、轉換和路由來自連線裝置的資料串流。您可以根據資料採取動作,並路由該資料以進行進一步的處理和分析。

與連網裝置的應用程式互動。最後,AWS IoT Core 可加速物聯網應用程式開發。它可為在雲端和行動裝置上執行的應用程式提供簡單易用的界面,以存取連線裝置傳送的資料及將資料和命令傳回裝置。

問:AWS IoT Core 如何運作?

感應器、傳動器、內嵌裝置、智慧型設備和穿戴式裝置等連線裝置可透過 HTTPS、WebSocket 或安全 MQTT 連接至 AWS IoT Core。包含在 AWS IoT Core 內的是裝置閘道,可在連線裝置及雲端與行動應用程式之間進行安全、低延遲、低開銷以及雙向的通訊。

AWS IoT Core 還包含規則引擎,可不間斷地處理連線裝置傳來的資料。您可以設定規則來篩選和轉換資料,您也可以設定規則,透過 Lambda 將資料路由至其他 AWS 服務 (像是 DynamoDB、Kinesis、Lambda、SNS、SQS、CloudWatch、Elasticsearch Service 搭配內建 Kibana 整合) 及非 AWS 服務,以進行進一步的處理、儲存或分析。

您還可以使用登錄檔來登錄和追蹤連線到 AWS IoT Core 的裝置,或將來可能連線的裝置。AWS IoT Core 中的裝置陰影可使用簡單的 REST API 讓雲端和行動應用程式查詢裝置傳送的資料以及將命令傳送到裝置,同時讓 AWS IoT Core 處理與裝置之間的基礎通訊。裝置陰影透過提供統一的界面給裝置來加速應用程式的開發,即使裝置使用可能與應用程式不相容的其中一種物聯網通訊和安全協定也適用。即使連線裝置受限於不穩定的網路連線、有限的頻寬、運算能力或電力,裝置陰影也能透過提供裝置永遠可用的界面來加速應用程式的開發。

與 AWS IoT Core 之間通訊很安全。服務需要所有用戶端 (連線裝置、伺服器應用程式、行動應用程式或人類使用者) 使用增強式身份驗證 (X.509 憑證、AWS IAM 登入資料或透過 AWS Cognito 進行的第三方身份驗證)。所有通訊都會經過加密。AWS IoT Core 還提供精確的授權來隔離和保護已驗證用戶端的通訊安全。

問:什麼是 2lemetry,它與 AWS IoT 有何關係?

AWS 於 2015 年收購 2lemetry,其功能提供 MQTT 訊息代理程式和規則引擎等 AWS IoT Core 基礎元素。

問:哪些區域提供 AWS IoT Core?

如需 AWS IoT Core 目前的區域清單,請參閱 AWS 區域表

只要您擁有上述其中一個 AWS 區域的存取權,無論在哪個地理位置都能使用 AWS IoT Core。

問:如何開始使用 AWS IoT Core?

使用 AWS IoT 主控台或參閱開發人員指南的快速啟動章節,在幾分鐘內就能試用 AWS IoT Core。

此外,請參考合作夥伴提供且由 AWS 支援的入門套件

請參閱 AWS IoT Core 文件以取得更進一步的詳細資訊。

問:AWS IoT 主控台支援哪些語言?

​AWS IoT 主控台支援英文、法文、日文、韓文、簡體中文、德文、葡萄牙文、西班牙文、義大利文和繁體中文。

問:如何切換主控台的語言?

按一下主控台左下方的語言,然後選取語言。語言選項會套用到不同 AWS 服務的主控台。

問:有哪些方法可以存取 AWS IoT Core?

您可以使用 AWS 管理主控台AWS 開發套件、AWS CLI 和 AWS IoT Core API。連線裝置則可使用 AWS IoT Device SDK 簡化與 AWS IoT Core 之間的通訊。

AWS IoT Core API 和命令大概可分成兩類:控制平面操作和資料平面操作。控制平面操作可讓您執行例如設定安全性、登錄裝置、設定路由資料規則及設定日誌等任務。資料平面操作則可以讓您用低延遲和高輸送率大規模地將資料從連線裝置導入 AWS IoT Core。

問:AWS IoT Core 支援哪些通訊和身份驗證協定?

對於控制平面操作,AWS IoT Core 支援 HTTPS。對於資料平面操作,AWS IoT Core 則支援 HTTPS、WebSocket 和安全 MQTT (IoT 案例中常用的協定)。

傳送至 AWS IoT Core 的 HTTPS 和 WebSocket 請求會透過 AWS IAM 或 AWS Cognito 進行身份驗證,這兩者都支援 AWS SigV4 身份驗證。如果您使用 AWS 開發套件或 AWS CLI,則會在幕後自動幫您處理 SigV4 身份驗證。HTTPS 請求還會使用 X.509 憑證進行身份驗證。傳送至 AWS IoT Core 的 MQTT 訊息會使用 X.509 憑證進行身份驗證。

透過 AWS IoT Core,您可以使用 AWS IoT Core 產生的憑證,也可以使用偏好的憑證授權單位 (CA) 所簽署的憑證。

問:未直接連接網際網路的裝置是否可存取 AWS IoT Core?

是,可透過實體集線器。連接至私有 IP 網路的裝置和使用非 IP 無線協定 (像是 ZigBee 或 Bluetooth LE) 的裝置都可存取 AWS IoT Core,只要在裝置和 AWS IoT Core 之間使用實體集線器做為媒介以進行通訊和提供安全性即可。

問:應用程式應如何存取 AWS IoT Core?

連接至 AWS IoT Core 的應用程式分成兩類:1.配套應用程式以及 2. 伺服器應用程式。配套應用程式是行動或用戶端瀏覽器應用程式,可透過雲端與連線裝置進行互動。讓消費者從遠端解除家裡智慧鎖的行動應用程式就是配套應用程式的其中一個範例。伺服器應用程式旨在同時監視和控制大量連線裝置。伺服器應用程式的其中一個範例就是車隊管理網站,這種網站可以即時在地圖上繪出數千輛貨車的位置。

AWS IoT Core 可讓配套應用程式和伺服器應用程式透過統一的 RESTful API 來存取連線裝置。應用程式還能選擇使用發布/訂閱來和連線裝置進行直接通訊。

配套應用程式通常會使用最終使用者身分進行身份驗證,而這些身分可能由您自己的身分存放區或第三方身分供應商 (例如 Facebook 和 Login with Amazon) 管理。對於使用與多個身分供應商整合的 Amazon Cognito 的配套應用程式。Cognito 身分可獲授權以存取 AWS IoT Core,而且可將他們的存取權限制為只能存取與其相關的資源。例如,若您是一家連線洗衣機製造商,您可以授權消費者只能存取與他們自己的洗衣機有關的 AWS IoT Core 資訊。

伺服器應用程式 (例如在 Amazon EC2 上執行的映射應用程式) 可以使用 IAM 角色來存取 AWS IoT Core。

問:是否可取得從我的帳戶發出的 AWS IoT Core API 呼叫歷史記錄,以便用於安全分析和操作故障排除?

是,要取得從您的帳戶發出的 AWS IoT Core API 呼叫歷史記錄,您只需在 AWS 管理主控台中開啟 CloudTrail 即可。

問:如何切換主控台的語言?

按一下主控台左下方的語言,然後選取語言。語言選項會套用到不同 AWS 服務的主控台。

問:如何傳送意見反應?

要傳送意見反應,按一下主控台註腳列上的 "Feedback" 連結。

問:什麼是裝置閘道?

裝置閘道形成了連線裝置和雲端功能 (例如規則引擎、裝置陰影和其他 AWS 及第三方服務) 之間的通訊骨幹。

裝置閘道支援發布/訂閱簡訊模式,以支援可擴展、低延遲和低開銷的通訊。這對預計有數十億部裝置,且要經常通訊並將延遲降到最低的物聯網案例而言特別有用。發布/訂閱涉及用戶端在稱為「主題」的邏輯通訊通道上發布訊息,以及用戶端訂閱主題以接收訊息。裝置閘道讓發布者與訂閱者之間可以進行通訊。組織過去需要佈建、操作、擴展和維護自己的伺服器做為裝置閘道,以充分利用發布/訂閱的優點。AWS IoT Core 透過提供裝置閘道消除了這個障礙。

裝置閘道會隨著用量自動擴展,您無須負擔任何營運開銷。AWS IoT Core 支援與裝置閘道間的安全通訊、AWS 帳戶層級隔離,以及 AWS 帳戶內的精確授權。裝置閘道目前支援透過安全 MQTT 和 WebSocket 發佈和訂閱,以及透過 HTTPS 發佈。 

問:什麼是 MQTT?

MQTT 是輕量型發布/訂閱網路協定,旨在大幅降低網路頻寬和裝置資源需求。MQTT 還支援使用 TLS 進行安全通訊。MQTT 通常用於物聯網使用案例。MQTT v3.1.1 是一種 OASIS 標準,且 裝置閘道支援大部分的 MQTT 規格。

問:問:什麼是規則引擎?

規則引擎可不間斷地處理連接至 AWS IoT Core 之裝置的傳入資料。您可以使用類似 SQL 的直覺式語法在規則引擎中設定規則,以自動篩選和轉換所傳入的資料。您還可進一步設定規則,將資料從 AWS IoT Core 路由至多個其他 AWS 服務,或是路由到自有的服務或第三方服務。

以下是規則的一些範例使用案例:

  • 篩選和轉換內送訊息並以時間序列資料的形式存放在 DynamoDB。
  • 當來自感應器的資料超過特定閾值時,透過 SNS 傳送推送通知。
  • 將韌體檔案儲存至 S3
  • 使用 Kinesis 同時處理來自大量裝置的訊息
  • 叫用 Lambda 對傳入資料進行自訂處理
  • 傳送命令至一組裝置,其中包含自動重新發布

問:如何定義及觸發規則?

AWS IoT Core 規則由兩個主要部分組成:

SQL 陳述式可指定要套用規則的發布/訂閱網路主題、要執行的資料轉換 (如果有),以及應執行規則的條件。規則會套用到針對指定主題發布的每則訊息。

動作清單可定義執行規則時要採取的動作,也就是當內送訊息符合規則中指定的條件時。

規則定義會使用 JSON 結構描述。您可以直接編輯 JSON 或使用 AWS 管理主控台中的規則編輯器。

舉例來說,底下的規則指定每當溫度超過 50,就將來自感應器的溫度資料儲存至 DynamoDB:

{

    "sql": "SELECT * from 'iot/tempSensors/#' WHERE temp > 50",

    "description": "Rule to save sensor data when temperature is about 50",

    "actions": [

     {

            "dynamoDB": {

            "tableName": "HighTempTable",

            "roleArn": "arn:aws:iam::your-aws-account-id:role/dynamoPut",

            "hashKeyField": "key",

            "hashKeyValue": "${topic(3)}",

            "rangeKeyField": "timestamp",

            "rangeKeyValue": "${timestamp()}"

            }

        }

    ]

}

在這個範例中,感應器在 "iot/tempSensors/" 下的主題進行發布。規則的第一行定義了用來查詢 "iot/tempSensors/#" 主題的 SQL SELECT 陳述式。其中包含一個 WHERE 子句,它會擷取訊息承載中 ‘temp’ 欄位的值,並檢查該值是否符合「大於 50」這個條件。如果符合條件,就會將資料存放至指定的 DynamoDB 表。這個範例使用內建函數來處理周遊訊息承載和取得目前時間等任務。

問:哪裡可以進一步了解規則?

您可以在這裡進一步了解規則的相關資訊:Core 規則文件

問:什麼是登錄檔,而又該用於何處?

物聯網案例包含數量不多的關鍵任務裝置到大型裝置叢集等各種案例。登錄檔可讓您整理並追蹤這些裝置。您可以針對連接至 AWS IoT Core 的每個裝置,在登錄檔中維護一個邏輯控點。登錄檔中的每個裝置都可被唯一識別,而且有與其關聯的中繼資料,例如型號、支援聯絡方式和憑證。您可以根據中繼資料在登錄檔中搜尋連線裝置。

問:什麼是裝置類型?

使用裝置類型可透過定義相同裝置類別中的裝置共同特性,有效地管理裝置的目錄。此外,與裝置類別關聯的裝置現在可有高達 50 個屬性,包含 3 個可搜尋屬性。

問:什麼是簡化的許可管理?

此功能可讓您使用參考登錄或 X.509 憑證屬性的變數,輕鬆地管理大量裝置的許可政策。登錄和憑證屬性與裝置政策的整合提供了以下好處:

  • 您現在可以參考裝置許可政策中的登錄檔屬性。參考登錄檔中定義的裝置屬性可讓您的政策反映登錄檔所做的任何變更。例如,透過參考名為 "building-address" 的 Thing Attribute 做為政策中的變數,裝置就會在移動建置時自動繼承一組新的許可。
  • 您可以讓多個裝置共用一個普遍政策。相同類別裝置可以共用一個普遍政策,無須為各裝置建立唯一的政策。例如,參考 "serial-number" 做為變數的政策可連接到相同型號的所有裝置。當連接相同序號的裝置時,政策變數會自動被它們的序號取代。

問:什麼是裝置陰影?

裝置陰影可讓雲端和行動應用程式輕鬆地與在 AWS IoT Core 登錄的連線裝置互動。AWS IoT Core 中的裝置陰影包含連線裝置的屬性。您可以定義適用於使用案例的任何屬性集。例如,針對智慧燈泡,您可以定義「開或關」、「顏色」和「亮度」做為屬性。連線裝置應該要回報那些屬性的實際值,而這些值會存放在裝置陰影。應用程式使用 AWS IoT Core 提供的 RESTful API 就能輕鬆取得及更新屬性。AWS IoT Core 和 Device SDK 會負責在 AWS IoT Core 中同步連線裝置及其裝置陰影之間的屬性值。

問:是否必須使用登錄檔與裝置陰影?

您可以使用 AWS IoT Core 中的裝置閘道和/或規則引擎,讓應用程式直接與連線裝置進行通訊。不過,我們建議您使用登錄檔和裝置陰影,因為它們能提供較為豐富和更有結構的開發和管理經驗,讓您專注在為客戶建立獨特的價值,而不是著重在連線裝置和雲端之間的基礎通訊和同步。

問:AWS IoT Core 中裝置及其裝置陰影的生命週期為何?

  • 您在登錄檔中登錄裝置 (像是燈泡)。
  • 您將連線裝置的程式設計為發布一組屬性值或「狀態」(「我已開啟且我的顏色是紅色」) 至 AWS IoT Core 服務。
  • 上次回報的狀態會存放在 AWS IoT Core 的裝置陰影中。
  • 應用程式 (例如,控制燈泡的行動應用程式) 使用 RESTful API 來查詢 AWS IoT Core 以取得燈泡上次回報的狀態,免除與燈泡直接進行通訊的複雜性。
  • 當使用者想要變更狀態 (像是將燈泡從開變更為關) 時,應用程式會使用 RESTful API 請求更新,也就是在 AWS IoT Core 設定裝置「所需」的狀態。AWS IoT Core 會負責將所需的狀態同步到裝置。
  • 當連線裝置將狀態更新為所需狀態時,應用程式會收到通知。

問:哪裡可以進一步了解登錄檔和裝置陰影?

如需登錄檔的詳細資訊,請參閱登錄檔文件。如需裝置陰影的詳細資訊,請參閱裝置陰影文件

問:是否可在 AWS IoT Core 設定精確的授權?

是。與其他 AWS 服務相似,您在 AWS IoT Core 可精確控制每個身分授權叫用的一組 API 動作。此外,您還可精確控制身分可發布或訂閱的發布/訂閱網路主題,以及身分可存取之登錄檔的裝置和裝置陰影。

問:哪裡可以進一步了解 AWS IoT Core 的安全和存取控制?

如需詳細資訊,請參閱 AWS IoT Core 安全與身分

問:什麼是憑證的 Just-in-time 註冊?

裝置憑證的 Just-in-time 註冊 (JITR) 是 2016 年 4 月推出的「使用自有憑證」功能的延伸,可簡化在 AWS IoT Core 註冊裝置的程序。支援 JITR 之前,裝置註冊程序需要兩個步驟:首先,在 AWS IoT Core 註冊憑證授權單位 (CA) 憑證,然後個別註冊 CA 簽署的裝置憑證。使用 JITR,您現在可以在裝置第一次連接到 AWS IoT Core 時自動註冊裝置憑證,以完成第二個步驟。如此可節省註冊裝置憑證的時間,還能在製造過程中讓裝置保持離線狀態。要進一步自動化 IoT 裝置佈建,您可以使用啟用憑證及連接政策的 Lambda 動作建立 AWS IoT Core 規則。如需詳細資訊,請參閱 AWS 上的物聯網部落格或開發人員文件

問:什麼是 AWS IoT Device SDK?

AWS IoT Device SDK 可簡化和加速在連線裝置 (微型控制器、感應器、傳動器、智慧型裝置、穿戴式裝置等) 上執行之程式碼的開發。首先,裝置可使用此 Device SDK 優化記憶體、電力和網路頻寬耗用情形。同時,Device SDK 可透過內建 TLS、WebSocket 和 MQTT 支援進行高度安全、低延遲和低開銷的通訊。此 Device SDK 還支援較高層級的抽象 (例如,在 AWS IoT Core 同步裝置及其裝置陰影的狀態),以加速物聯網應用程式的開發。

AWS IoT Device SDK 以開放原始碼專案的形式免費提供。如需詳細資訊,請瀏覽我們的 Device SDK 頁面。

問:AWS IoT Device SDK 支援哪些程式設計語言和硬體平台?

AWS 目前提供 C 和 Node.js 語言及 Arduino Yún 平台的 AWS IoT Device SDK。

此外,有多家硬體製造商已與 AWS 合作,在各自的平台上提供 AWS IoT Device SDK。如需硬體平台的詳細資訊,請瀏覽我們的入門頁面

最後,AWS IoT Device SDK 是開放原始碼。如果您的語言和硬體平台尚未受到支援,則可以將開發套件移植到您選擇的語言和硬體平台。 

問:我應該使用 AWS IoT Device SDK 還是 AWS 開發套件?

AWS IoT Device SDK 可補足 AWS 開發套件不足之處。物聯網專案通常涉及在微型控制器和其他資源受限裝置上執行的程式碼。不過,物聯網專案通常包含在雲端和行動裝置上執行的應用程式,這些應用程式會與微型控制器/資源受限裝置互動。AWS IoT Device SDK 適用於微型控制器/資源受限裝置,而 AWS 開發套件則適用於雲端和行動應用程式。

如需 AWS IoT Device SDK 的詳細資訊,請參閱 AWS Device SDK

問:AWS 免費方案中是否提供 AWS IoT Core?

是。如需詳細資訊,請瀏覽我們的定價頁面

問:AWS IoT Core 的費用是多少?

請瀏覽我們的定價頁面以取得相關資訊。

探索更多 AWS IoT Core 資源

瀏覽資源頁面
準備好開始使用了嗎?
註冊
還有其他問題嗎?
聯絡我們