教學課程:將遙測從 IoT 隨插即用 裝置傳送至 Azure IoT 中樞

瀏覽程式碼

在本快速入門中,您將瞭解基本的 Azure IoT 應用程式開發工作流程。 您可以使用 Azure CLI 和 IoT Explorer 來建立 Azure IoT 中樞和裝置。 然後使用 Azure IoT 裝置 SDK 範例來執行溫度控制器、安全地將它連線到中樞,以及傳送遙測。 溫度控制器範例應用程式會在本機計算機上執行,並產生模擬感測器數據以傳送至 IoT 中樞。

必要條件

本快速入門會在 Windows、Linux 和 Raspberry Pi 上執行。 它已在下列作業系統和裝置版本上進行測試:

  • Windows 10
  • Ubuntu 20.04 LTS
  • Raspberry Pi OS (Raspbian) 第 10 版,在 Raspberry Pi 3 模型 B+ 上執行

在您的開發計算機上安裝下列必要條件,但Raspberry Pi所指出的情況除外:

  • 如果您沒有 Azure 訂用帳戶, 請在開始之前免費 建立一個訂用帳戶。
  • Git
  • Azure IoT Explorer:跨平臺、GUI 型公用程序,用來監視和管理 Azure IoT。 如果您使用Raspberry Pi作為開發平臺,建議您在另一部電腦上安裝IoT Explorer。 如果您不想安裝 IoT Explorer,您可以使用 Azure CLI 來執行相同的步驟。
  • Azure CLI。 在本快速入門中,您有兩個選項可用來執行 Azure CLI 命令:
    • 使用 Azure Cloud Shell,這是在瀏覽器中執行 CLI 命令的互動式殼層。 建議您使用此選項,因為您不需要安裝任何專案。 如果您第一次使用 Cloud Shell,請登入 Azure 入口網站。 請遵循開始使用 Azure Cloud Shell 中的步驟來啟動 Cloud Shell選取 Bash 環境
    • 您可以選擇性地在本機電腦上執行 Azure CLI。 如果已安裝 Azure CLI,請執行 az upgrade 以將 CLI 和擴充功能升級至目前的版本。 若要安裝 Azure CLI,請參閱 安裝 Azure CLI。 如果您使用Raspberry Pi作為開發平臺,建議您使用 Azure Cloud Shell 或在另一部電腦上安裝 Azure CLI。

安裝作業系統的其餘必要條件。

Linux 或Raspberry Pi OS

若要在 Linux 或 Raspberry Pi OS 上完成本快速入門,請安裝下列軟體:

使用 命令安裝 GCCGitCMake 和必要的相依 apt-get 性:

sudo apt-get update
sudo apt-get install -y git cmake build-essential curl libcurl4-openssl-dev libssl-dev uuid-dev

確認 CMake 版本為 3.13 或更新版本,且 GCC 的版本4.4.7 或更新版本。

cmake --version
gcc --version

Windows

若要在 Windows 上完成本快速入門,請安裝 Visual Studio 2022,並新增 C 和 C++ 開發所需的元件。

  1. 針對新使用者,請安裝 Visual Studio (Community、Professional 或 Enterprise) 2022。 下載您要安裝的版本,然後啟動安裝程式。

    注意

    針對現有的 Visual Studio 2022 使用者,選取 [Windows 開始],輸入 Visual Studio 安裝程式,執行安裝程式,然後選取 [修改]。

  2. 在 [安裝程式 工作負載] 索引標籤中 ,選取 [ 使用 C++ 進行桌面開發] 工作負載。
  3. 執行安裝。

建立 IoT 中樞

在本節中,您會使用 Azure CLI 來建立 IoT 中樞和資源群組。 Azure 資源群組是在其中部署與管理 Azure 資源的邏輯容器。 IoT 中樞可作為IoT應用程式和裝置之間雙向通訊的中央訊息中樞。

若要建立IoT中樞和資源群組:

  1. 啟動 Azure CLI:

    • 如果您使用 Cloud Shell,請選取 CLI 命令上的 [試用] 按鈕,以在分割瀏覽器視窗中啟動 Cloud Shell。 或者,您可以在個別的瀏覽器索引標籤中開啟 Cloud Shell
    • 如果您在本機使用 Azure CLI,請開啟 Windows CMD、PowerShell 或 Bash 等控制台,然後 登入 Azure CLI

    若要在此快速入門的其餘部分執行 CLI 命令:複製命令語法,將其貼到 Cloud Shell 視窗或 CLI 控制台、編輯變數值,然後按 Enter 鍵。

  2. 執行 az extension add 以安裝或升級 azure-iot 擴充功能至目前的版本。

    az extension add --upgrade --name azure-iot
    
  3. 執行 az group create 命令以建立資源群組。 下列命令會在 eastus 位置建立名為 MyResourceGroup 的資源群組。

    注意

    您可以選擇性地設定替代位置。 若要檢視可用的位置,請執行 az account list-locations。 本教學課程使用 eastus ,如範例命令所示。

    az group create --name MyResourceGroup --location eastus
    
  4. 執行 az iot hub create 命令以建立IoT中樞。 建立IoT中樞可能需要幾分鐘的時間。

    YourIotHubName。 使用您為IoT中樞選擇的名稱,取代下列命令中的這個佔位元元和周圍大括弧。 IoT 中樞名稱在 Azure 中必須全域是唯一的。 無論您在哪裡看到佔位元,在本快速入門的其餘部分使用IoT中樞名稱。

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
    

    提示

    建立IoT中樞之後,您將在本快速入門的其餘部分使用 Azure IoT Explorer 與 IoT 中樞互動。 IoT Explorer 是 GUI 應用程式,可讓您連線到現有的 IoT 中樞 並新增、管理及監視裝置。 若要深入瞭解,請參閱 安裝和使用 Azure IoT 總管。 您可以選擇性地繼續使用 CLI 命令。

設定IoT總管

在本快速入門的其餘部分,您將使用IoT Explorer向IoT中樞註冊裝置,以及檢視裝置遙測。 在本節中,您會將 IoT Explorer 設定為連線到您剛才建立的 IoT 中樞,並從公用模型存放庫讀取隨插即用模型。

注意

您也可以使用 Azure CLI 來註冊裝置。 使用 az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} 命令來註冊新的裝置,並使用 az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} 命令來取得裝置的主要 連接字串。 記下裝置 連接字串 之後,您可以直接跳到執行裝置範例

若要將連線新增至IoT中樞:

  1. 執行 az iot hub connection-string show 命令,以取得 IoT 中樞的 連接字串。

    az iot hub connection-string  show --hub-name {YourIoTHubName}
    
  2. 複製不含周圍引號字元的 連接字串。

  3. 在 Azure IoT 總管中,選取 左側功能表上的 [IoT 中樞 ],然後選取 [ + 新增連線]。

  4. 將 連接字串 貼到 連線 字串方塊中。

  5. 選取 [儲存]。

    在IoT總管中新增連線的螢幕快照

  6. 如果連線成功,IoT Explorer 會切換至 [ 裝置 ] 檢視。

若要新增公用模型存放庫:

  1. 在 [IoT 總管] 中,選取 [首頁 ] 以返回首頁檢視。

  2. 在左側功能表上,選取 [IoT 隨插即用 設定],然後從下拉功能表中選取 [+新增],然後選取 [公用存放庫]。

  3. 在的公用模型存放庫 https://devicemodels.azure.com會出現專案。

    在 IoT Explorer 中新增公用模型存放庫的螢幕快照

  4. 選取 [儲存]。

註冊裝置

在本節中,您會建立新的裝置實例,並將其註冊為您建立的IoT中樞。 您將使用新註冊裝置的連線資訊,在稍後的章節中安全地連線您的裝置。

若要註冊裝置:

  1. 從IoT總管的主檢視中,選取 [IoT 中樞]。

  2. 您先前新增的連接應該會出現。 選取 連線屬性下方的 [檢視此中樞 中的裝置]。

  3. 選取 [+ 新增 ],然後輸入裝置的裝置標識碼;例如 mydevice。 讓所有其他屬性保持相同。

  4. 選取 建立

    Azure IoT Explorer 裝置身分識別的螢幕快照

  5. 使用 [複製] 按鈕來複製並記下 [主要 連接字串] 字段。 您稍後將需要此 連接字串。

