Azure IoT 中心架構
IoT Central 是現成的環境,可讓您快速評估 IoT 案例。 其為應用程式平台即服務 (aPaaS) IoT 解決方案,而其主要介面是 Web UI。 另外還有 REST API,可讓您以程式設計方式與應用程式互動。
本文提供 IoT Central 解決方案架構中重要元素的概觀。
IoT Central 應用程式中的主要功能包括:
管理裝置
IoT Central 可讓您管理將資料傳送至解決方案的 IoT 裝置機群。 例如,您可以:
- 控制哪些裝置可以連線到您的應用程式及其驗證方式。
- 使用裝置範本來定義可連線至您應用程式的裝置類型。
- 藉由在連線的裝置上設定屬性或呼叫命令來管理裝置。 例如,設定控溫器裝置的目標溫度屬性,或呼叫命令來觸發裝置以更新其韌體。 您可以針對下列項目設定屬性和呼叫命令:
- 透過可自訂的 Web UI 個別裝置。
- 具有排程或隨選作業的多個裝置。
- 維護裝置中繼資料,例如客戶位址或上次服務日期。
檢視和分析資料
在 IoT Central 應用程式中,您可以檢視和分析個別裝置的資料,或從多個裝置檢視及分析彙總的資料:
- 使用對應將複雜的裝置遙測轉換成 IoT Central 內的結構化資料。
- 使用裝置範本來定義特定類型個別裝置的自訂檢視。 例如,您可以繪製個別控溫器隨時間變化的溫度,或顯示貨車的即時位置。
- 使用內建分析來檢視多個裝置的匯總資料。 例如,您可以看到多個零售商店的總佔用量,或識別具有最高或最低佔用率的商店。
- 建立自訂儀表板,以協助您管理您的裝置。 例如,您可以新增地圖、圖格和圖表來顯示裝置遙測。
保護您的解決方案
在 IoT Central 中,您可以在下列區域中設定和管理安全性:
- 使用者對應用程式的存取。
- 裝置對應用程式的存取。
- 以程式設計方式對應用程式的存取。
- 從您應用程式向其他服務的驗證。
- 稽核記錄會追蹤應用程式中的活動。
若要深入了解,請參閱 IoT Central 安全性指南。
裝置
裝置會從感應器收集資料,以將遙測串流傳送至 IoT Central 應用程式。 例如,冷藏單位會傳送溫度值的串流,或貨車會串流其位置。
裝置可以使用屬性來報告其狀態,例如閥門是開啟還是關閉。 IoT Central 應用程式也可以使用屬性來設定裝置狀態,例如設定控溫器的目標溫度。
IoT Central 也可以藉由在裝置上呼叫命令來控制裝置。 例如,指示裝置下載並安裝韌體更新。
裝置實作的遙測、屬性和命令統稱為裝置功能。 您可以在裝置與 IoT Central 應用程式之間共用的模型中定義這些功能。 在 IoT Central 中,此模型是定義特定裝置類型的裝置範本一部分。 若要深入了解,請參閱將裝置指派給裝置範本。
裝置實作應遵循 IoT 隨插即用慣例,以確保其可以與 IoT Central 通訊。 如需詳細資訊,請參閱各種語言的 SDK 與範例。
裝置使用其中一種支援的通訊協定連線到 IoT Central:MQTT、AMQP 或 HTTP。
閘道
本機閘道裝置適用於數個案例,例如:
- 裝置無法直接連線至 IoT Central,因為其無法連線至網際網路。 例如,您可能有一組已啟用藍牙的佔用量感應器,且需要透過閘道裝置連線。
- 您裝置所產生的資料數量很高。 若要降低成本,請先合併或彙總本機閘道中的資料,再將其傳送至 IoT Central 應用程式。
- 您的解決方案需要快速回應資料中的異常狀況。 您可以在閘道裝置上執行規則以識別異常,並在本機採取動作,而不需要將資料傳送至 IoT Central 應用程式。
閘道裝置通常需要比獨立裝置更多的處理能力。 實作閘道裝置的其中一個選項是使用 Azure IoT Edge,並套用其中一種標準 IoT Edge 閘道模式。 您也可以在適當的裝置上執行自己的自訂閘道程式碼。
匯出資料
儘管 IoT Central 具有內建的分析功能,但您可以將資料匯出至其他服務和應用程式。
IoT Central 資料匯出定義中的轉換可讓您在裝置資料匯出至目的地之前,先操控裝置資料的格式和結構。
匯出資料的原因包括:
儲存和分析
針對長期儲存及控制封存和保留原則,您可以持續匯出資料到其他儲存體目標。 在 IoT Central 外使用個別儲存體服務也可讓您使用其他分析工具來衍生見解,並檢視解決方案中的資料。
商業自動化
IoT Central 中的規則可讓您觸發外部動作,例如傳送電子郵件或引發事件,以回應 IoT Central 內的條件。 例如,如果裝置的環境溫度達到閾值,您可以通知工程師。
其他計算
您可能需要轉換或對資料執行計算,才能在 IoT Central 或其他服務中使用。 例如,您可以將當地天氣資訊新增至貨車所報告的位置資料。
使用 REST API 擴充
建置整合,讓其他應用程式和服務管理您的應用程式。 例如,以程式設計方式管理應用程式中的裝置,或同步使用者資訊與外部系統。
延展性
IoT Central 應用程式會在內部使用多個 Azure 服務,例如 IoT 中樞和裝置佈建服務 (DPS)。 這些基礎服務許多都是多租用戶的形式。 不過,為了確保客戶資料完全隔離,IoT Central 會使用單一租用戶 IoT 中樞。
IoT Central 會根據應用程式中的負載設定檔自動調整其 IoT 中樞。 IoT Central 可以擴大個別 IoT 中樞,並擴增應用程式中的 IoT 中樞數目。 IoT Central 也會自動調整其他基礎服務。
資料匯出
IoT Central 應用程式通常會使用其他使用者設定的服務。 例如,您可以將 IoT Central 應用程式設定為持續將資料匯出至 Azure 事件中樞和 Azure Blob 儲存體等服務。
如果設定的資料匯出無法寫入其目的地,IoT Central 會嘗試重新傳輸最多 15 分鐘的資料,之後 IoT Central 會將目的地標示為失敗。 系統會定期檢查失敗的目的地,以確認是否可寫入。
您可以停用並重新啟用資料匯出,強制 IoT Central 重新啟動失敗的匯出。
針對您所使用的資料匯出目的地服務,檢查其高可用性和可擴縮性最佳做法:
- Azure Blob 儲存體:Azure 儲存體備援,以及 Blob 儲存體的效能和可擴縮性檢查清單
- Azure 事件中樞:事件中樞的可用性和一致性,以及使用事件中樞進行調整
- Azure 服務匯流排:將應用程式與服務匯流排中斷和災害隔絕的最佳做法,以及自動更新 Azure 服務匯流排命名空間的傳訊單位
高可用性和災害復原
HADR 功能取決於您何時建立 IoT Central 應用程式:
在 2021 年 4 月前建立的應用程式
在 2021 年 4 月前建立的部分應用程式會使用單一 IoT 中樞。 針對這些應用程式,IoT Central 不提供 HADR 功能。 如果 IoT 中樞無法使用,應用程式就不提供使用。
使用 az iot central device manual-failover
命令來檢查您的應用程式是否仍然使用單一 IoT 中樞。 如果應用程式具有單一 IoT 中樞,此命令會傳回錯誤。
在 2021 年 4 月之後和 2023 年 4 月前建立的應用程式
針對具備高可用性的裝置連線,IoT Central 應用程式一律至少有兩個 IoT 中樞。 當 IoT Central 調整應用程式以回應負載設定檔中的變更時,中樞數目可能會增加或減少。
IoT Central 也會使用可用性區域,讓其使用的各種服務具備高可用性。
需要災害復原的事件,其範圍從服務子集變得無法使用,到整個區域變得無法使用皆有可能。 IoT Central 會根據事件的本質和規模,遵循不同的復原流程。 例如,如果整個 Azure 區域在發生重大失敗時變得無法使用,災害復原程序會將應用程式容錯移轉至相同地理位置內的另一個區域。
在 2023 年 4 月前建立的應用程式
在 2023 年 4 月之後建立的 IoT Central 應用程式最初具有單一 IoT 中樞。 如果 IoT 中樞無法使用,應用程式就不提供使用。 不過,IoT Central 會自動調整應用程式,並為每個 10,000 個連線的裝置新增 IoT 中樞。 如果您的應用程式需要多個 IoT 中樞,且裝置少於 10,000 部,請提交要求給 IoT Central 客戶支援。
使用 az iot central device manual-failover
命令來檢查您的應用程式目前是否使用單一 IoT 中樞。 如果應用程式目前有單一 IoT 中樞,此命令會傳回錯誤。