練習 - 部署和建置解決方案
在第一個練習中,您已在 Linux 電腦上安裝 Azure IoT Edge 執行階段。 請確定您已安裝下列軟體開發工具。
- Linux 電腦上的 Docker Community Edition
- Visual Studio Code 是程式碼編輯器,而且是 GitHub 上最受歡迎的開放原始碼專案之一。 其可在 Linux、macOS 及 Windows 上執行。
- 下列 Visual Studio Code 延伸模組
- Azure 帳戶
- Azure IoT Tools
- 適用於 Visual Studio Code 的 Docker 延伸模組
- JSON 工具 適用於變更模組的「建立選項」。
建立 Azure AI 服務
在本課程模組中,您會使用 Azure AI 自訂視覺和 Azure AI 語音服務。
Azure AI 自訂視覺服務是用來建立機器學習模型,並提供水果影像。 然後,會匯出模型並將其新增至專案資料夾。
Azure AI 語音可從項目的標籤產生語音。 您將會在部署範本中新增語音金鑰。
多服務資源列在入口網站中的 Azure AI 服務>Azure AI 服務多服務帳戶之下。 若要建立多服務資源,請遵循下列指示:
登入 Azure 入口網站。
選取此連結以建立多服務資源:https://portal.azure.com/#create/Microsoft.CognitiveServicesAllInOne
在 [建立] 頁面上,提供下列資訊:
專案詳細資料 描述 訂用帳戶 選取您可用的一個 Azure 訂用帳戶。 資源群組 將包含您的資源的 Azure AI 資源群組。 您可建立新的群組或新增群組至先前已有的群組。 區域 Azure AI 服務執行個體的位置。 不同的位置可能會產生延遲,但是對於您資源的執行階段可用性沒有影響。 名稱 描述您的 Azure AI 服務資源的名稱。 例如,MyAzureAIServicesResource。 定價層 Azure AI 服務帳戶的費用取決於您選擇的選項和使用方式。 如需詳細資訊,請參閱 API 價格詳細資料。 視需要設定資源的其他設定、讀取並接受條件 (如適用),然後選取 [檢閱 + 建立]。
提示
如果您的訂用帳戶不允許您建立 Azure AI 服務資源,您可能需使用 Azure 入口網站、PowerShell 命令或 Azure CLI 命令來啟用該 Azure 資源提供者的權限。 如果您未擁有月租方案,請要求月租方案擁有者或具系統管理員角色的人員為您完成註冊,或要求向您的帳戶授與 /register/action 權限。
在 Linux 電腦上安裝 Docker 登錄
Azure IoTEdge 依賴從 Docker 登錄散發的 Docker 影像。 在生產環境中,您會從登錄 (例如 Azure Container Registry) 部署 Docker 影像。
當您正在開發 Azure IoT Edge 模組時,在裝置上安裝本機容器登錄,並將 Docker 影像從本機登錄部署至 Azure IoT Edge 的開發速度會比較快。
在您的 Linux 電腦中開啟終端機,然後執行下列命令來設定本機 Docker 登錄。
docker run -d -p 5000:5000 --restart=always --name registry registry:2
將影像辨識解決方案複製到 Linux 電腦
複製此 GitHub 存放庫。
git clone https://github.com/MicrosoftDocs/mslearn-oxford.create-image-recognition-with-azure-iot-edge
從 [Visual Studio Code] 功能表中,開啟解決方案。
更新 Azure AI 語音金鑰
開啟 deployment.template.js 檔案,並使用您從 Azure 語音服務複製的金鑰來更新 azureSpeechServicesKey。
確認處理器
您必須確保您打算建置的影像符合目標處理器架構。 在我們的案例中,我們將建置 amd64 的架構。 確認處理器架構。
從 [Visual Studio Code] 底部列按一下目前選取的處理器架構,然後從快顯視窗中選取 [amd64]。
建置方案
以滑鼠右鍵按一下 deployment.template.js 檔案,然後選取 [組建並推送 IoT Edge 解決方案],以組建解決方案並將其推送至 Docker。 第一次建置會變慢,因為 Docker 需要將基本層提取到本機電腦。
如果您要跨平台編譯至 amd64,則第一次建置的速度會很慢,因為需要編譯 OpenCV 和 Python 需求。 在快速的 Intel i7 8750H 處理器上,跨平台編譯此解決方案大約需要 40 分鐘的時間。
部署解決方案
當 Docker 組建和推送流程完成時,請選取您想要部署解決方案的 Azure IoT Hub 裝置。 以滑鼠右鍵按一下 [config] 資料夾中找到的 deployment.json 檔案,然後從下拉式清單中選取目標裝置。