執行裝置範例

在本節中,您會使用 C SDK 將訊息從裝置傳送至 IoT 中樞。 您可以執行使用兩個控溫器感測器實作溫度控制器的範例。

建置範例

  1. 開啟新的主控台以安裝 Azure IoT C 裝置 SDK 並執行程式碼範例。 針對 Windows,選取 [ 開始],輸入 VS 2019 的開發人員命令提示字元,然後開啟控制台。 針對 Linux 和 Raspberry Pi OS,開啟 Bash 命令的終端機。

    注意

    如果您使用 Azure CLI 的本機安裝,您現在可能會開啟兩個控制台視窗。 請務必在剛剛開啟的控制台中輸入本節中的命令,而不是您用於 CLI 的命令。

  2. 流覽至您要複製範例存放庫的本機資料夾。

  3. 將 Azure IoT C 裝置 SDK 複製到本機電腦:

    git clone https://github.com/Azure/azure-iot-sdk-c.git
    
  4. 瀏覽至 SDK 的根資料夾,然後執行下列命令來更新相依性:

    cd azure-iot-sdk-c
    git submodule update --init
    

    此作業需要幾分鐘的時間。

  5. 若要建置 SDK 和範例,請執行下列命令:

    cmake -Bcmake -Duse_prov_client=ON -Dhsm_type_symm_key=ON -Drun_e2e_tests=OFF
    cmake --build cmake
    
  6. 設定下列環境變數,讓您的裝置能夠連線到 Azure IoT。

    • 設定名為 IOTHUB_DEVICE_CONNECTION_STRING的環境變數。 針對變數值,請使用您在上一節中儲存的裝置 連接字串。
    • 設定名為 IOTHUB_DEVICE_SECURITY_TYPE的環境變數。 針對變數,請使用常值字串值 connectionString

    CMD

    set IOTHUB_DEVICE_CONNECTION_STRING=<your connection string here>
    set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
    

    注意

    針對 Windows CMD,每個變數的字串值周圍沒有引號。

    Bash

    export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>"
    export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
    

執行程式碼

  1. 使用適用於主控台的適當命令,執行範例程式代碼。

    CMD

    cmake\iothub_client\samples\pnp\pnp_temperature_controller\Debug\pnp_temperature_controller.exe
    

    Bash

    cmake/iothub_client/samples/pnp/pnp_temperature_controller/pnp_temperature_controller
    

    注意

    此程式代碼範例使用 Azure IoT 隨插即用,可讓您將智慧型手機裝置整合到解決方案中,而不需要任何手動設定。 根據預設,本檔中的大部分範例都會使用 IoT 隨插即用。 若要深入瞭解IoT PnP的優點,以及使用或不使用它的情況,請參閱什麼是 IoT 隨插即用?

此範例會在您註冊的裝置上安全地連線到IoT中樞,並開始傳送遙測訊息。 範例輸出會出現在您的控制台中。

檢視遙測

您可以使用IoT Explorer來檢視裝置遙測。 您可以選擇性地使用 Azure CLI 來檢視遙測。

若要在 Azure IoT Explorer 中檢視遙測:

  1. 從 IoT Explorer 中的 IoT 中樞,選取 [檢視此中樞中的裝置],然後從清單中選取您的裝置。

  2. 在裝置的左側功能表上,選取 [遙測]。

  3. 確認 [使用內建事件中樞 ] 設定為 [ ],然後選取 [ 啟動]。

  4. 當裝置將訊息傳送至雲端時,檢視遙測。

    IoT Explorer 中裝置遙測的螢幕快照

  5. 選取 [ 停止 ] 以結束接收事件。

若要讀取個別裝置元件所傳送的遙測,您可以使用IoT Explorer中的隨插即用功能。 例如,本快速入門中的溫度控制器有兩個控溫器:控溫器1和控溫器2。 若要查看控溫器所報告的溫度1:

  1. 在IoT總管中的裝置上,從左側功能表中選取 [IoT 隨插即用元件]。 然後從元件清單中選取 控溫器1

  2. 控溫器1 元件窗格中,從頂端功能表中選取 [遙測 ]。

  3. 在 [ 遙測] 窗格中,遵循您先前執行的相同步驟。 請確定 [ 使用內建事件中樞 ] 設定為 [ ],然後選取 [ 啟動]。

若要使用 Azure CLI 檢視裝置遙測:

  1. 執行 az iot hub monitor-events 命令,以監視從裝置傳送到 IoT 中樞的事件。 使用您先前在 Azure IoT 中為您的裝置和 IoT 中樞建立的名稱。

    az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}
    
  2. 在控制台中檢視連線詳細數據和遙測輸出。

    Starting event monitor, filtering on device: mydevice, use ctrl-c to stop...
    event:
      component: ''
      interface: dtmi:com:example:TemperatureController;1
      module: ''
      origin: mydevice
      payload: '{"workingSet":1251}'
    
    event:
      component: thermostat1
      interface: dtmi:com:example:TemperatureController;1
      module: ''
      origin: mydevice
      payload: '{"temperature":22.00}'
    

瀏覽程式碼

在本快速入門中,您將瞭解基本的 Azure IoT 應用程式開發工作流程。 您可以使用 Azure CLI 和 IoT Explorer 來建立 Azure IoT 中樞和裝置。 然後使用 Azure IoT 裝置 SDK 範例來執行溫度控制器、安全地將它連線到中樞,以及傳送遙測。 溫度控制器範例應用程式會在本機計算機上執行,並產生模擬感測器數據以傳送至 IoT 中樞。

必要條件

本快速入門會在 Windows、Linux 和 Raspberry Pi 上執行。 它已在下列作業系統和裝置版本上進行測試:

  • Windows 10
  • Ubuntu 20.04 LTS
  • Raspberry Pi OS (Raspbian) 第 10 版,在 Raspberry Pi 3 模型 B+ 上執行

在您的開發計算機上安裝下列必要條件,但Raspberry Pi所指出的情況除外:

  • 如果您沒有 Azure 訂用帳戶, 請在開始之前免費 建立一個訂用帳戶。

  • Git

  • .NET Core SDK 3.1。 請務必安裝 .NET SDK,而不只是運行時間。 若要檢查電腦上安裝的 .NET SDK 和執行時間版本,請執行 dotnet --info

    • 針對 Windows 和 Linux(Raspberry Pi 除外),請遵循指示在您的 平台上安裝 .NET Core SDK 3.1
    • 針對Raspberry Pi,您必須遵循指示手動 安裝SDK。 這是因為在 Debian 上,只有 x64 架構才支援 .NET SDK 的套件管理員安裝。
  • Azure IoT Explorer:跨平臺、GUI 型公用程序,用來監視和管理 Azure IoT。 如果您使用Raspberry Pi作為開發平臺,建議您在另一部電腦上安裝IoT Explorer。 如果您不想安裝 IoT Explorer,您可以使用 Azure CLI 來執行相同的步驟。

  • Azure CLI。 在本快速入門中,您有兩個選項可用來執行 Azure CLI 命令:

    • 使用 Azure Cloud Shell,這是在瀏覽器中執行 CLI 命令的互動式殼層。 建議您使用此選項,因為您不需要安裝任何專案。 如果您是第一次使用 Cloud Shell,請登入 Azure 入口網站。 請遵循開始使用 Azure Cloud Shell 中的步驟來啟動 Cloud Shell選取 Bash 環境
    • 您可以選擇性地在本機電腦上執行 Azure CLI。 如果已安裝 Azure CLI,請執行 az upgrade 以將 CLI 和擴充功能升級至目前的版本。 若要安裝 Azure CLI,請參閱 安裝 Azure CLI。 如果您使用Raspberry Pi作為開發平臺,建議您使用 Azure Cloud Shell 或在另一部電腦上安裝 Azure CLI。

建立 IoT 中樞

