在本快速入門中,您將瞭解基本的 Azure IoT 應用程式開發工作流程。 您可以使用 Azure CLI 和 IoT 總管來建立 Azure IoT 中樞和裝置。 然後,您可以使用 Azure IoT 裝置 SDK 範例來執行溫度控制器、將它安全地連線到中樞,以及傳送遙測。 溫度控制器範例應用程式會在本機電腦上執行,並產生模擬的感應器資料以傳送至 IoT 中樞。
先決條件
本快速入門可在 Windows、Linux 和 Raspberry Pi 上執行。 它已在以下操作系統和設備版本上進行了測試:
- Windows 10
- Ubuntu 20.04 LTS
- Raspberry Pi OS (Raspbian) 第 10 版,在 Raspberry Pi 3 Model B+ 上執行
在您的開發機器上安裝下列先決條件,除非 Raspberry Pi 另有說明:
- 如果您沒有 Azure 訂用帳戶,請在開始之前建立免費帳戶。
- Git。
- Azure IoT Explorer:跨平台、基於 GUI 的實用程序,用於監視和管理 Azure IoT。 如果您使用 Raspberry Pi 作為開發平台,建議您在另一部電腦上安裝 IoT 總管。 如果您不想安裝 IoT 總管,您可以使用 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 操作系統
若要在 Linux 或 Raspberry Pi 作業系統上完成本快速入門,請安裝下列軟體:
使用命令安裝 GCC、Git、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 上完成本快速入門,請安裝 Visual Studio 2022,並新增 C 和 C++ 開發所需的元件。
- 對於新使用者,請安裝 Visual Studio (社群版、專業版或企業版) 2022。 下載您要安裝的版本,然後啟動安裝程式。
備註
針對現有的 Visual Studio 2022 使用者,請選取 [Windows 開始],輸入 [Visual Studio 安裝程式],執行安裝程式,然後選取 [ 修改]。
- 在安裝程式 工作負載索引 標籤中,選取使用 C++ 進行桌面開發 工作負載。
- 執行安裝。
建立 IoT 中樞
在本節中,您會使用 Azure CLI 來建立 IoT 中樞和資源群組。 Azure 資源群組是在其中部署與管理 Azure 資源的邏輯容器。 IoT 中樞可作為 IoT 應用程式與裝置之間雙向通訊的中央訊息中樞。
若要建立 IoT 中樞和資源群組:
啟動 Azure CLI:
- 如果您要使用 Cloud Shell,則請選取 CLI 命令上的 [試用] 按鈕,以在分割的瀏覽器視窗中啟動 Cloud Shell。 或者,您可以在不同的瀏覽器索引標籤中開啟 Cloud Shell。
- 如果您在本機使用 Azure CLI,請開啟主控台,例如 Windows CMD、PowerShell 或 Bash,然後 登入 Azure CLI。
若要執行本快速入門其餘部分中的 CLI 命令:複製命令語法,將它貼到 Cloud Shell 視窗或 CLI 主控台,編輯變數值,然後按 Enter。
執行 az extension add 以將 azure-iot 延伸模組安裝或升級至目前版本。
az extension add --upgrade --name azure-iot執行 az group create 命令以建立資源群組。 下列命令會在 eastus 位置中建立名為 MyResourceGroup 的資源群組。
備註
您可以選擇性地設定替代位置。 若要查看可用位置,請執行
az account list-locations。 本教學課程使用 eastus ,如範例命令所示。az group create --name MyResourceGroup --location eastus使用 az iot hub create 命令建立 IoT 中樞。 建立 IoT 中樞可能需要幾分鐘的時間。
YourIotHubName。 使用您為 IoT 中樞選擇的名稱,取代下列命令中的這個預留位置和前後的大括弧。 IoT 中樞名稱在 Azure 中必須是全域唯一的。 只要您看到預留位置,就請在本快速入門的其餘部分使用您的 IoT 中樞名稱。
az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}小提示
建立 IoT 中樞之後,您將在本快速入門的其餘部分中使用 Azure IoT 總管與 IoT 中樞互動。 IoT 總管是一個 GUI 應用程式,可讓您連線到現有的 IoT 中樞,並新增、管理和監視裝置。 若要深入瞭解,請參閱 安裝和使用 Azure IoT Explorer。 或者,您可以繼續使用 CLI 命令。
設定 IoT Explorer
在本快速入門的其餘部分中,您會使用 IoT 總管將裝置註冊至 IoT 中樞,並檢視裝置遙測。 在本節中,您會將 IoT 總管設定為連線到您建立的 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 中樞:
執行 az iot hub connection-string show 命令,以取得 IoT 中樞的連接字串。
az iot hub connection-string show --hub-name {YourIoTHubName}複製連接字串,而不使用周圍的引號字元。
在 Azure IoT 總管中,選取左側功能表上的 [IoT 中樞] ,然後選取 [+ 新增連線]。
將連接字串貼到 [連接字串] 方塊中。
選取 [儲存]。
如果連線成功,IoT 總管會切換至 [裝置] 檢視。
檢視公用模型存放庫設定:
在 IoT 總管中,選取 [ 首頁 ] 以返回首頁檢視。
在左側功能表上,選取 [IoT 隨插即用設定]。
您可以在
https://devicemodels.azure.com看到公用模型儲存庫中的一個項目已存在。
註冊裝置
在本節中,您會建立新的裝置執行個體,並將其註冊至您建立的 IoT 中樞。 您可以在稍後的章節中使用新註冊裝置的連線資訊來安全地連接您的裝置。
若要註冊裝置:
從 IoT 探索者的首頁檢視中,選取 IoT 中樞。
您先前新增的連線應該會出現。 在連線屬性下方選取 [檢視此中樞內的裝置]。
選取 [+ 新增 ],然後輸入裝置的裝置識別碼;例如, mydevice。 保持所有其他屬性不變。
選取 ,創建。
複製並記下 [主要連接字串] 欄位中的值。 您稍後需要此連接字串。
執行裝置範例
在本節中,您會使用 C SDK 將訊息從裝置傳送至 IoT 中樞。 您執行一個實作具有兩個恆溫器感測器的溫度控制器的範例。
建置範例
開啟新的主控台以安裝 Azure IoT C 裝置 SDK 並執行程式碼範例。 如果是 Windows,請選取 [開始],輸入 VS 2019 的開發人員命令提示字元,然後開啟主控台。 對於 Linux 和 Raspberry Pi 作業系統,請開啟 Bash 命令的終端機。
備註
如果您使用 Azure CLI 的本機安裝,您現在可能會開啟兩個主控台視窗。 請務必在您剛開啟的主控台中輸入此區段中的命令,而不是您一直用於 CLI 的命令。
流覽至您要複製範例存放庫的本機資料夾。
將 Azure IoT C 裝置 SDK 複製到本機電腦:
git clone https://github.com/Azure/azure-iot-sdk-c.git導覽至 SDK 的根資料夾,然後執行下列命令來更新相依性:
cd azure-iot-sdk-c git submodule update --init此操作需要幾分鐘。
若要建置 SDK 和範例,請執行下列命令:
cmake -Bcmake -Duse_prov_client=ON -Dhsm_type_symm_key=ON -Drun_e2e_tests=OFF cmake --build cmake設定下列環境變數,讓您的裝置能夠連線到 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"- 設定名為 的環境變數
執行程式碼
使用適用於主控台的適當命令,執行範例程式碼。
CMD
cmake\iothub_client\samples\pnp\pnp_temperature_controller\Debug\pnp_temperature_controller.exeBash
cmake/iothub_client/samples/pnp/pnp_temperature_controller/pnp_temperature_controller備註
此程式碼範例使用 Azure IoT 隨插即用,可讓您將智慧型裝置整合到解決方案中,而不需要任何手動設定。 根據預設,本檔中的大部分範例都會使用 IoT 隨插即用。 若要深入瞭解 IoT PnP 的優點,以及使用或不使用它的案例,請參閱什麼是 IoT 隨插即用?。
此範例會作為您註冊的裝置安全地連線到 IoT 中樞,並開始傳送遙測訊息。 範例輸出會出現在您的主控台中。
檢視遙測
您可以使用 IoT 總管檢視裝置遙測。 您可以選擇性地使用 Azure CLI 來檢視遙測。
若要在 Azure IoT 探索器中檢視遙測:
從 IoT 總管的 IoT 中樞,選取 [ 在此中樞中檢視裝置],然後從清單中選取您的裝置。
在裝置的左側功能表上,選取 [ 遙測]。
確認 [使用內建事件中樞] 設定為 [是],然後選取 [開始]。
檢視裝置將訊息傳送至雲端時的遙測。
選取 [停止] 以結束接收事件。
若要讀取個別裝置元件所傳送的遙測,您可以使用 IoT 總管中的隨插即用功能。 例如,本快速入門中的溫度控制器有兩個恆溫器:thermostat1 和 thermostat2。 若要查看恆溫器報告的溫度1:
在您裝置上的 IoT 瀏覽器中,從左側功能表中選取 [IoT 隨插即用元件]。 然後從組件列表中選擇 thermostat1 。
在 thermostat1 元件窗格上,從頂端功能表中選取遙 測 。
在 [ 遙測 ] 窗格上,遵循您先前執行的相同步驟。 請確定 [ 使用內建事件中樞 ] 設定為 [ 是 ],然後選取 [開始]。
若要使用 Azure CLI 檢視裝置遙測:
執行 az iot hub monitor-events 命令,以監視從裝置傳送至 IoT 中樞的事件。 使用您先前在 Azure IoT 中建立的裝置和 IoT 中樞名稱。
az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}在主控台中檢視連線詳細資料和遙測輸出。
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 總管來建立 Azure IoT 中樞和裝置。 然後,您可以使用 Azure IoT 裝置 SDK 範例來執行溫度控制器、將它安全地連線到中樞,以及傳送遙測。 溫度控制器範例應用程式會在本機電腦上執行,並產生模擬的感應器資料以傳送至 IoT 中樞。
先決條件
本快速入門可在 Windows、Linux 和 Raspberry Pi 上執行。 它已在以下操作系統和設備版本上進行了測試:
- Windows 10
- Ubuntu 20.04 LTS
- Raspberry Pi OS (Raspbian) 第 10 版,在 Raspberry Pi 3 Model B+ 上執行
在您的開發機器上安裝下列先決條件,除非 Raspberry Pi 另有說明:
- 如果您沒有 Azure 訂用帳戶,請在開始之前建立免費帳戶。
- Git。
-
.NET 6.0 SDK 請務必安裝 .NET SDK,而不僅僅是執行階段。 若要檢查電腦上安裝的 .NET SDK 和執行階段版本,請執行
dotnet --info。 - Azure IoT Explorer:跨平台、基於 GUI 的實用程序,用於監視和管理 Azure IoT。 如果您使用 Raspberry Pi 作為開發平台,建議您在另一部電腦上安裝 IoT 總管。 如果您不想安裝 IoT 總管,您可以使用 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。
這很重要
您必須使用 .NET 6.0 SDK 來建置和執行本快速入門中的 C# 範例程式碼。 此範例目前不適用於更新版本的 SDK。
建立 IoT 中樞
在本節中,您會使用 Azure CLI 來建立 IoT 中樞和資源群組。 Azure 資源群組是在其中部署與管理 Azure 資源的邏輯容器。 IoT 中樞可作為 IoT 應用程式與裝置之間雙向通訊的中央訊息中樞。
若要建立 IoT 中樞和資源群組:
啟動 Azure CLI:
- 如果您要使用 Cloud Shell,則請選取 CLI 命令上的 [試用] 按鈕,以在分割的瀏覽器視窗中啟動 Cloud Shell。 或者,您可以在不同的瀏覽器索引標籤中開啟 Cloud Shell。
- 如果您在本機使用 Azure CLI,請開啟主控台,例如 Windows CMD、PowerShell 或 Bash,然後 登入 Azure CLI。
若要執行本快速入門其餘部分中的 CLI 命令:複製命令語法,將它貼到 Cloud Shell 視窗或 CLI 主控台,編輯變數值,然後按 Enter。
執行 az extension add 以將 azure-iot 延伸模組安裝或升級至目前版本。
az extension add --upgrade --name azure-iot執行 az group create 命令以建立資源群組。 下列命令會在 eastus 位置中建立名為 MyResourceGroup 的資源群組。
備註
您可以選擇性地設定替代位置。 若要查看可用位置,請執行
az account list-locations。 本教學課程使用 eastus ,如範例命令所示。az group create --name MyResourceGroup --location eastus使用 az iot hub create 命令建立 IoT 中樞。 建立 IoT 中樞可能需要幾分鐘的時間。
YourIotHubName。 使用您為 IoT 中樞選擇的名稱,取代下列命令中的這個預留位置和前後的大括弧。 IoT 中樞名稱在 Azure 中必須是全域唯一的。 只要您看到預留位置,就請在本快速入門的其餘部分使用您的 IoT 中樞名稱。
az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}小提示
建立 IoT 中樞之後,您將在本快速入門的其餘部分中使用 Azure IoT 總管與 IoT 中樞互動。 IoT 總管是一個 GUI 應用程式,可讓您連線到現有的 IoT 中樞,並新增、管理和監視裝置。 若要深入瞭解,請參閱 安裝和使用 Azure IoT Explorer。 或者,您可以繼續使用 CLI 命令。
設定 IoT Explorer
在本快速入門的其餘部分中,您會使用 IoT 總管將裝置註冊至 IoT 中樞,並檢視裝置遙測。 在本節中,您會將 IoT 總管設定為連線到您建立的 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 中樞:
執行 az iot hub connection-string show 命令,以取得 IoT 中樞的連接字串。
az iot hub connection-string show --hub-name {YourIoTHubName}複製連接字串,而不使用周圍的引號字元。
在 Azure IoT 總管中,選取左側功能表上的 [IoT 中樞] ,然後選取 [+ 新增連線]。
將連接字串貼到 [連接字串] 方塊中。
選取 [儲存]。
如果連線成功,IoT 總管會切換至 [裝置] 檢視。
檢視公用模型存放庫設定:
在 IoT 總管中,選取 [ 首頁 ] 以返回首頁檢視。
在左側功能表上,選取 [IoT 隨插即用設定]。
您可以看到在
https://devicemodels.azure.com的公用模型儲存庫中有一個項目存在。
註冊裝置
在本節中,您會建立新的裝置執行個體,並將其註冊至您建立的 IoT 中樞。 您可以在稍後的章節中使用新註冊裝置的連線資訊來安全地連接您的裝置。
若要註冊裝置:
從 IoT 探索者的首頁檢視中,選取 IoT 中樞。
您先前新增的連線應該會出現。 在連線屬性下方選取 [檢視此中樞內的裝置]。
選取 [+ 新增 ],然後輸入裝置的裝置識別碼;例如, mydevice。 保持所有其他屬性不變。
選取 ,創建。
複製並記下 [主要連接字串] 欄位中的值。 您稍後需要此連接字串。
執行裝置範例
在本節中,您將使用 C# SDK 將訊息從裝置傳送至 IoT 中樞。 您將執行一個範例,以實作具有兩個恆溫器感測器的溫度控制器。
開啟新的主控台,例如 Windows CMD、PowerShell 或 Bash。 在下列步驟中,您將使用此主控台來安裝 .NET SDK,並使用 C# 範例程式碼。
備註
如果您使用 Azure CLI 的本機安裝,您現在可能會開啟兩個主控台視窗。 請務必在您剛開啟的主控台中輸入此區段中的命令,而不是您一直用於 CLI 的命令。
將 適用於 C# (.NET) 的 Microsoft Azure IoT SDK 複製到本機電腦:
git clone https://github.com/Azure/azure-iot-sdk-csharp.git導覽至範例目錄:
Windows 作業系統
cd azure-iot-sdk-csharp\iothub\device\samples\solutions\PnpDeviceSamples\TemperatureControllerLinux 或 Raspberry Pi 操作系統
cd azure-iot-sdk-csharp/iothub/device/samples/solutions/PnpDeviceSamples/TemperatureController安裝 Azure IoT C# SDK 和必要的相依性:
dotnet restore此命令會安裝 TemperatureController.csproj 檔案中指定的適當相依性。
設定下列兩個環境變數,讓您的裝置能夠連線到 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"- 設定名為 的環境變數
執行程式碼範例:
dotnet run備註
此程式碼範例使用 Azure IoT 隨插即用,可讓您將智慧型裝置整合到解決方案中,而不需要任何手動設定。 根據預設,本檔中的大部分範例都會使用 IoT 隨插即用。 若要深入瞭解 IoT PnP 的優點,以及使用或不使用它的案例,請參閱什麼是 IoT 隨插即用?。
此範例會作為您註冊的裝置安全地連線到 IoT 中樞,並開始傳送遙測訊息。 範例輸出會出現在您的主控台中。
檢視遙測
您可以使用 IoT 總管檢視裝置遙測。 您可以選擇性地使用 Azure CLI 來檢視遙測。
若要在 Azure IoT 探索器中檢視遙測:
從 IoT 總管的 IoT 中樞,選取 [ 在此中樞中檢視裝置],然後從清單中選取您的裝置。
在裝置的左側功能表上,選取 [ 遙測]。
確認 [使用內建事件中樞] 設定為 [是],然後選取 [開始]。
檢視裝置將訊息傳送至雲端時的遙測。
選取 [停止] 以結束接收事件。
若要讀取個別裝置元件所傳送的遙測,您可以使用 IoT 總管中的隨插即用功能。 例如,本快速入門中的溫度控制器有兩個恆溫器:thermostat1 和 thermostat2。 若要查看恆溫器報告的溫度1:
在您裝置上的 IoT 瀏覽器中,從左側功能表中選取 [IoT 隨插即用元件]。 然後從組件列表中選擇 thermostat1 。
在 thermostat1 元件窗格上,從頂端功能表中選取遙 測 。
在 [ 遙測 ] 窗格上,遵循您先前執行的相同步驟。 請確定 [ 使用內建事件中樞 ] 設定為 [ 是 ],然後選取 [開始]。
若要使用 Azure CLI 檢視裝置遙測:
執行 az iot hub monitor-events 命令,以監視從裝置傳送至 IoT 中樞的事件。 使用您先前在 Azure IoT 中建立的裝置和 IoT 中樞名稱。
az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}在主控台中檢視連線詳細資料和遙測輸出。
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選取 CTRL+C 以結束監視。
在本快速入門中,您將瞭解基本的 Azure IoT 應用程式開發工作流程。 您可以使用 Azure CLI 和 IoT 總管來建立 Azure IoT 中樞和裝置。 然後,您可以使用 Azure IoT 裝置 SDK 範例來執行溫度控制器、將它安全地連線到中樞,以及傳送遙測。 溫度控制器範例應用程式會在本機電腦上執行,並產生模擬的感應器資料以傳送至 IoT 中樞。
先決條件
本快速入門可在 Windows、Linux 和 Raspberry Pi 上執行。 它已在以下操作系統和設備版本上進行了測試:
- Windows 10
- Ubuntu 20.04 LTS
- Raspberry Pi OS (Raspbian) 第 10 版,在 Raspberry Pi 3 Model B+ 上執行
在您的開發機器上安裝下列先決條件,除非 Raspberry Pi 另有說明:
- 如果您沒有 Azure 訂用帳戶,請在開始之前建立免費帳戶。
- Git。
- Azure IoT Explorer:跨平台、基於 GUI 的實用程序,用於監視和管理 Azure IoT。 如果您使用 Raspberry Pi 作為開發平台,建議您在另一部電腦上安裝 IoT 總管。 如果您不想安裝 IoT 總管,您可以使用 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 上完成本快速入門,請安裝下列軟體:
Java SE 開發套件 8 或更新版本。 您可以從下載OpenJDK的Zulu版本中下載適用於多個平台的Java 8(LTS)JDK。 在安裝程式中,選取 [新增至路徑] 選項。
Apache Maven 3。 將下載解壓縮至本機資料夾之後,請將Maven /bin 資料夾的完整路徑新增至Windows
PATH環境變數。
Linux 或 Raspberry Pi 操作系統
若要在 Linux 或 Raspberry Pi 作業系統上完成本快速入門,請安裝下列軟體:
備註
本節中的步驟基於 Linux Ubuntu/Debian 發行版。 (Raspberry Pi OS 基於 Debian。如果您使用的是不同的 Linux 發行版,則需要相應地修改步驟。
OpenJDK (Open Java Development Kit) 8 或更新版本。 您可以使用指令
java -version來驗證系統上安裝的 Java 版本。 請確定已安裝 JDK,而不只是 Java 執行階段 (JRE)。若要為您的系統安裝 OpenJDK,請輸入下列命令:
要為您的系統安裝默認版本的 OpenJDK(在撰寫本文時適用於 Ubuntu 20.04 和 Raspberry Pi OS 10 的 OpenJDK 11):
sudo apt update sudo apt install default-jdk或者,您可以指定要安裝的 JDK 版本。 例如:
sudo apt update sudo apt install openjdk-8-jdk如果您的系統已安裝多個版本的 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將環境變數設定
JAVA_HOME為 JDK 安裝的路徑。 (這通常是 /usr/lib/jvm 目錄中的版本化子目錄。export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")這很重要
此指令會在您目前的 shell 環境中設定
JAVA_HOME變數。 建議您將命令新增至~/.bashrc或/etc/profile檔案,以便在您開啟新 shell 時使用。驗證已安裝的 Java JDK (和 JRE) 版本、您的 Java 編譯器版本是否符合 JDK 版本,以及
JAVA_HOME環境變數是否已正確設定。java -version javac -version echo $JAVA_HOME
Apache Maven 3. 您可以使用該
mvn --version命令來驗證系統上安裝的 Maven 版本。若要安裝 Maven,請輸入下列命令:
sudo apt-get update sudo apt-get install maven輸入下列命令以驗證您的安裝。
mvn --version
建立 IoT 中樞
在本節中,您會使用 Azure CLI 來建立 IoT 中樞和資源群組。 Azure 資源群組是在其中部署與管理 Azure 資源的邏輯容器。 IoT 中樞可作為 IoT 應用程式與裝置之間雙向通訊的中央訊息中樞。
若要建立 IoT 中樞和資源群組:
啟動 Azure CLI:
- 如果您要使用 Cloud Shell,則請選取 CLI 命令上的 [試用] 按鈕,以在分割的瀏覽器視窗中啟動 Cloud Shell。 或者,您可以在不同的瀏覽器索引標籤中開啟 Cloud Shell。
- 如果您在本機使用 Azure CLI,請開啟主控台,例如 Windows CMD、PowerShell 或 Bash,然後 登入 Azure CLI。
若要執行本快速入門其餘部分中的 CLI 命令:複製命令語法,將它貼到 Cloud Shell 視窗或 CLI 主控台,編輯變數值,然後按 Enter。
執行 az extension add 以將 azure-iot 延伸模組安裝或升級至目前版本。
az extension add --upgrade --name azure-iot執行 az group create 命令以建立資源群組。 下列命令會在 eastus 位置中建立名為 MyResourceGroup 的資源群組。
備註
您可以選擇性地設定替代位置。 若要查看可用位置,請執行
az account list-locations。 本教學課程使用 eastus ,如範例命令所示。az group create --name MyResourceGroup --location eastus使用 az iot hub create 命令建立 IoT 中樞。 建立 IoT 中樞可能需要幾分鐘的時間。
YourIotHubName。 使用您為 IoT 中樞選擇的名稱,取代下列命令中的這個預留位置和前後的大括弧。 IoT 中樞名稱在 Azure 中必須是全域唯一的。 只要您看到預留位置,就請在本快速入門的其餘部分使用您的 IoT 中樞名稱。
az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}小提示
建立 IoT 中樞之後,您將在本快速入門的其餘部分中使用 Azure IoT 總管與 IoT 中樞互動。 IoT 總管是一個 GUI 應用程式,可讓您連線到現有的 IoT 中樞,並新增、管理和監視裝置。 若要深入瞭解,請參閱 安裝和使用 Azure IoT Explorer。 或者,您可以繼續使用 CLI 命令。
設定 IoT Explorer
在本快速入門的其餘部分中,您會使用 IoT 總管將裝置註冊至 IoT 中樞,並檢視裝置遙測。 在本節中,您會將 IoT 總管設定為連線到您建立的 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 中樞:
執行 az iot hub connection-string show 命令,以取得 IoT 中樞的連接字串。
az iot hub connection-string show --hub-name {YourIoTHubName}複製連接字串,而不使用周圍的引號字元。
在 Azure IoT 總管中,選取左側功能表上的 [IoT 中樞] ,然後選取 [+ 新增連線]。
將連接字串貼到 [連接字串] 方塊中。
選取 [儲存]。
如果連線成功,IoT 總管會切換至 [裝置] 檢視。
檢視公用模型存放庫設定:
在 IoT 總管中,選取 [ 首頁 ] 以返回首頁檢視。
在左側功能表上,選取 [IoT 隨插即用設定]。
您可以看到公用模型儲存庫的項目存在於
https://devicemodels.azure.com。
註冊裝置
在本節中,您會建立新的裝置執行個體,並將其註冊至您建立的 IoT 中樞。 您可以在稍後的章節中使用新註冊裝置的連線資訊來安全地連接您的裝置。
若要註冊裝置:
從 IoT 探索者的首頁檢視中,選取 IoT 中樞。
您先前新增的連線應該會出現。 在連線屬性下方選取 [檢視此中樞內的裝置]。
選取 [+ 新增 ],然後輸入裝置的裝置識別碼;例如, mydevice。 保持所有其他屬性不變。
選取 ,創建。
複製並記下 [主要連接字串] 欄位中的值。 您稍後需要此連接字串。
執行裝置範例
在本節中,您會使用 Java SDK 將訊息從裝置傳送至 IoT 中樞。 您將執行一個範例,以實作具有兩個恆溫器感測器的溫度控制器。
開啟主控台以安裝 Azure IoT Java 裝置 SDK、建置並執行程式碼範例。 您將在下列步驟中使用此主控台。
備註
如果您使用 Azure CLI 的本機安裝,您現在可能會開啟兩個主控台視窗。 請務必在您剛開啟的主控台中輸入此區段中的命令,而不是您一直用於 CLI 的命令。
Linux 和 Raspberry Pi 操作系統
確認已設定JAVA_HOME (
echo $JAVA_HOME) 環境變數。 如需設定JAVA_HOME的相關資訊,請參閱 Linux/Raspberry Pi 先決條件。將 Azure IoT Java 裝置 SDK 複製到本機電腦:
git clone https://github.com/Azure/azure-iot-sdk-java.git流覽至 SDK 的根資料夾,然後執行下列命令來建置 SDK 並更新範例。
cd azure-iot-sdk-java mvn install -T 2C -DskipTests此作業需要幾分鐘的時間。
設定下列環境變數,讓您的裝置能夠連線到 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"- 設定名為 的環境變數
導覽至範例目錄。
CMD
cd device\iot-device-samples\pnp-device-sample\temperature-controller-device-sampleBash
cd device/iot-device-samples/pnp-device-sample/temperature-controller-device-sample執行程式碼範例。
java -jar -Dexec.mainClass="samples.com.microsoft.azure.sdk.iot.device.TemperatureController"備註
此程式碼範例使用 Azure IoT 隨插即用,可讓您將智慧型裝置整合到解決方案中,而不需要任何手動設定。 根據預設,本檔中的大部分範例都會使用 IoT 隨插即用。 若要深入瞭解 IoT PnP 的優點,以及使用或不使用它的案例,請參閱什麼是 IoT 隨插即用?。
此範例會作為您註冊的裝置安全地連線到 IoT 中樞,並開始傳送遙測訊息。 範例輸出會出現在您的主控台中。
檢視遙測
您可以使用 IoT 總管檢視裝置遙測。 您可以選擇性地使用 Azure CLI 來檢視遙測。
若要在 Azure IoT 探索器中檢視遙測:
從 IoT 總管的 IoT 中樞,選取 [ 在此中樞中檢視裝置],然後從清單中選取您的裝置。
在裝置的左側功能表上,選取 [ 遙測]。
確認 [使用內建事件中樞] 設定為 [是],然後選取 [開始]。
檢視裝置將訊息傳送至雲端時的遙測。
選取 [停止] 以結束接收事件。
若要讀取個別裝置元件所傳送的遙測,您可以使用 IoT 總管中的隨插即用功能。 例如,本快速入門中的溫度控制器有兩個恆溫器:thermostat1 和 thermostat2。 若要查看恆溫器報告的溫度1:
在您裝置上的 IoT 瀏覽器中,從左側功能表中選取 [IoT 隨插即用元件]。 然後從組件列表中選擇 thermostat1 。
在 thermostat1 元件窗格上,從頂端功能表中選取遙 測 。
在 [ 遙測 ] 窗格上,遵循您先前執行的相同步驟。 請確定 [ 使用內建事件中樞 ] 設定為 [ 是 ],然後選取 [開始]。
若要使用 Azure CLI 檢視裝置遙測:
執行 az iot hub monitor-events 命令,以監視從裝置傳送至 IoT 中樞的事件。 使用您先前在 Azure IoT 中建立的裝置和 IoT 中樞名稱。
az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}在主控台中檢視連線詳細資料和遙測輸出。
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 總管來建立 Azure IoT 中樞和裝置。 然後,您可以使用 Azure IoT 裝置 SDK 範例來執行溫度控制器、將它安全地連線到中樞,以及傳送遙測。 溫度控制器範例應用程式會在本機電腦上執行,並產生模擬的感應器資料以傳送至 IoT 中樞。
先決條件
本快速入門可在 Windows、Linux 和 Raspberry Pi 上執行。 它已在以下操作系統和設備版本上進行了測試:
- Windows 10
- Ubuntu 20.04 LTS
- Raspberry Pi OS (Raspbian) 第 10 版,在 Raspberry Pi 3 Model B+ 上執行
在您的開發機器上安裝下列先決條件,除非 Raspberry Pi 另有說明:
- 如果您沒有 Azure 訂用帳戶,請在開始之前建立免費帳戶。
- Git。
-
Node.js 12 版或更新版本。 若要檢查您的節點版本,請執行
node --version。 - Azure IoT Explorer:跨平台、基於 GUI 的實用程序,用於監視和管理 Azure IoT。 如果您使用 Raspberry Pi 作為開發平台,建議您在另一部電腦上安裝 IoT 總管。 如果您不想安裝 IoT 總管,您可以使用 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 中樞和資源群組:
啟動 Azure CLI:
- 如果您要使用 Cloud Shell,則請選取 CLI 命令上的 [試用] 按鈕,以在分割的瀏覽器視窗中啟動 Cloud Shell。 或者,您可以在不同的瀏覽器索引標籤中開啟 Cloud Shell。
- 如果您在本機使用 Azure CLI,請開啟主控台,例如 Windows CMD、PowerShell 或 Bash,然後 登入 Azure CLI。
若要執行本快速入門其餘部分中的 CLI 命令:複製命令語法,將它貼到 Cloud Shell 視窗或 CLI 主控台,編輯變數值,然後按 Enter。
執行 az extension add 以將 azure-iot 延伸模組安裝或升級至目前版本。
az extension add --upgrade --name azure-iot執行 az group create 命令以建立資源群組。 下列命令會在 eastus 位置中建立名為 MyResourceGroup 的資源群組。
備註
您可以選擇性地設定替代位置。 若要查看可用位置,請執行
az account list-locations。 本教學課程使用 eastus ,如範例命令所示。az group create --name MyResourceGroup --location eastus使用 az iot hub create 命令建立 IoT 中樞。 建立 IoT 中樞可能需要幾分鐘的時間。
YourIotHubName。 使用您為 IoT 中樞選擇的名稱,取代下列命令中的這個預留位置和前後的大括弧。 IoT 中樞名稱在 Azure 中必須是全域唯一的。 只要您看到預留位置,就請在本快速入門的其餘部分使用您的 IoT 中樞名稱。
az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}小提示
建立 IoT 中樞之後,您將在本快速入門的其餘部分中使用 Azure IoT 總管與 IoT 中樞互動。 IoT 總管是一個 GUI 應用程式,可讓您連線到現有的 IoT 中樞,並新增、管理和監視裝置。 若要深入瞭解,請參閱 安裝和使用 Azure IoT Explorer。 或者,您可以繼續使用 CLI 命令。
設定 IoT Explorer
在本快速入門的其餘部分中,您會使用 IoT 總管將裝置註冊至 IoT 中樞,並檢視裝置遙測。 在本節中,您會將 IoT 總管設定為連線到您建立的 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 中樞:
執行 az iot hub connection-string show 命令,以取得 IoT 中樞的連接字串。
az iot hub connection-string show --hub-name {YourIoTHubName}複製連接字串,而不使用周圍的引號字元。
在 Azure IoT 總管中,選取左側功能表上的 [IoT 中樞] ,然後選取 [+ 新增連線]。
將連接字串貼到 [連接字串] 方塊中。
選取 [儲存]。
如果連線成功,IoT 總管會切換至 [裝置] 檢視。
檢視公用模型存放庫設定:
在 IoT 總管中,選取 [ 首頁 ] 以返回首頁檢視。
在左側功能表上,選取 [IoT 隨插即用設定]。
您可以在
https://devicemodels.azure.com看到公用模型儲存庫的項目已存在。
註冊裝置
在本節中,您會建立新的裝置執行個體,並將其註冊至您建立的 IoT 中樞。 您可以在稍後的章節中使用新註冊裝置的連線資訊來安全地連接您的裝置。
若要註冊裝置:
從 IoT 探索者的首頁檢視中,選取 IoT 中樞。
您先前新增的連線應該會出現。 在連線屬性下方選取 [檢視此中樞內的裝置]。
選取 [+ 新增 ],然後輸入裝置的裝置識別碼;例如, mydevice。 保持所有其他屬性不變。
選取 ,創建。
複製並記下 [主要連接字串] 欄位中的值。 您稍後需要此連接字串。
執行裝置範例
在本節中,您將使用 Node.js SDK 將訊息從裝置傳送至 IoT 中樞。 您將執行一個範例,以實作具有兩個恆溫器感測器的溫度控制器。
開啟新的主控台,例如 Windows CMD、PowerShell 或 Bash。 在下列步驟中,您將使用此主控台來安裝 Node.js SDK 並使用 Node.js 範例程式碼。
備註
如果您使用 Azure CLI 的本機安裝,您現在可能會開啟兩個主控台視窗。 請務必在您剛開啟的主控台中輸入此區段中的命令,而不是您一直用於 CLI 的命令。
將 Azure IoT Node.js SDK 裝置範例 複製到本機電腦:
git clone https://github.com/Azure/azure-iot-sdk-node導覽至範例目錄:
Windows 作業系統
cd azure-iot-sdk-node\device\samples\javascriptLinux 或 Raspberry Pi 操作系統
cd azure-iot-sdk-node/device/samples/javascript安裝 Azure IoT Node.js SDK 和必要的相依性:
npm install此命令會安裝裝置範例目錄中 package.json 檔案中指定的適當相依性。
設定下列兩個環境變數,讓您的裝置能夠連線到 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"- 設定名為 的環境變數
執行下列程式碼範例:
node pnp_temperature_controller.js備註
此程式碼範例使用 Azure IoT 隨插即用,可讓您將智慧型裝置整合到解決方案中,而不需要任何手動設定。 根據預設,本檔中的大部分範例都會使用 IoT 隨插即用。 若要深入瞭解 IoT PnP 的優點,以及使用或不使用它的案例,請參閱什麼是 IoT 隨插即用?。
此範例會作為您註冊的裝置安全地連線到 IoT 中樞,並開始傳送遙測訊息。 範例輸出會出現在您的主控台中。
檢視遙測
您可以使用 IoT 總管檢視裝置遙測。 您可以選擇性地使用 Azure CLI 來檢視遙測。
若要在 Azure IoT 探索器中檢視遙測:
從 IoT 總管的 IoT 中樞,選取 [ 在此中樞中檢視裝置],然後從清單中選取您的裝置。
在裝置的左側功能表上,選取 [ 遙測]。
確認 [使用內建事件中樞] 設定為 [是],然後選取 [開始]。
檢視裝置將訊息傳送至雲端時的遙測。
選取 [停止] 以結束接收事件。
若要讀取個別裝置元件所傳送的遙測,您可以使用 IoT 總管中的隨插即用功能。 例如,本快速入門中的溫度控制器有兩個恆溫器:thermostat1 和 thermostat2。 若要查看恆溫器報告的溫度1:
在您裝置上的 IoT 瀏覽器中,從左側功能表中選取 [IoT 隨插即用元件]。 然後從組件列表中選擇 thermostat1 。
在 thermostat1 元件窗格上,從頂端功能表中選取遙 測 。
在 [ 遙測 ] 窗格上,遵循您先前執行的相同步驟。 請確定 [ 使用內建事件中樞 ] 設定為 [ 是 ],然後選取 [開始]。
若要使用 Azure CLI 檢視裝置遙測:
執行 az iot hub monitor-events 命令,以監視從裝置傳送至 IoT 中樞的事件。 使用您先前在 Azure IoT 中建立的裝置和 IoT 中樞名稱。
az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}在主控台中檢視連線詳細資料和遙測輸出。
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 總管來建立 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 Model B+ 上執行
在您的開發機器上安裝下列先決條件,除非 Raspberry Pi 另有說明:
- 如果您沒有 Azure 訂用帳戶,請在開始之前建立免費帳戶。
- Git。
-
Python。 如需目前的 Python 版本需求,請查看 Azure IoT Python SDK (英文)。 若要檢查您的 Python 版本,請執行
python3 --version。 - Azure IoT Explorer:跨平台、基於 GUI 的實用程序,用於監視和管理 Azure IoT。 如果您使用 Raspberry Pi 作為開發平台,建議您在另一部電腦上安裝 IoT 總管。 如果您不想安裝 IoT 總管,您可以使用 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 中樞和資源群組:
啟動 Azure CLI:
- 如果您要使用 Cloud Shell,則請選取 CLI 命令上的 [試用] 按鈕,以在分割的瀏覽器視窗中啟動 Cloud Shell。 或者,您可以在不同的瀏覽器索引標籤中開啟 Cloud Shell。
- 如果您在本機使用 Azure CLI,請開啟主控台,例如 Windows CMD、PowerShell 或 Bash,然後 登入 Azure CLI。
若要執行本快速入門其餘部分中的 CLI 命令:複製命令語法,將它貼到 Cloud Shell 視窗或 CLI 主控台,編輯變數值,然後按 Enter。
執行 az extension add 以將 azure-iot 延伸模組安裝或升級至目前版本。
az extension add --upgrade --name azure-iot執行 az group create 命令以建立資源群組。 下列命令會在 eastus 位置中建立名為 MyResourceGroup 的資源群組。
備註
您可以選擇性地設定替代位置。 若要查看可用位置,請執行
az account list-locations。 本教學課程使用 eastus ,如範例命令所示。az group create --name MyResourceGroup --location eastus使用 az iot hub create 命令建立 IoT 中樞。 建立 IoT 中樞可能需要幾分鐘的時間。
YourIotHubName。 使用您為 IoT 中樞選擇的名稱,取代下列命令中的這個預留位置和前後的大括弧。 IoT 中樞名稱在 Azure 中必須是全域唯一的。 只要您看到預留位置,就請在本快速入門的其餘部分使用您的 IoT 中樞名稱。
az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}小提示
建立 IoT 中樞之後,您將在本快速入門的其餘部分中使用 Azure IoT 總管與 IoT 中樞互動。 IoT 總管是一個 GUI 應用程式,可讓您連線到現有的 IoT 中樞,並新增、管理和監視裝置。 若要深入瞭解,請參閱 安裝和使用 Azure IoT Explorer。 或者,您可以繼續使用 CLI 命令。
設定 IoT Explorer
在本快速入門的其餘部分中,您會使用 IoT 總管將裝置註冊至 IoT 中樞,並檢視裝置遙測。 在本節中,您會將 IoT 總管設定為連線到您建立的 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 中樞:
執行 az iot hub connection-string show 命令,以取得 IoT 中樞的連接字串。
az iot hub connection-string show --hub-name {YourIoTHubName}複製連接字串,而不使用周圍的引號字元。
在 Azure IoT 總管中,選取左側功能表上的 [IoT 中樞] ,然後選取 [+ 新增連線]。
將連接字串貼到 [連接字串] 方塊中。
選取 [儲存]。
如果連線成功,IoT 總管會切換至 [裝置] 檢視。
檢視公用模型存放庫設定:
在 IoT 總管中,選取 [ 首頁 ] 以返回首頁檢視。
在左側功能表上,選取 [IoT 隨插即用設定]。
您可以在
https://devicemodels.azure.com看到公用模型儲存庫的項目已存在。
註冊裝置
在本節中,您會建立新的裝置執行個體,並將其註冊至您建立的 IoT 中樞。 您可以在稍後的章節中使用新註冊裝置的連線資訊來安全地連接您的裝置。
若要註冊裝置:
從 IoT 探索者的首頁檢視中,選取 IoT 中樞。
您先前新增的連線應該會出現。 在連線屬性下方選取 [檢視此中樞內的裝置]。
選取 [+ 新增 ],然後輸入裝置的裝置識別碼;例如, mydevice。 保持所有其他屬性不變。
選取 ,創建。
複製並記下 [主要連接字串] 欄位中的值。 您稍後需要此連接字串。
執行裝置範例
在本節中,您會使用 Python SDK 將訊息從裝置傳送至 IoT 中樞。 您將執行一個範例,以實作具有兩個恆溫器感測器的溫度控制器。
開啟新的主控台,例如 Windows CMD、PowerShell 或 Bash。 在下列步驟中,您將使用此主控台來安裝 Python SDK 並使用 Python 範例程式碼。
備註
如果您使用 Azure CLI 的本機安裝,您現在可能會開啟兩個主控台視窗。 請務必在您剛開啟的主控台中輸入此區段中的命令,而不是您一直用於 CLI 的命令。
將 Azure IoT Python SDK 裝置範例 複製到本機電腦:
git clone --branch v2 https://github.com/Azure/azure-iot-sdk-python導覽至範例目錄:
Windows 作業系統
cd azure-iot-sdk-python\samples\pnpLinux 或 Raspberry Pi 操作系統
cd azure-iot-sdk-python/samples/pnp安裝 Azure IoT Python SDK:
pip3 install azure-iot-device設定下列環境變數,讓您的裝置能夠連線到 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"- 設定名為 的環境變數
執行下列範例檔案的程式碼。
python temp_controller_with_thermostats.py備註
此程式碼範例使用 Azure IoT 隨插即用,可讓您將智慧型裝置整合到解決方案中,而不需要任何手動設定。 根據預設,本檔中的大部分範例都會使用 IoT 隨插即用。 若要深入瞭解 IoT 隨插即用的優點,以及使用或不使用它的案例,請參閱什麼是 IoT 隨插即用?。
此範例會作為您註冊的裝置安全地連線到 IoT 中樞,並開始傳送遙測訊息。 範例輸出會出現在您的主控台中。
檢視遙測
您可以使用 IoT 總管檢視裝置遙測。 您可以選擇性地使用 Azure CLI 來檢視遙測。
若要在 Azure IoT 探索器中檢視遙測:
從 IoT 總管的 IoT 中樞,選取 [ 在此中樞中檢視裝置],然後從清單中選取您的裝置。
在裝置的左側功能表上,選取 [ 遙測]。
確認 [使用內建事件中樞] 設定為 [是],然後選取 [開始]。
檢視裝置將訊息傳送至雲端時的遙測。
選取 [停止] 以結束接收事件。
若要讀取個別裝置元件所傳送的遙測,您可以使用 IoT 總管中的隨插即用功能。 例如,本快速入門中的溫度控制器有兩個恆溫器:thermostat1 和 thermostat2。 若要查看恆溫器報告的溫度1:
在您裝置上的 IoT 瀏覽器中,從左側功能表中選取 [IoT 隨插即用元件]。 然後從組件列表中選擇 thermostat1 。
在 thermostat1 元件窗格上,從頂端功能表中選取遙 測 。
在 [ 遙測 ] 窗格上,遵循您先前執行的相同步驟。 請確定 [ 使用內建事件中樞 ] 設定為 [ 是 ],然後選取 [開始]。
若要使用 Azure CLI 檢視裝置遙測:
執行 az iot hub monitor-events 命令,以監視從裝置傳送至 IoT 中樞的事件。 使用您先前在 Azure IoT 中建立的裝置和 IoT 中樞名稱。
az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}在主控台中檢視連線詳細資料和遙測輸出。
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 來刪除它們。
這很重要
刪除資源群組是無法回復的動作。 資源群組和其中包含的所有資源都將永久刪除。 請確定您不會不小心刪除錯誤的資源群組或資源。
若要依名稱刪除資源群組:
執行 az group delete 命令。 此命令會移除您建立的資源群組、IoT 中樞和裝置註冊。
az group delete --name MyResourceGroup執行 az group list 命令,以確認已刪除資源群組。
az group list
後續步驟
在本教學課程中,您已瞭解基本的 Azure IoT 應用程式工作流程,以安全地將裝置連線到雲端,以及傳送裝置對雲端遙測。 您使用 Azure CLI 來建立 Azure IoT 中樞和裝置執行個體。 然後,您使用 Azure IoT 裝置 SDK 來建立溫度控制器、將它連線到中樞,以及傳送遙測。 您也使用 Azure CLI 來監視遙測。
下一步,請探索下列文章,以深入瞭解如何使用 Azure IoT 建置裝置解決方案。