Azure IoT 裝置開發

Azure IoT 是受控和平台服務的集合,可連線、監視及控制您的 IoT 裝置。 Azure IoT 為開發人員提供一組完整的選項。 您的選項包括裝置平臺、支援雲端服務、SDK、MQTT 支援,以及建置已啟用裝置的雲端應用程式的工具。

本文概述開始使用 Azure IoT 的開發人員的幾個重要考慮。

裝置開發路徑

本文討論兩個常見的裝置開發路徑。 每個路徑都包含一組相關的開發選項和工作。

  • 一般裝置開發: 符合新式開發實務、以較高順序的語言為目標,並在 Windows 或 Linux 等一般用途操作系統上執行。

    注意

    如果您的裝置能夠執行一般用途操作系統,建議您遵循 一般裝置開發 路徑。 它提供一組更豐富的開發選項。

  • 內嵌裝置開發: 描述以資源限制裝置為目標的開發。 通常您會使用資源受限的裝置來降低每個單位成本、耗電量或裝置大小。 這些裝置可直接控制其執行的硬體平臺。

一般裝置開發

有些開發人員會調整現有的一般用途裝置,以連線到雲端,並整合到其IoT解決方案中。 這些裝置可以支援較高順序的語言,例如 C# 或 Python,而且通常支援強固的一般用途操作系統,例如 Windows 或 Linux。 常見的目標裝置包括計算機、容器、Raspberry Pis 和行動裝置。

一般裝置開發人員不需大規模開發受限制的裝置,而是著重於啟用其雲端解決方案所需的特定 IoT 案例。 有些開發人員也會針對其雲端解決方案處理受限制的裝置。 如需使用資源受限裝置的開發人員,請參閱 內嵌裝置開發 路徑。

重要

如需要用於一般裝置開發的 SDK 資訊,請參閱 裝置 SDK

內嵌裝置開發

內嵌開發目標受限於記憶體和處理有限的裝置。 相較於傳統開發平臺,受限裝置會限制可達成的目標。

內嵌裝置通常會使用即時操作系統(RTOS),或完全不使用作業系統。 由於缺少一般用途操作系統,內嵌裝置可完全控制其硬體。 這一事實讓內嵌裝置成為實時系統的絕佳選擇。

目前的內嵌 SDK 是以 C 語言為目標。 內嵌 SDK 不提供作業系統或 Eclipse ThreadX 支援。 它們是以內嵌目標為目的所設計。 設計考慮包括最少使用量的需求,以及非記憶體配置設計的需求。

重要

如需與內嵌裝置開發搭配使用的SDK相關信息,請參閱 內嵌裝置 SDK

選擇您的硬體

Azure IoT 裝置是IoT解決方案的基本建置組塊,負責觀察和與其環境互動。 有許多不同類型的IoT裝置,瞭解存在的裝置種類,以及它們如何影響您的開發程式很有説明。

如需本文所涵蓋之裝置類型差異的詳細資訊,請參閱 關於IoT裝置類型

選擇 SDK

身為 Azure IoT 裝置開發人員,您有一組各種不同的 SDK、通訊協定和工具,可協助建置已啟用裝置的雲端應用程式。

有兩個主要選項可連線裝置,並與 IoT 中樞 通訊:

  • 使用 Azure IoT SDK。 在大部分情況下,我們建議您直接使用 Azure IoT SDK 與使用 MQTT。 SDK 可簡化開發工作,並簡化連線和管理裝置的複雜性。 IoT 中樞 支援MQTT v3.1.1 通訊協定和 IoT SDK 可簡化使用 MQTT 與 IoT 中樞 通訊的程式。
  • 直接使用 MQTT 通訊協定。 建置 IoT 中樞 解決方案以直接使用 MQTT 有一些優點。 例如,直接不使用 SDK 而使用 MQTT 的解決方案可以建置在開放式 MQTT 標準上。 以標準為基礎的方法可讓解決方案更具可攜性,並讓您更能控制裝置的連線和通訊方式。 不過,IoT 中樞 不是功能完整的 MQTT 訊息代理程式,而且不支援 MQTT v3.1.1 標準中指定的所有行為。 MQTT v3.1.1 的部分支援增加了開發成本和複雜性。 裝置開發人員應該權衡使用IoT裝置SDK與直接使用MQTT的取捨。 如需詳細資訊,請參閱 使用 MQTT 通訊協定與 IoT 中樞通訊。

裝置開發有三組IoT SDK:

  • 裝置 SDK(使用較高順序的語言將現有的一般用途裝置連線到 IoT 應用程式)
  • 內嵌裝置 SDK (用於將資源限制裝置連線到 IoT 應用程式)
  • 服務 SDK (用於建置將裝置連線到服務的 Azure IoT 解決方案)

若要深入瞭解如何選擇 Azure IoT 裝置或服務 SDK,請參閱 Azure IoT SDK

選取服務

開發程式中的關鍵步驟是選取服務來連線您的裝置。 連線和管理裝置的主要 Azure IoT 服務選項有兩種:IoT 中樞 和 IoT Central。

  • Azure IoT 中樞。 使用IoT中樞裝載IoT應用程式和連線裝置。 IoT 中樞 是平臺即服務 (PaaS) 應用程式,可作為IoT應用程式和連線裝置之間雙向通訊的中央訊息中樞。 IoT 中樞 可以調整以支援數百萬部裝置。 與其他 Azure IoT 服務相比,IoT 中樞 提供應用程式設計的最大控制和自定義功能。 它也提供大部分的開發人員工具選項來與服務搭配使用,但代價是開發和管理複雜度有所提高。
  • Azure IoT Central。 IoT Central 的設計目的是簡化使用IoT解決方案的程式。 您可以使用它作為概念證明來評估IoT解決方案。 IoT Central 是一種軟體即服務 (SaaS) 應用程式,可提供 Web UI 來簡化建立應用程式的工作,以及連線和管理裝置的工作。 IoT Central 會使用 IoT 中樞 來建立和管理應用程式,但對使用者而言,大部分的詳細數據都會保持透明。

線上和管理裝置的工具

選取要使用的硬體和裝置 SDK 之後,您有數個選項的開發人員工具。 您可以使用這些工具將裝置連線到 IoT 中樞,並加以管理。 下表摘要說明常見的工具選項。

工具 文件 描述
Azure 入口網站 使用 Azure 入口網站 建立IoT中樞 IoT 中樞和裝置的瀏覽器型入口網站。 也適用於其他 Azure 資源,包括 IoT Central。
Azure IoT Explorer Azure IoT Explorer 無法建立IoT中樞。 連線 至現有的IoT中樞來管理裝置。 通常搭配 CLI 或入口網站使用。
Azure CLI 使用 CLI 建立 IoT 中樞 用於建立和管理 IoT 應用程式的命令行介面。
Azure PowerShell 使用 PowerShell 建立 IoT 中樞 用來建立和管理IoT應用程式的PowerShell介面
適用於 VS Code 的 Azure IoT Tools 使用適用於 VS Code 的工具建立 IoT 中樞 IoT 中樞 應用程式的 VS Code 擴充功能。

注意

除了先前列出的工具之外,您還可以使用 REST API、Azure SDK 或 Azure Resource Manager 範本,以程式設計方式建立和管理 IoT 應用程式。 如需詳細資訊,請參閱 IoT 中樞 服務檔。

下一步

若要深入瞭解可用來將裝置連線到 Azure IoT 的裝置 SDK,請參閱下列文章。

若要開始使用實際操作裝置開發,請選取裝置開發教學課程與您所使用的裝置相關。 下列教學課程是一般裝置開發或內嵌裝置開發的良好起點。