在本節中,您會使用 Azure CLI 來建立 IoT 中樞和資源群組。 Azure 資源群組是在其中部署與管理 Azure 資源的邏輯容器。 IoT 中樞可作為IoT應用程式和裝置之間雙向通訊的中央訊息中樞。

若要建立IoT中樞和資源群組:

  1. 啟動 Azure CLI:

    • 如果您使用 Cloud Shell,請選取 CLI 命令上的 [試用] 按鈕,以在分割瀏覽器視窗中啟動 Cloud Shell。 或者,您可以在個別的瀏覽器索引標籤中開啟 Cloud Shell
    • 如果您在本機使用 Azure CLI,請開啟 Windows CMD、PowerShell 或 Bash 等控制台,然後 登入 Azure CLI

    若要在此快速入門的其餘部分執行 CLI 命令:複製命令語法,將其貼到 Cloud Shell 視窗或 CLI 控制台、編輯變數值,然後按 Enter 鍵。

  2. 執行 az extension add 以安裝或升級 azure-iot 擴充功能至目前的版本。

    az extension add --upgrade --name azure-iot
    
  3. 執行 az group create 命令以建立資源群組。 下列命令會在 eastus 位置建立名為 MyResourceGroup 的資源群組。

    注意

    您可以選擇性地設定替代位置。 若要檢視可用的位置,請執行 az account list-locations。 本教學課程使用 eastus ,如範例命令所示。

    az group create --name MyResourceGroup --location eastus
    
  4. 執行 az iot hub create 命令以建立IoT中樞。 建立IoT中樞可能需要幾分鐘的時間。

    YourIotHubName。 使用您為IoT中樞選擇的名稱,取代下列命令中的這個佔位元元和周圍大括弧。 IoT 中樞名稱在 Azure 中必須全域是唯一的。 無論您在哪裡看到佔位元,在本快速入門的其餘部分使用IoT中樞名稱。

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
    

    提示

    建立IoT中樞之後,您將在本快速入門的其餘部分使用 Azure IoT Explorer 與 IoT 中樞互動。 IoT Explorer 是 GUI 應用程式,可讓您連線到現有的 IoT 中樞 並新增、管理及監視裝置。 若要深入瞭解,請參閱 安裝和使用 Azure IoT 總管。 您可以選擇性地繼續使用 CLI 命令。

設定IoT總管

在本快速入門的其餘部分,您將使用IoT Explorer向IoT中樞註冊裝置,以及檢視裝置遙測。 在本節中,您會將 IoT Explorer 設定為連線到您剛才建立的 IoT 中樞,並從公用模型存放庫讀取隨插即用模型。

注意

您也可以使用 Azure CLI 來註冊裝置。 使用 az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} 命令來註冊新的裝置,而 az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} 命令可取得裝置的主要 連接字串。 記下裝置 連接字串 之後,您可以直接跳到執行裝置範例

若要將連線新增至IoT中樞:

  1. 執行 az iot hub connection-string show 命令,以取得 IoT 中樞的 連接字串。

    az iot hub connection-string  show --hub-name {YourIoTHubName}
    
  2. 複製不含周圍引號字元的 連接字串。

  3. 在 Azure IoT 總管中,選取 左側功能表上的 [IoT 中樞 ],然後選取 [ + 新增連線]。

  4. 將 連接字串 貼到 [連線 ion 字串] 方塊中。

  5. 選取 [儲存]。

    在IoT總管中新增連線的螢幕快照

  6. 如果連線成功,IoT Explorer 會切換至 [ 裝置 ] 檢視。

若要新增公用模型存放庫:

  1. 在 [IoT 總管] 中,選取 [首頁 ] 以返回首頁檢視。

  2. 在左側功能表上,選取 [IoT 隨插即用 設定],然後從下拉功能表中選取 [+新增],然後選取 [公用存放庫]。

  3. 在的公用模型存放庫 https://devicemodels.azure.com會出現專案。

    在 IoT Explorer 中新增公用模型存放庫的螢幕快照

  4. 選取 [儲存]。

註冊裝置

在本節中,您會建立新的裝置實例,並將其註冊為您建立的IoT中樞。 您將使用新註冊裝置的連線資訊,在稍後的章節中安全地連線您的裝置。

若要註冊裝置:

  1. 從IoT總管的主檢視中,選取 [IoT 中樞]。

  2. 您先前新增的連接應該會出現。 選取 連線屬性下方的 [檢視此中樞 中的裝置]。

  3. 選取 [+ 新增 ],然後輸入裝置的裝置標識碼;例如 mydevice。 讓所有其他屬性保持相同。

  4. 選取 建立

    Azure IoT Explorer 裝置身分識別的螢幕快照

  5. 使用 [複製] 按鈕來複製並記下 [主要 連接字串] 字段。 您稍後將需要此 連接字串。

執行裝置範例

在本節中,您將使用 C# SDK 將訊息從裝置傳送至 IoT 中樞。 您將執行使用兩個控溫器感測器實作溫度控制器的範例。

  1. 開啟新的控制台,例如 Windows CMD、PowerShell 或 Bash。 在下列步驟中,您將使用此控制台來安裝Node.js SDK,並使用Node.js範例程式代碼。

    注意

    如果您使用 Azure CLI 的本機安裝,您現在可能會開啟兩個控制台視窗。 請務必在剛剛開啟的控制台中輸入本節中的命令,而不是您用於 CLI 的命令。

  2. Microsoft Azure IoT SDK for C# (.NET) 複製到本機計算機:

    git clone https://github.com/Azure/azure-iot-sdk-csharp.git
    
  3. 瀏覽至範例目錄:

    Windows

    cd azure-iot-sdk-csharp\iothub\device\samples\solutions\PnpDeviceSamples\TemperatureController
    

    Linux 或Raspberry Pi OS

    cd azure-iot-sdk-csharp/iothub/device/samples/solutions/PnpDeviceSamples/TemperatureController
    
  4. 安裝 Azure IoT C# SDK 和必要的相依性:

    dotnet restore
    

    此命令會安裝 TemperatureController.csproj 檔案中指定的適當相依性。

  5. 設定下列兩個環境變數,讓您的裝置能夠連線到 Azure IoT。

    • 設定名為 IOTHUB_DEVICE_CONNECTION_STRING的環境變數。 針對變數值,請使用您在上一節中儲存的裝置 連接字串。
    • 設定名為 IOTHUB_DEVICE_SECURITY_TYPE的環境變數。 針對變數,請使用常值字串值 connectionString

    CMD (Windows)

    set IOTHUB_DEVICE_CONNECTION_STRING=<your connection string here>
    set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
    

    注意

    針對 Windows CMD,每個變數的字串值周圍沒有引號。

    PowerShell

    $env:IOTHUB_DEVICE_CONNECTION_STRING='<your connection string here>'
    $env:IOTHUB_DEVICE_SECURITY_TYPE='connectionString'
    

    Bash

    export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>"
    export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
    
  6. 執行程式代碼範例:

    dotnet run
    

    注意

    此程式代碼範例使用 Azure IoT 隨插即用,可讓您將智慧型手機裝置整合到解決方案中,而不需要任何手動設定。 根據預設,本檔中的大部分範例都會使用 IoT 隨插即用。 若要深入瞭解IoT PnP的優點,以及使用或不使用它的案例,請參閱什麼是 IoT 隨插即用?

此範例會在您註冊的裝置上安全地連線到IoT中樞,並開始傳送遙測訊息。 範例輸出會出現在您的控制台中。

檢視遙測

您可以使用IoT Explorer來檢視裝置遙測。 您可以選擇性地使用 Azure CLI 來檢視遙測。

若要在 Azure IoT Explorer 中檢視遙測:

  1. 從 IoT Explorer 中的 IoT 中樞,選取 [檢視此中樞中的裝置],然後從清單中選取您的裝置。

  2. 在裝置的左側功能表上,選取 [遙測]。

  3. 確認 [使用內建事件中樞 ] 設定為 [ ],然後選取 [ 啟動]。

  4. 當裝置將訊息傳送至雲端時,檢視遙測。

    IoT Explorer 中裝置遙測的螢幕快照

  5. 選取 [ 停止 ] 以結束接收事件。

若要讀取個別裝置元件所傳送的遙測,您可以使用IoT Explorer中的隨插即用功能。 例如,本快速入門中的溫度控制器有兩個控溫器:控溫器1和控溫器2。 若要查看控溫器所報告的溫度1:

  1. 在IoT總管中的裝置上,從左側功能表中選取 [IoT 隨插即用元件]。 然後從元件清單中選取 控溫器1

  2. 控溫器1 元件窗格中,從頂端功能表中選取 [遙測 ]。

  3. 在 [ 遙測] 窗格中,遵循您先前執行的相同步驟。 請確定 [ 使用內建事件中樞 ] 設定為 [ ],然後選取 [ 啟動]。

若要使用 Azure CLI 檢視裝置遙測:

  1. 執行 az iot hub monitor-events 命令,以監視從裝置傳送到 IoT 中樞的事件。 使用您先前在 Azure IoT 中為您的裝置和 IoT 中樞建立的名稱。

    az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}
    
  2. 在控制台中檢視連線詳細數據和遙測輸出。

    Starting event monitor, filtering on device: mydevice, use ctrl-c to stop...
    event:
      component: thermostat1
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 39.8
    
    event:
      component: thermostat2
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 36.7
    
  3. 選取 CTRL+C 以結束監視。

瀏覽程式碼

在本快速入門中,您將瞭解基本的 Azure IoT 應用程式開發工作流程。 您可以使用 Azure CLI 和 IoT Explorer 來建立 Azure IoT 中樞和裝置。 然後使用 Azure IoT 裝置 SDK 範例來執行溫度控制器、安全地將它連線到中樞,以及傳送遙測。 溫度控制器範例應用程式會在本機計算機上執行,並產生模擬感測器數據以傳送至 IoT 中樞。

必要條件

本快速入門會在 Windows、Linux 和 Raspberry Pi 上執行。 它已在下列作業系統和裝置版本上進行測試:

  • Windows 10
  • Ubuntu 20.04 LTS
  • Raspberry Pi OS (Raspbian) 第 10 版,在 Raspberry Pi 3 模型 B+ 上執行

在您的開發計算機上安裝下列必要條件,但Raspberry Pi所指出的情況除外:

  • 如果您沒有 Azure 訂用帳戶, 請在開始之前免費 建立一個訂用帳戶。
  • Git
  • Azure IoT Explorer:跨平臺、GUI 型公用程序,用來監視和管理 Azure IoT。 如果您使用Raspberry Pi作為開發平臺,建議您在另一部電腦上安裝IoT Explorer。 如果您不想安裝 IoT Explorer,您可以使用 Azure CLI 來執行相同的步驟。
  • Azure CLI。 在本快速入門中,您有兩個選項可用來執行 Azure CLI 命令:
    • 使用 Azure Cloud Shell,這是在瀏覽器中執行 CLI 命令的互動式殼層。 建議您使用此選項,因為您不需要安裝任何專案。 如果您是第一次使用 Cloud Shell,請登入 Azure 入口網站。 請遵循開始使用 Azure Cloud Shell 中的步驟來啟動 Cloud Shell選取 Bash 環境
    • 您可以選擇性地在本機電腦上執行 Azure CLI。 如果已安裝 Azure CLI,請執行 az upgrade 以將 CLI 和擴充功能升級至目前的版本。 若要安裝 Azure CLI,請參閱 安裝 Azure CLI。 如果您使用Raspberry Pi作為開發平臺,建議您使用 Azure Cloud Shell 或在另一部電腦上安裝 Azure CLI。

安裝作業系統的其餘必要條件。

Windows

若要在 Windows 上完成本快速入門,請安裝下列軟體:

  • Java SE 開發工具套件 8 或更新版本。 您可以從下載 OpenJDK 的 Zulu 組建,下載適用於多個平臺 的 Java 8 (LTS) JDK。 在安裝程式中,選取 [ 新增至路徑] 選項。

  • Apache Maven 3. 將下載解壓縮至本機資料夾之後,請將 Maven /bin 資料夾的完整路徑新增至 Windows PATH 環境變數。

Linux 或Raspberry Pi OS

若要在 Linux 或 Raspberry Pi OS 上完成本快速入門,請安裝下列軟體:

注意

本節中的步驟是以 Linux Ubuntu/Debian 發行版為基礎。 (Raspberry Pi OS 是以 Debian 為基礎。如果您使用不同的 Linux 發行版,則必須據以修改步驟。

  • OpenJDK (Open Java Development Kit) 8 或更新版本。 您可以使用 java -version 命令來確認系統上已安裝的 Java 版本。 請確定已安裝 JDK,而不只是 Java 運行時間 (JRE)。

    1. 若要為您的系統安裝 OpenJDK,請輸入下列命令:

      若要為您的系統安裝預設版本的 OpenJDK (Ubuntu 20.04 的 OpenJDK 11 和撰寫時 Raspberry Pi OS 10):

      sudo apt update
      sudo apt install default-jdk
      

      或者,您可以指定要安裝的 JDK 版本。 例如:

      sudo apt update
      sudo apt install openjdk-8-jdk
      
    2. 如果您的系統已安裝多個 Java 版本,您可以使用下列命令來設定預設的 Java 和 Java 編譯程式版本。

      update-java-alternatives --list          #list the Java versions installed
      sudo update-alternatives --config java   #set the default Java version
      sudo  update-alternatives --config javac #set the default Java compiler version
      
    3. JAVA_HOME 環境變數設定為 JDK 安裝的路徑。 (這通常是 /usr/lib/jvm 目錄中的版本化子目錄。)

      export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
      

      重要

      此命令會在 JAVA_HOME 您目前的殼層環境中設定 變數。 建議您在 或 /etc/profile 檔案中新增 命令~/.bashrc,以在開啟新的殼層時提供它。

    4. 確認已安裝 Java JDK (和 JRE) 的版本、您的 Java 編譯程式版本符合 JDK 版本,以及 JAVA_HOME 已正確設定環境變數。

      java -version
      javac -version
      echo $JAVA_HOME
      
  • Apache Maven 3. 您可以使用 mvn --version 命令來確認系統上已安裝的 Maven 版本。

    1. 若要安裝 Maven,請輸入下列命令:

      sudo apt-get update
      sudo apt-get install maven
      
    2. 輸入下列命令以確認您的安裝。

      mvn --version
      

建立 IoT 中樞

在本節中,您會使用 Azure CLI 來建立 IoT 中樞和資源群組。 Azure 資源群組是在其中部署與管理 Azure 資源的邏輯容器。 IoT 中樞可作為IoT應用程式和裝置之間雙向通訊的中央訊息中樞。

若要建立IoT中樞和資源群組:

  1. 啟動 Azure CLI:

    • 如果您使用 Cloud Shell,請選取 CLI 命令上的 [試用] 按鈕,以在分割瀏覽器視窗中啟動 Cloud Shell。 或者,您可以在個別的瀏覽器索引標籤中開啟 Cloud Shell
    • 如果您在本機使用 Azure CLI,請開啟 Windows CMD、PowerShell 或 Bash 等控制台,然後 登入 Azure CLI

    若要在此快速入門的其餘部分執行 CLI 命令:複製命令語法,將其貼到 Cloud Shell 視窗或 CLI 控制台、編輯變數值,然後按 Enter 鍵。

  2. 執行 az extension add 以安裝或升級 azure-iot 擴充功能至目前的版本。

    az extension add --upgrade --name azure-iot
    
  3. 執行 az group create 命令以建立資源群組。 下列命令會在 eastus 位置建立名為 MyResourceGroup 的資源群組。

    注意

    您可以選擇性地設定替代位置。 若要檢視可用的位置,請執行 az account list-locations。 本教學課程使用 eastus ,如範例命令所示。

    az group create --name MyResourceGroup --location eastus
    
  4. 執行 az iot hub create 命令以建立IoT中樞。 建立IoT中樞可能需要幾分鐘的時間。

    YourIotHubName。 使用您為IoT中樞選擇的名稱,取代下列命令中的這個佔位元元和周圍大括弧。 IoT 中樞名稱在 Azure 中必須全域是唯一的。 無論您在哪裡看到佔位元,在本快速入門的其餘部分使用IoT中樞名稱。

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
    

    提示

    建立IoT中樞之後,您將在本快速入門的其餘部分使用 Azure IoT Explorer 與 IoT 中樞互動。 IoT Explorer 是 GUI 應用程式,可讓您連線到現有的 IoT 中樞 並新增、管理及監視裝置。 若要深入瞭解,請參閱 安裝和使用 Azure IoT 總管。 您可以選擇性地繼續使用 CLI 命令。

設定IoT總管

在本快速入門的其餘部分,您將使用IoT Explorer向IoT中樞註冊裝置,以及檢視裝置遙測。 在本節中,您會將 IoT Explorer 設定為連線到您剛才建立的 IoT 中樞,並從公用模型存放庫讀取隨插即用模型。

注意

您也可以使用 Azure CLI 來註冊裝置。 使用 az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} 命令來註冊新的裝置,並使用 az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} 命令來取得裝置的主要 連接字串。 記下裝置 連接字串 後,您可以直接跳到執行裝置範例

若要將連線新增至IoT中樞:

  1. 執行 az iot hub connection-string show 命令,以取得 IoT 中樞的 連接字串。

    az iot hub connection-string  show --hub-name {YourIoTHubName}
    
  2. 複製不含周圍引號字元的 連接字串。

  3. 在 Azure IoT 總管中,選取 左側功能表上的 [IoT 中樞 ],然後選取 [ + 新增連線]。

  4. 將 連接字串 貼到 [連線 ion 字串] 方塊中。

  5. 選取 [儲存]。

    在IoT總管中新增連線的螢幕快照

  6. 如果連線成功,IoT Explorer 會切換至 [ 裝置 ] 檢視。

若要新增公用模型存放庫:

  1. 在 [IoT 總管] 中,選取 [首頁 ] 以返回首頁檢視。

  2. 在左側功能表上,選取 [IoT 隨插即用 設定],然後從下拉功能表中選取 [+新增],然後選取 [公用存放庫]。

  3. 在的公用模型存放庫 https://devicemodels.azure.com會出現專案。

    在 IoT Explorer 中新增公用模型存放庫的螢幕快照

  4. 選取 [儲存]。

註冊裝置

在本節中,您會建立新的裝置實例,並將其註冊為您建立的IoT中樞。 您將使用新註冊裝置的連線資訊,在稍後的章節中安全地連線您的裝置。

若要註冊裝置:

  1. 從IoT總管的主檢視中,選取 [IoT 中樞]。

  2. 您先前新增的連接應該會出現。 選取 連線屬性下方的 [檢視此中樞 中的裝置]。

  3. 選取 [+ 新增 ],然後輸入裝置的裝置標識碼;例如 mydevice。 讓所有其他屬性保持相同。

  4. 選取 建立

    Azure IoT Explorer 裝置身分識別的螢幕快照

  5. 使用 [複製] 按鈕來複製並記下 [主要 連接字串] 字段。 您稍後需要此 連接字串。

執行裝置範例

在本節中,您會使用 Java SDK 將訊息從裝置傳送至 IoT 中樞。 您將執行使用兩個控溫器感測器實作溫度控制器的範例。

  1. 開啟主控台以安裝 Azure IoT Java 裝置 SDK、建置和執行程式碼範例。 您將在下列步驟中使用此控制台。

    注意

    如果您使用 Azure CLI 的本機安裝,您現在可能會開啟兩個控制台視窗。 請務必在剛剛開啟的控制台中輸入本節中的命令,而不是您用於 CLI 的命令。

    Linux 和Raspberry Pi OS

    確認已設定JAVA_HOME (echo $JAVA_HOME) 環境變數。 如需設定JAVA_HOME的相關信息,請參閱 Linux/Raspberry Pi必要條件

  2. 將 Azure IoT Java 裝置 SDK 複製到本機電腦:

    git clone https://github.com/Azure/azure-iot-sdk-java.git
    
  3. 流覽至 SDK 的根資料夾,然後執行下列命令來建置 SDK 並更新範例。

    cd azure-iot-sdk-java
    mvn install -T 2C -DskipTests
    

    此作業需要幾分鐘的時間。

  4. 設定下列環境變數,讓您的裝置能夠連線到 Azure IoT。

    • 設定名為 IOTHUB_DEVICE_CONNECTION_STRING的環境變數。 針對變數值,請使用您在上一節中儲存的裝置 連接字串。
    • 設定名為 IOTHUB_DEVICE_SECURITY_TYPE的環境變數。 針對變數,請使用常值字串值 connectionString

    CMD

    set IOTHUB_DEVICE_CONNECTION_STRING=<your connection string here>
    set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
    

    注意

    針對 Windows CMD,每個變數的字串值周圍沒有引號。

    Bash

    export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>"
    export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
    
  5. 流覽至範例目錄。

    CMD

    cd device\iot-device-samples\pnp-device-sample\temperature-controller-device-sample
    

    Bash

    cd device/iot-device-samples/pnp-device-sample/temperature-controller-device-sample
    
  6. 執行程式代碼範例。

    java -jar -Dexec.mainClass="samples.com.microsoft.azure.sdk.iot.device.TemperatureController"
    

    注意

    此程式代碼範例使用 Azure IoT 隨插即用,可讓您將智慧型手機裝置整合到解決方案中,而不需要任何手動設定。 根據預設,本檔中的大部分範例都會使用 IoT 隨插即用。 若要深入瞭解IoT PnP的優點,以及使用或不使用它的情況,請參閱什麼是 IoT 隨插即用?

此範例會在您註冊的裝置上安全地連線到IoT中樞,並開始傳送遙測訊息。 範例輸出會出現在您的控制台中。

檢視遙測

您可以使用IoT Explorer來檢視裝置遙測。 您可以選擇性地使用 Azure CLI 來檢視遙測。

若要在 Azure IoT Explorer 中檢視遙測:

  1. 從 IoT Explorer 中的 IoT 中樞,選取 [檢視此中樞中的裝置],然後從清單中選取您的裝置。

  2. 在裝置的左側功能表上,選取 [遙測]。

  3. 確認 [使用內建事件中樞 ] 設定為 [ ],然後選取 [ 啟動]。

  4. 當裝置將訊息傳送至雲端時,檢視遙測。

    IoT Explorer 中裝置遙測的螢幕快照

  5. 選取 [ 停止 ] 以結束接收事件。

若要讀取個別裝置元件所傳送的遙測,您可以使用IoT Explorer中的隨插即用功能。 例如,本快速入門中的溫度控制器有兩個控溫器:控溫器1和控溫器2。 若要查看控溫器所報告的溫度1:

  1. 在IoT總管中的裝置上,從左側功能表中選取 [IoT 隨插即用元件]。 然後從元件清單中選取 控溫器1

  2. 控溫器1 元件窗格中,從頂端功能表中選取 [遙測 ]。

  3. 在 [ 遙測] 窗格中,遵循您先前執行的相同步驟。 請確定 [ 使用內建事件中樞 ] 設定為 [ ],然後選取 [ 啟動]。

若要使用 Azure CLI 檢視裝置遙測:

  1. 執行 az iot hub monitor-events 命令,以監視從裝置傳送到 IoT 中樞的事件。 使用您先前在 Azure IoT 中為您的裝置和 IoT 中樞建立的名稱。

    az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}
    
  2. 在控制台中檢視連線詳細數據和遙測輸出。

    Starting event monitor, filtering on device: mydevice, use ctrl-c to stop...
    event:
      component: thermostat1
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 24.1
    
    event:
      component: thermostat2
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 33.3
    

瀏覽程式碼

在本快速入門中,您將瞭解基本的 Azure IoT 應用程式開發工作流程。 您可以使用 Azure CLI 和 IoT Explorer 來建立 Azure IoT 中樞和裝置。 然後使用 Azure IoT 裝置 SDK 範例來執行溫度控制器、安全地將它連線到中樞,以及傳送遙測。 溫度控制器範例應用程式會在本機計算機上執行,並產生模擬感測器數據以傳送至 IoT 中樞。

必要條件

本快速入門會在 Windows、Linux 和 Raspberry Pi 上執行。 它已在下列作業系統和裝置版本上進行測試:

  • Windows 10
  • Ubuntu 20.04 LTS
  • Raspberry Pi OS (Raspbian) 第 10 版,在 Raspberry Pi 3 模型 B+ 上執行

在您的開發計算機上安裝下列必要條件,但Raspberry Pi所指出的情況除外:

  • 如果您沒有 Azure 訂用帳戶, 請在開始之前免費 建立一個訂用帳戶。
  • Git
  • Node.js 12 版或更新版本。 若要檢查您的節點版本,請執行 node --version
  • Azure IoT Explorer:跨平臺、GUI 型公用程序,用來監視和管理 Azure IoT。 如果您使用Raspberry Pi作為開發平臺,建議您在另一部電腦上安裝IoT Explorer。 如果您不想安裝 IoT Explorer,您可以使用 Azure CLI 來執行相同的步驟。
  • Azure CLI。 在本快速入門中,您有兩個選項可用來執行 Azure CLI 命令:
    • 使用 Azure Cloud Shell,這是在瀏覽器中執行 CLI 命令的互動式殼層。 建議您使用此選項,因為您不需要安裝任何專案。 如果您是第一次使用 Cloud Shell,請登入 Azure 入口網站。 請遵循開始使用 Azure Cloud Shell 中的步驟來啟動 Cloud Shell選取 Bash 環境
    • 您可以選擇性地在本機電腦上執行 Azure CLI。 如果已安裝 Azure CLI,請執行 az upgrade 以將 CLI 和擴充功能升級至目前的版本。 若要安裝 Azure CLI,請參閱 安裝 Azure CLI。 如果您使用Raspberry Pi作為開發平臺,建議您使用 Azure Cloud Shell 或在另一部電腦上安裝 Azure CLI。

建立 IoT 中樞

在本節中,您會使用 Azure CLI 來建立 IoT 中樞和資源群組。 Azure 資源群組是在其中部署與管理 Azure 資源的邏輯容器。 IoT 中樞可作為IoT應用程式和裝置之間雙向通訊的中央訊息中樞。

若要建立IoT中樞和資源群組:

  1. 啟動 Azure CLI:

    • 如果您使用 Cloud Shell,請選取 CLI 命令上的 [試用] 按鈕,以在分割瀏覽器視窗中啟動 Cloud Shell。 或者,您可以在個別的瀏覽器索引標籤中開啟 Cloud Shell
    • 如果您在本機使用 Azure CLI,請開啟 Windows CMD、PowerShell 或 Bash 等控制台,然後 登入 Azure CLI

    若要在此快速入門的其餘部分執行 CLI 命令:複製命令語法,將其貼到 Cloud Shell 視窗或 CLI 控制台、編輯變數值,然後按 Enter 鍵。

  2. 執行 az extension add 以安裝或升級 azure-iot 擴充功能至目前的版本。

    az extension add --upgrade --name azure-iot
    
  3. 執行 az group create 命令以建立資源群組。 下列命令會在 eastus 位置建立名為 MyResourceGroup 的資源群組。

    注意

    您可以選擇性地設定替代位置。 若要檢視可用的位置,請執行 az account list-locations。 本教學課程使用 eastus ,如範例命令所示。

    az group create --name MyResourceGroup --location eastus
    
  4. 執行 az iot hub create 命令以建立IoT中樞。 建立IoT中樞可能需要幾分鐘的時間。

    YourIotHubName。 使用您為IoT中樞選擇的名稱,取代下列命令中的這個佔位元元和周圍大括弧。 IoT 中樞名稱在 Azure 中必須全域是唯一的。 無論您在哪裡看到佔位元,在本快速入門的其餘部分使用IoT中樞名稱。

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
    

    提示

    建立IoT中樞之後,您將在本快速入門的其餘部分使用 Azure IoT Explorer 與 IoT 中樞互動。 IoT Explorer 是 GUI 應用程式,可讓您連線到現有的 IoT 中樞 並新增、管理及監視裝置。 若要深入瞭解,請參閱 安裝和使用 Azure IoT 總管。 您可以選擇性地繼續使用 CLI 命令。

設定IoT總管

在本快速入門的其餘部分,您將使用IoT Explorer向IoT中樞註冊裝置,以及檢視裝置遙測。 在本節中,您會將 IoT Explorer 設定為連線到您剛才建立的 IoT 中樞,並從公用模型存放庫讀取隨插即用模型。

注意

您也可以使用 Azure CLI 來註冊裝置。 使用 az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} 命令來註冊新的裝置,並使用 az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} 命令來取得裝置的主要 連接字串。 記下裝置 連接字串 之後,您可以直接跳到執行裝置範例

若要將連線新增至IoT中樞:

  1. 執行 az iot hub connection-string show 命令,以取得 IoT 中樞的 連接字串。

    az iot hub connection-string  show --hub-name {YourIoTHubName}
    
  2. 複製不含周圍引號字元的 連接字串。

  3. 在 Azure IoT 總管中,選取 左側功能表上的 [IoT 中樞 ],然後選取 [ + 新增連線]。

  4. 將 連接字串 貼到 [連線 ion 字串] 方塊中。

  5. 選取 [儲存]。

    在IoT總管中新增連線的螢幕快照

  6. 如果連線成功,IoT Explorer 會切換至 [ 裝置 ] 檢視。

若要新增公用模型存放庫:

  1. 在 [IoT 總管] 中,選取 [首頁 ] 以返回首頁檢視。

  2. 在左側功能表上,選取 [IoT 隨插即用 設定],然後從下拉功能表中選取 [+新增],然後選取 [公用存放庫]。

  3. 在的公用模型存放庫 https://devicemodels.azure.com會出現專案。

    在 IoT Explorer 中新增公用模型存放庫的螢幕快照

  4. 選取 [儲存]。

註冊裝置

在本節中,您會建立新的裝置實例,並將其註冊為您建立的IoT中樞。 您將使用新註冊裝置的連線資訊,在稍後的章節中安全地連線您的裝置。

若要註冊裝置:

  1. 從IoT總管的主檢視中,選取 [IoT 中樞]。

  2. 您先前新增的連接應該會出現。 選取 連線屬性下方的 [檢視此中樞 中的裝置]。

  3. 選取 [+ 新增 ],然後輸入裝置的裝置標識碼;例如 mydevice。 讓所有其他屬性保持相同。

  4. 選取 建立

    Azure IoT Explorer 裝置身分識別的螢幕快照

  5. 使用 [複製] 按鈕來複製並記下 [主要 連接字串] 字段。 您稍後將需要此 連接字串。

執行裝置範例

在本節中,您將使用 Node.js SDK,將訊息從裝置傳送至 IoT 中樞。 您將執行使用兩個控溫器感測器實作溫度控制器的範例。

  1. 開啟新的控制台,例如 Windows CMD、PowerShell 或 Bash。 在下列步驟中,您將使用此控制台來安裝Node.js SDK,並使用Node.js範例程式代碼。

    注意

    如果您使用 Azure CLI 的本機安裝,您現在可能會開啟兩個控制台視窗。 請務必在剛剛開啟的控制台中輸入本節中的命令,而不是您用於 CLI 的命令。

  2. Azure IoT Node.js SDK 裝置範例 複製到本機電腦:

    git clone https://github.com/Azure/azure-iot-sdk-node
    
  3. 瀏覽至範例目錄:

    Windows

    cd azure-iot-sdk-node\device\samples\javascript
    

    Linux 或Raspberry Pi OS

    cd azure-iot-sdk-node/device/samples/javascript
    
  4. 安裝 Azure IoT Node.js SDK 和必要的相依性:

    npm install
    

    此命令會安裝裝置範例目錄中package.json檔案中指定的適當相依性。

  5. 設定下列兩個環境變數,讓您的裝置能夠連線到 Azure IoT。

    • 設定名為 IOTHUB_DEVICE_CONNECTION_STRING的環境變數。 針對變數值,請使用您在上一節中儲存的裝置 連接字串。
    • 設定名為 IOTHUB_DEVICE_SECURITY_TYPE的環境變數。 針對變數,請使用常值字串值 connectionString

    CMD (Windows)

    set IOTHUB_DEVICE_CONNECTION_STRING=<your connection string here>
    set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
    

    注意

    針對 Windows CMD,每個變數的字串值周圍沒有引號。

    PowerShell

    $env:IOTHUB_DEVICE_CONNECTION_STRING='<your connection string here>'
    $env:IOTHUB_DEVICE_SECURITY_TYPE='connectionString'
    

    Bash

    export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>"
    export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
    
  6. 執行下列程式代碼範例:

    node pnp_temperature_controller.js
    

    注意

    此程式代碼範例使用 Azure IoT 隨插即用,可讓您將智慧型手機裝置整合到解決方案中,而不需要任何手動設定。 根據預設,本檔中的大部分範例都會使用 IoT 隨插即用。 若要深入瞭解IoT PnP的優點,以及使用或不使用它的情況,請參閱什麼是 IoT 隨插即用?

此範例會在您註冊的裝置上安全地連線到IoT中樞,並開始傳送遙測訊息。 範例輸出會出現在您的控制台中。

檢視遙測

您可以使用IoT Explorer來檢視裝置遙測。 您可以選擇性地使用 Azure CLI 來檢視遙測。

若要在 Azure IoT Explorer 中檢視遙測:

  1. 從 IoT Explorer 中的 IoT 中樞,選取 [檢視此中樞中的裝置],然後從清單中選取您的裝置。

  2. 在裝置的左側功能表上,選取 [遙測]。

  3. 確認 [使用內建事件中樞 ] 設定為 [ ],然後選取 [ 啟動]。

  4. 當裝置將訊息傳送至雲端時,檢視遙測。

    IoT Explorer 中裝置遙測的螢幕快照

  5. 選取 [ 停止 ] 以結束接收事件。

若要讀取個別裝置元件所傳送的遙測,您可以使用IoT Explorer中的隨插即用功能。 例如,本快速入門中的溫度控制器有兩個控溫器:控溫器1和控溫器2。 若要查看控溫器所報告的溫度1:

  1. 在IoT總管中的裝置上,從左側功能表中選取 [IoT 隨插即用元件]。 然後從元件清單中選取 控溫器1

  2. 控溫器1 元件窗格中,從頂端功能表中選取 [遙測 ]。

  3. 在 [ 遙測] 窗格中,遵循您先前執行的相同步驟。 請確定 [ 使用內建事件中樞 ] 設定為 [ ],然後選取 [ 啟動]。

若要使用 Azure CLI 檢視裝置遙測:

  1. 執行 az iot hub monitor-events 命令,以監視從裝置傳送到 IoT 中樞的事件。 使用您先前在 Azure IoT 中為您的裝置和 IoT 中樞建立的名稱。

    az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}
    
  2. 在控制台中檢視連線詳細數據和遙測輸出。

    Starting event monitor, filtering on device: mydevice, use ctrl-c to stop...
    event:
      component: thermostat1
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 70.5897683228018
    
    event:
      component: thermostat2
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 52.87582619316418
    

瀏覽程式碼

在本快速入門中,您將瞭解基本的 Azure IoT 應用程式開發工作流程。 您可以使用 Azure CLI 和 IoT Explorer 來建立 Azure IoT 中樞和裝置。 然後使用 Azure IoT 裝置 SDK 範例來執行溫度控制器、安全地將它連線到中樞,以及傳送遙測。 溫度控制器範例應用程式會在本機計算機上執行,並產生模擬感測器數據以傳送至 IoT 中樞。

必要條件

本快速入門會在 Windows、Linux 和 Raspberry Pi 上執行。 它已在下列作業系統和裝置版本上進行測試:

  • Windows 10 或 Windows 11
  • Ubuntu 20.04 LTS
  • Raspberry Pi OS (Raspbian) 第 10 版,在 Raspberry Pi 3 模型 B+ 上執行

在您的開發計算機上安裝下列必要條件,但Raspberry Pi所指出的情況除外:

  • 如果您沒有 Azure 訂用帳戶, 請在開始之前免費 建立一個訂用帳戶。
  • Git
  • Python 請查看 Azure IoT Python SDK 以取得目前的 Python 版本需求。 若要檢查 Python 版本,請執行 python3 --version
  • Azure IoT Explorer:跨平臺、GUI 型公用程序,用來監視和管理 Azure IoT。 如果您使用Raspberry Pi作為開發平臺,建議您在另一部電腦上安裝IoT Explorer。 如果您不想安裝 IoT Explorer,您可以使用 Azure CLI 來執行相同的步驟。
  • Azure CLI。 在本快速入門中,您有兩個選項可用來執行 Azure CLI 命令:
    • 使用 Azure Cloud Shell,這是在瀏覽器中執行 CLI 命令的互動式殼層。 建議您使用此選項,因為您不需要安裝任何專案。 如果您第一次使用 Cloud Shell,請登入 Azure 入口網站。 請遵循開始使用 Azure Cloud Shell 中的步驟來啟動 Cloud Shell選取 Bash 環境
    • 您可以選擇性地在本機電腦上執行 Azure CLI。 如果已安裝 Azure CLI,請執行 az upgrade 以將 CLI 和擴充功能升級至目前的版本。 若要安裝 Azure CLI,請參閱 安裝 Azure CLI。 如果您使用Raspberry Pi作為開發平臺,建議您使用 Azure Cloud Shell 或在另一部電腦上安裝 Azure CLI。

建立 IoT 中樞

在本節中,您會使用 Azure CLI 來建立 IoT 中樞和資源群組。 Azure 資源群組是在其中部署與管理 Azure 資源的邏輯容器。 IoT 中樞可作為IoT應用程式和裝置之間雙向通訊的中央訊息中樞。

若要建立IoT中樞和資源群組:

  1. 啟動 Azure CLI:

    • 如果您使用 Cloud Shell,請選取 CLI 命令上的 [試用] 按鈕,以在分割瀏覽器視窗中啟動 Cloud Shell。 或者,您可以在個別的瀏覽器索引標籤中開啟 Cloud Shell
    • 如果您在本機使用 Azure CLI,請開啟 Windows CMD、PowerShell 或 Bash 等控制台,然後 登入 Azure CLI

    若要在此快速入門的其餘部分執行 CLI 命令:複製命令語法,將其貼到 Cloud Shell 視窗或 CLI 控制台、編輯變數值,然後按 Enter 鍵。

  2. 執行 az extension add 以安裝或升級 azure-iot 擴充功能至目前的版本。

    az extension add --upgrade --name azure-iot
    
  3. 執行 az group create 命令以建立資源群組。 下列命令會在 eastus 位置建立名為 MyResourceGroup 的資源群組。

    注意

    您可以選擇性地設定替代位置。 若要檢視可用的位置,請執行 az account list-locations。 本教學課程使用 eastus ,如範例命令所示。

    az group create --name MyResourceGroup --location eastus
    
  4. 執行 az iot hub create 命令以建立IoT中樞。 建立IoT中樞可能需要幾分鐘的時間。

    YourIotHubName。 使用您為IoT中樞選擇的名稱,取代下列命令中的這個佔位元元和周圍大括弧。 IoT 中樞名稱在 Azure 中必須全域是唯一的。 無論您在哪裡看到佔位元,在本快速入門的其餘部分使用IoT中樞名稱。

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
    

    提示

    建立IoT中樞之後,您將在本快速入門的其餘部分使用 Azure IoT Explorer 與 IoT 中樞互動。 IoT Explorer 是 GUI 應用程式,可讓您連線到現有的 IoT 中樞 並新增、管理及監視裝置。 若要深入瞭解,請參閱 安裝和使用 Azure IoT 總管。 您可以選擇性地繼續使用 CLI 命令。

設定IoT總管

在本快速入門的其餘部分,您將使用IoT Explorer向IoT中樞註冊裝置,以及檢視裝置遙測。 在本節中,您會將 IoT Explorer 設定為連線到您剛才建立的 IoT 中樞,並從公用模型存放庫讀取隨插即用模型。

注意

您也可以使用 Azure CLI 來註冊裝置。 使用 az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} 命令來註冊新的裝置,而 az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} 命令可取得裝置的主要 連接字串。 記下裝置 連接字串 之後,您可以直接跳到執行裝置範例

若要將連線新增至IoT中樞:

  1. 執行 az iot hub connection-string show 命令,以取得 IoT 中樞的 連接字串。

    az iot hub connection-string  show --hub-name {YourIoTHubName}
    
  2. 複製沒有周圍引號字元的 連接字串。

  3. 在 Azure IoT 總管中,選取 左側功能表上的 [IoT 中樞 ],然後選取 [ + 新增連線]。

  4. 將 連接字串 貼到 連線 字串方塊中。

  5. 選取 [儲存]。

    在IoT總管中新增連線的螢幕快照

  6. 如果連線成功,IoT Explorer 會切換至 [ 裝置 ] 檢視。

若要新增公用模型存放庫:

  1. 在 [IoT 總管] 中,選取 [首頁 ] 以返回首頁檢視。

  2. 在左側功能表上,選取 [IoT 隨插即用 設定],然後從下拉功能表中選取 [+新增],然後選取 [公用存放庫]。

  3. 在的公用模型存放庫 https://devicemodels.azure.com會出現專案。

    在 IoT Explorer 中新增公用模型存放庫的螢幕快照

  4. 選取 [儲存]。

註冊裝置

在本節中,您會建立新的裝置實例,並將其註冊為您建立的IoT中樞。 您將使用新註冊裝置的連線資訊,在稍後的章節中安全地連線您的裝置。

若要註冊裝置:

  1. 從IoT總管的主檢視中,選取 [IoT 中樞]。

  2. 您先前新增的連接應該會出現。 選取 連線屬性下方的 [檢視此中樞 中的裝置]。

  3. 選取 [+ 新增 ],然後輸入裝置的裝置標識碼;例如 mydevice。 讓所有其他屬性保持相同。

  4. 選取 建立

    Azure IoT Explorer 裝置身分識別的螢幕快照

  5. 使用 [複製] 按鈕來複製並記下 [主要 連接字串] 字段。 您稍後將需要此 連接字串。

執行裝置範例

在本節中,您會使用 Python SDK 將訊息從裝置傳送至 IoT 中樞。 您將執行使用兩個控溫器感測器實作溫度控制器的範例。

  1. 開啟新的控制台,例如 Windows CMD、PowerShell 或 Bash。 在下列步驟中,您將使用此控制台來安裝 Python SDK,並使用 Python 範例程式代碼。

    注意

    如果您使用 Azure CLI 的本機安裝,您現在可能會開啟兩個控制台視窗。 請務必在剛剛開啟的控制台中輸入本節中的命令,而不是您用於 CLI 的命令。

  2. Azure IoT Python SDK 裝置範例 複製到本機電腦:

    git clone --branch v2 https://github.com/Azure/azure-iot-sdk-python
    
  3. 瀏覽至範例目錄:

    Windows

    cd azure-iot-sdk-python\samples\pnp
    

    Linux 或Raspberry Pi OS

    cd azure-iot-sdk-python/samples/pnp
    
  4. 安裝 Azure IoT Python SDK:

    pip3 install azure-iot-device
    
  5. 設定下列環境變數,讓您的裝置能夠連線到 Azure IoT。

    • 設定名為 IOTHUB_DEVICE_CONNECTION_STRING的環境變數。 針對變數值,請使用您在上一節中儲存的裝置 連接字串。
    • 設定名為 IOTHUB_DEVICE_SECURITY_TYPE的環境變數。 針對變數,請使用常值字串值 connectionString

    CMD (Windows)

    set IOTHUB_DEVICE_CONNECTION_STRING=<your connection string here>
    set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
    

    注意

    針對 Windows CMD,每個變數的字串值周圍沒有引號。

    PowerShell

    $env:IOTHUB_DEVICE_CONNECTION_STRING='<your connection string here>'
    $env:IOTHUB_DEVICE_SECURITY_TYPE='connectionString'
    

    Bash

    export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>"
    export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
    
  6. 執行下列範例檔案的程序代碼。

    python temp_controller_with_thermostats.py
    

    注意

    此程式代碼範例使用 Azure IoT 隨插即用,可讓您將智慧型手機裝置整合到解決方案中,而不需要任何手動設定。 根據預設,本檔中的大部分範例都會使用 IoT 隨插即用。 若要深入瞭解 IoT 隨插即用 的優點,以及使用或不使用它的情況,請參閱什麼是 IoT 隨插即用?

此範例會在您註冊的裝置上安全地連線到IoT中樞,並開始傳送遙測訊息。 範例輸出會出現在您的控制台中。

檢視遙測

您可以使用IoT Explorer來檢視裝置遙測。 您可以選擇性地使用 Azure CLI 來檢視遙測。

若要在 Azure IoT Explorer 中檢視遙測:

  1. 從 IoT Explorer 中的 IoT 中樞,選取 [檢視此中樞中的裝置],然後從清單中選取您的裝置。

  2. 在裝置的左側功能表上,選取 [遙測]。

  3. 確認 [使用內建事件中樞 ] 設定為 [ ],然後選取 [ 啟動]。

  4. 當裝置將訊息傳送至雲端時,檢視遙測。

    IoT Explorer 中裝置遙測的螢幕快照

  5. 選取 [ 停止 ] 以結束接收事件。

若要讀取個別裝置元件所傳送的遙測,您可以使用IoT Explorer中的隨插即用功能。 例如,本快速入門中的溫度控制器有兩個控溫器:控溫器1和控溫器2。 若要查看控溫器所報告的溫度1:

  1. 在IoT總管的裝置上,從左側功能表中選取 IoT 隨插即用元件。 然後從元件清單中選取 控溫器1

  2. 控溫器1 元件窗格中,從頂端功能表中選取 [遙測 ]。

  3. 在 [ 遙測] 窗格中,遵循您先前執行的相同步驟。 請確定 [ 使用內建事件中樞 ] 設定為 [ ],然後選取 [ 啟動]。

若要使用 Azure CLI 檢視裝置遙測:

  1. 執行 az iot hub monitor-events 命令,以監視從裝置傳送到 IoT 中樞的事件。 使用您先前在 Azure IoT 中為您的裝置和 IoT 中樞建立的名稱。

    az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}
    
  2. 在控制台中檢視連線詳細數據和遙測輸出。

    Starting event monitor, filtering on device: mydevice, use ctrl-c to stop...
    event:
      component: thermostat1
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 28
    
    event:
      component: thermostat2
      interface: dtmi:com:example:TemperatureController;2
      module: ''
      origin: mydevice
      payload:
        temperature: 10
    

清除資源

如果您不再需要在本教學課程中建立的 Azure 資源,您可以使用 Azure CLI 來刪除它們。

重要

刪除資源群組是無法回復的動作。 資源群組及其中包含的所有資源都會永久刪除。 請確定您不會不小心刪除錯誤的資源群組或資源。

若要依名稱移除資源群組:

  1. 執行 az group delete 命令。 此命令會移除資源群組、IoT 中樞,以及您建立的裝置註冊。

    az group delete --name MyResourceGroup
    
  2. 執行 az group list 命令以確認資源群組已刪除。

    az group list
    

下一步

在本教學課程中,您已瞭解基本的 Azure IoT 應用程式工作流程,以安全地將裝置連線到雲端,以及傳送裝置到雲端遙測。 您已使用 Azure CLI 來建立 Azure IoT 中樞和裝置實例。 然後,您已使用 Azure IoT 裝置 SDK 來建立溫度控制器、將它連線到中樞,以及傳送遙測。 您也使用 Azure CLI 來監視遙測。

在下一個步驟中,探索下列文章,以深入瞭解如何使用 Azure IoT 建置裝置解決方案。