[![GitHub 授權](https://img.shields.io/github/license/microsoft/IoT-For-Beginners.svg)](https://github.com/microsoft/IoT-For-Beginners/blob/master/LICENSE) [![GitHub 貢獻者](https://img.shields.io/github/contributors/microsoft/IoT-For-Beginners.svg)](https://GitHub.com/microsoft/IoT-For-Beginners/graphs/contributors/) [![GitHub 問題](https://img.shields.io/github/issues/microsoft/IoT-For-Beginners.svg)](https://GitHub.com/microsoft/IoT-For-Beginners/issues/) [![GitHub 拉取請求](https://img.shields.io/github/issues-pr/microsoft/IoT-For-Beginners.svg)](https://GitHub.com/microsoft/IoT-For-Beginners/pulls/) [![PRs 歡迎](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) [![GitHub 追蹤者](https://img.shields.io/github/watchers/microsoft/IoT-For-Beginners.svg?style=social&label=Watch)](https://GitHub.com/microsoft/IoT-For-Beginners/watchers/) [![GitHub 分叉](https://img.shields.io/github/forks/microsoft/IoT-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/IoT-For-Beginners/network/) [![GitHub 星星](https://img.shields.io/github/stars/microsoft/IoT-For-Beginners.svg?style=social&label=Star)](https://GitHub.com/microsoft/IoT-For-Beginners/stargazers/) ### 加入 Azure AI Foundry 社群 如果您在建立 AI 應用程式時遇到困難或有任何問題,歡迎加入其他學習者和有經驗的開發者,參與 MCP 的討論。這是一個支持性的社群,歡迎提問並自由分享知識。 [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) 如果您有產品回饋或在建置過程中遇到錯誤,請造訪: [![Microsoft Foundry Developer Forum](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum) 請按照以下步驟開始使用這些資源: 1. **分叉此儲存庫**:點擊 [![GitHub 分叉](https://img.shields.io/github/forks/microsoft/IoT-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/IoT-For-Beginners/fork) 2. **複製此儲存庫**:`git clone https://github.com/microsoft/IoT-For-Beginners.git` 3. [**加入 Microsoft Foundry Discord,與專家和其他開發者交流**](https://discord.com/invite/ByRwuEEgH4) ### 🌐 多語言支援 #### 透過 GitHub Action 支援(自動化且始終保持最新) [阿拉伯文](../ar/README.md) | [孟加拉文](../bn/README.md) | [保加利亞文](../bg/README.md) | [緬甸文](../my/README.md) | [中文(簡體)](../zh/README.md) | [中文(繁體,香港)](../hk/README.md) | [中文(繁體,澳門)](../mo/README.md) | [中文(繁體,台灣)](./README.md) | [克羅埃西亞文](../hr/README.md) | [捷克文](../cs/README.md) | [丹麥文](../da/README.md) | [荷蘭文](../nl/README.md) | [愛沙尼亞文](../et/README.md) | [芬蘭文](../fi/README.md) | [法文](../fr/README.md) | [德文](../de/README.md) | [希臘文](../el/README.md) | [希伯來文](../he/README.md) | [印地文](../hi/README.md) | [匈牙利文](../hu/README.md) | [印尼文](../id/README.md) | [義大利文](../it/README.md) | [日文](../ja/README.md) | [韓文](../ko/README.md) | [立陶宛文](../lt/README.md) | [馬來文](../ms/README.md) | [馬拉地文](../mr/README.md) | [尼泊爾文](../ne/README.md) | [奈及利亞皮欽語](../pcm/README.md) | [挪威文](../no/README.md) | [波斯文](../fa/README.md) | [波蘭文](../pl/README.md) | [葡萄牙文(巴西)](../br/README.md) | [葡萄牙文(葡萄牙)](../pt/README.md) | [旁遮普文](../pa/README.md) | [羅馬尼亞文](../ro/README.md) | [俄文](../ru/README.md) | [塞爾維亞文(西里爾字母)](../sr/README.md) | [斯洛伐克文](../sk/README.md) | [斯洛維尼亞文](../sl/README.md) | [西班牙文](../es/README.md) | [斯瓦希里文](../sw/README.md) | [瑞典文](../sv/README.md) | [他加祿文(菲律賓)](../tl/README.md) | [泰米爾文](../ta/README.md) | [泰文](../th/README.md) | [土耳其文](../tr/README.md) | [烏克蘭文](../uk/README.md) | [烏爾都文](../ur/README.md) | [越南文](../vi/README.md) # IoT 初學者 - 課程 Microsoft 的 Azure Cloud Advocates 很高興提供一個為期 12 週、共 24 課的課程,內容涵蓋 IoT 基礎知識。每堂課包含課前和課後測驗、完成課程的書面指導、解決方案、作業等。我們的專案式教學法讓您在建置中學習,這是一種能讓新技能更容易記住的有效方法。 這些專案涵蓋食物從農場到餐桌的旅程,包括農業、物流、製造、零售和消費者——這些都是 IoT 設備的熱門行業領域。 ![課程的路線圖,顯示 24 堂課涵蓋介紹、農業、運輸、加工、零售和烹飪](../../translated_images/Roadmap.bb1dec285dda0eda691788b95ddfc96d31d76bb7649e3f04a135e4ad395f323e.tw.jpg) > 由 [Nitya Narasimhan](https://github.com/nitya) 繪製的手繪筆記。點擊圖片查看更大的版本。 **衷心感謝我們的作者 [Jen Fox](https://github.com/jenfoxbot)、[Jen Looper](https://github.com/jlooper)、[Jim Bennett](https://github.com/jimbobbennett),以及我們的手繪筆記藝術家 [Nitya Narasimhan](https://github.com/nitya)。** **同時感謝我們的 [Microsoft Learn 學生大使](https://studentambassadors.microsoft.com?WT.mc_id=academic-17441-jabenn),他們審核並翻譯了這份課程 - [Aditya Garg](https://github.com/AdityaGarg00)、[Anurag Sharma](https://github.com/Anurag-0-1-A)、[Arpita Das](https://github.com/Arpiiitaaa)、[Aryan Jain](https://www.linkedin.com/in/aryan-jain-47a4a1145/)、[Bhavesh Suneja](https://github.com/EliteWarrior315)、[Faith Hunja](https://faithhunja.github.io/)、[Lateefah Bello](https://www.linkedin.com/in/lateefah-bello/)、[Manvi Jha](https://github.com/Severus-Matthew)、[Mireille Tan](https://www.linkedin.com/in/mireille-tan-a4834819a/)、[Mohammad Iftekher (Iftu) Ebne Jalal](https://github.com/Iftu119)、[Mohammad Zulfikar](https://github.com/mohzulfikar)、[Priyanshu Srivastav](https://www.linkedin.com/in/priyanshu-srivastav-b067241ba)、[Thanmai Gowducheruvu](https://github.com/innovation-platform)、以及 [Zina Kamel](https://www.linkedin.com/in/zina-kamel/)。** 認識團隊! [![宣傳影片](../../images/IOT.gif)](https://youtu.be/-wippUJRi5k) **Gif 由** [Mohit Jaisal](https://linkedin.com/in/mohitjaisal) 製作 > 🎥 點擊上方圖片觀看專案介紹影片! > **教師們**,我們提供了一些建議,說明如何使用這份課程。如果您想要創建自己的課程,我們也提供了 [課程模板](lesson-template/README.md)。 > **[學生們](https://aka.ms/student-page)**,如果您想自行使用這份課程,請分叉整個儲存庫並自行完成練習,從課前測驗開始,然後閱讀課程內容並完成其他活動。嘗試透過理解課程來創建專案,而不是直接複製解決方案程式碼;不過,該程式碼可在每個專案導向課程的 /solutions 資料夾中找到。另一個想法是與朋友組成學習小組,一起學習內容。若需進一步學習,我們推薦 [Microsoft Learn](https://docs.microsoft.com/users/jimbobbennett/collections/ke2ehd351jopwr?WT.mc_id=academic-17441-jabenn)。 觀看此課程的影片概述,請查看以下影片: [![宣傳影片](https://img.youtube.com/vi/bccEMm8gRuc/0.jpg)](https://youtube.com/watch?v=bccEMm8gRuc "宣傳影片") > 🎥 點擊上方圖片觀看專案介紹影片! ## 教學法 在設計這份課程時,我們選擇了兩個教學原則:確保它是專案導向的,並且包含頻繁的測驗。在這系列課程結束時,學生將建置一個植物監測和灌溉系統、一個車輛追蹤器、一個智慧工廠設置來追蹤和檢查食物,以及一個語音控制的烹飪計時器,並學習 IoT 的基礎知識,包括如何撰寫設備程式碼、連接雲端、分析遙測數據以及在邊緣執行 AI。 透過確保內容與專案相符,學習過程對學生來說更具吸引力,並能增強概念的記憶。 此外,課前的低壓力測驗能讓學生專注於學習主題,而課後的第二次測驗則能進一步加強記憶。這份課程設計靈活有趣,可以完整學習或部分學習。專案從簡單開始,並在 12 週的循環結束時逐漸變得複雜。 每個專案都基於學生和愛好者可獲得的真實硬體。每個專案都深入探討特定的專案領域,提供相關背景知識。要成為成功的開發者,了解您正在解決問題的領域非常重要,提供這些背景知識能讓學生在解決 IoT 問題和學習時,能以真實世界的問題為背景進行思考。學生能學到他們正在建置的解決方案的「原因」,並對最終使用者有更深的理解。 ## 硬體 我們提供了兩種 IoT 硬體選擇,供專案使用,取決於個人偏好、程式語言知識或偏好、學習目標和可用性。我們也提供了「虛擬硬體」版本,供那些無法取得硬體或想在購買前學習更多的人使用。您可以在 [硬體頁面](./hardware.md) 上找到更多資訊和「購物清單」,包括我們的合作夥伴 Seeed Studio 提供的完整套件購買連結。 > 💁 查看我們的 [行為準則](CODE_OF_CONDUCT.md)、[貢獻指南](CONTRIBUTING.md) 和 [翻譯指南](TRANSLATIONS.md)。我們歡迎您的建設性回饋! ## 每堂課包含: - 手繪筆記 - 可選的補充影片 - 課前暖身測驗 - 書面課程 - 專案導向課程的逐步建置指南 - 知識檢查 - 挑戰 - 補充閱讀 - 作業 - [課後測驗](https://ff-quizzes.netlify.app/en/) > **關於測驗的注意事項**:所有測驗都包含在 quiz-app 資料夾中,共有 48 個測驗,每個測驗包含三個問題。這些測驗在課程中有連結,但測驗應用程式可以在本地執行或部署到 Azure;請按照 `quiz-app` 資料夾中的指示進行操作。這些測驗正在逐步進行本地化。 ## 課程 | | 專案名稱 | 教授概念 | 學習目標 | 課程連結 | | :---: | :------------------------------------: | :---------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------: | | 01 | [開始入門](./1-getting-started/README.md) | IoT 簡介 | 學習 IoT 的基本原理以及 IoT 解決方案的基本構建模組,例如感測器和雲端服務,同時設置您的第一個 IoT 裝置 | [IoT 簡介](./1-getting-started/lessons/1-introduction-to-iot/README.md) | | 02 | [開始入門](./1-getting-started/README.md) | 深入了解 IoT | 更深入了解 IoT 系統的組成部分,以及微控制器和單板電腦 | [深入了解 IoT](./1-getting-started/lessons/2-deeper-dive/README.md) | | 03 | [開始入門](./1-getting-started/README.md) | 使用感測器和致動器與物理世界互動 | 學習如何使用感測器從物理世界收集數據,以及使用致動器提供回饋,同時製作一個夜燈 | [使用感測器和致動器與物理世界互動](./1-getting-started/lessons/3-sensors-and-actuators/README.md) | | 04 | [開始入門](./1-getting-started/README.md) | 將您的裝置連接到網際網路 | 學習如何將 IoT 裝置連接到網際網路以發送和接收訊息,並將您的夜燈連接到 MQTT broker | [將您的裝置連接到網際網路](./1-getting-started/lessons/4-connect-internet/README.md) | | 05 | [農場](./2-farm/README.md) | 預測植物生長 | 學習如何使用 IoT 裝置捕捉的溫度數據來預測植物生長 | [預測植物生長](./2-farm/lessons/1-predict-plant-growth/README.md) | | 06 | [農場](./2-farm/README.md) | 檢測土壤濕度 | 學習如何檢測土壤濕度並校準土壤濕度感測器 | [檢測土壤濕度](./2-farm/lessons/2-detect-soil-moisture/README.md) | | 07 | [農場](./2-farm/README.md) | 自動植物澆水 | 學習如何使用繼電器和 MQTT 自動化並定時澆水 | [自動植物澆水](./2-farm/lessons/3-automated-plant-watering/README.md) | | 08 | [農場](./2-farm/README.md) | 將您的植物遷移到雲端 | 學習雲端和雲端托管的 IoT 服務,以及如何將您的植物連接到這些服務,而不是公共 MQTT broker | [將您的植物遷移到雲端](./2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md) | | 09 | [農場](./2-farm/README.md) | 將您的應用程式邏輯遷移到雲端 | 學習如何在雲端撰寫應用程式邏輯以回應 IoT 訊息 | [將您的應用程式邏輯遷移到雲端](./2-farm/lessons/5-migrate-application-to-the-cloud/README.md) | | 10 | [農場](./2-farm/README.md) | 保護您的植物安全 | 學習 IoT 的安全性以及如何使用密鑰和憑證保護您的植物 | [保護您的植物安全](./2-farm/lessons/6-keep-your-plant-secure/README.md) | | 11 | [交通運輸](./3-transport/README.md) | 位置追蹤 | 學習 IoT 裝置的 GPS 位置追蹤 | [位置追蹤](./3-transport/lessons/1-location-tracking/README.md) | | 12 | [交通運輸](./3-transport/README.md) | 儲存位置數據 | 學習如何儲存 IoT 數據以供日後視覺化或分析 | [儲存位置數據](./3-transport/lessons/2-store-location-data/README.md) | | 13 | [交通運輸](./3-transport/README.md) | 視覺化位置數據 | 學習如何在地圖上視覺化位置數據,以及地圖如何將真實的三維世界以二維方式呈現 | [視覺化位置數據](./3-transport/lessons/3-visualize-location-data/README.md) | | 14 | [交通運輸](./3-transport/README.md) | 地理圍欄 | 學習地理圍欄,以及如何在供應鏈中的車輛接近目的地時發出警報 | [地理圍欄](./3-transport/lessons/4-geofences/README.md) | | 15 | [製造業](./4-manufacturing/README.md) | 訓練水果品質檢測器 | 學習如何在雲端訓練影像分類器以檢測水果品質 | [訓練水果品質檢測器](./4-manufacturing/lessons/1-train-fruit-detector/README.md) | | 16 | [製造業](./4-manufacturing/README.md) | 從 IoT 裝置檢查水果品質 | 學習如何從 IoT 裝置使用水果品質檢測器 | [從 IoT 裝置檢查水果品質](./4-manufacturing/lessons/2-check-fruit-from-device/README.md) | | 17 | [製造業](./4-manufacturing/README.md) | 在邊緣運行您的水果檢測器 | 學習如何在邊緣的 IoT 裝置上運行您的水果檢測器 | [在邊緣運行您的水果檢測器](./4-manufacturing/lessons/3-run-fruit-detector-edge/README.md) | | 18 | [製造業](./4-manufacturing/README.md) | 從感測器觸發水果品質檢測 | 學習如何從感測器觸發水果品質檢測 | [從感測器觸發水果品質檢測](./4-manufacturing/lessons/4-trigger-fruit-detector/README.md) | | 19 | [零售](./5-retail/README.md) | 訓練庫存檢測器 | 學習如何使用物件檢測訓練庫存檢測器以計算商店中的庫存 | [訓練庫存檢測器](./5-retail/lessons/1-train-stock-detector/README.md) | | 20 | [零售](./5-retail/README.md) | 從 IoT 裝置檢查庫存 | 學習如何使用物件檢測模型從 IoT 裝置檢查庫存 | [從 IoT 裝置檢查庫存](./5-retail/lessons/2-check-stock-device/README.md) | | 21 | [消費者](./6-consumer/README.md) | 使用 IoT 裝置進行語音辨識 | 學習如何從 IoT 裝置進行語音辨識以建立智慧計時器 | [使用 IoT 裝置進行語音辨識](./6-consumer/lessons/1-speech-recognition/README.md) | | 22 | [消費者](./6-consumer/README.md) | 理解語言 | 學習如何理解對 IoT 裝置說出的句子 | [理解語言](./6-consumer/lessons/2-language-understanding/README.md) | | 23 | [消費者](./6-consumer/README.md) | 設定計時器並提供語音回饋 | 學習如何在 IoT 裝置上設定計時器,並在計時器設定和完成時提供語音回饋 | [設定計時器並提供語音回饋](./6-consumer/lessons/3-spoken-feedback/README.md) | | 24 | [消費者](./6-consumer/README.md) | 支援多語言 | 學習如何支援多語言,包括對智慧計時器的語音輸入和回應 | [支援多語言](./6-consumer/lessons/4-multiple-language-support/README.md) | ## 離線存取 您可以使用 [Docsify](https://docsify.js.org/#/) 離線運行此文件。Fork 此 repo,並在您的本地機器上 [安裝 Docsify](https://docsify.js.org/#/quickstart),然後在此 repo 的根目錄中輸入 `docsify serve`。網站將在您的本地端的 3000 埠上提供服務:`localhost:3000`。 ## 測驗 感謝社群提供互動式測驗,測試您對每章內容的理解。您可以在 [這裡](https://ff-quizzes.netlify.app/en/) 測試您的知識。 ### PDF 如果需要,您可以生成此內容的 PDF 以供離線存取。為此,請確保您已安裝 [npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm),並在此 repo 的根目錄中運行以下指令: ```sh npm i npm run convert ``` ### 投影片 部分課程的投影片可在 [slides](../../slides) 資料夾中找到。 ## 其他課程 我們的團隊還製作了其他課程!查看以下內容: ### Azure / Edge / MCP / Agents [![AZD for Beginners](https://img.shields.io/badge/AZD%20for%20Beginners-0078D4?style=for-the-badge&labelColor=E5E7EB&color=0078D4)](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst) [![Edge AI for Beginners](https://img.shields.io/badge/Edge%20AI%20for%20Beginners-00B8E4?style=for-the-badge&labelColor=E5E7EB&color=00B8E4)](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst) [![MCP for Beginners](https://img.shields.io/badge/MCP%20for%20Beginners-009688?style=for-the-badge&labelColor=E5E7EB&color=009688)](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst) [![AI Agents for Beginners](https://img.shields.io/badge/AI%20Agents%20for%20Beginners-00C49A?style=for-the-badge&labelColor=E5E7EB&color=00C49A)](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst) --- ### 生成式 AI 系列 [![Generative AI for Beginners](https://img.shields.io/badge/Generative%20AI%20for%20Beginners-8B5CF6?style=for-the-badge&labelColor=E5E7EB&color=8B5CF6)](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst) [![Generative AI (.NET)](https://img.shields.io/badge/Generative%20AI%20(.NET)-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst) [![Generative AI (Java)](https://img.shields.io/badge/Generative%20AI%20(Java)-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst) [![生成式 AI (JavaScript)](https://img.shields.io/badge/Generative%20AI%20(JavaScript)-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst) --- ### 核心學習 [![初學者的機器學習](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst) [![初學者的資料科學](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst) [![初學者的人工智慧](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst) [![初學者的網路安全](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung) [![初學者的網頁開發](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst) [![初學者的物聯網](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst) [![初學者的擴增實境開發](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst) --- ### Copilot 系列 [![Copilot 的 AI 配對程式設計](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst) [![Copilot 的 C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst) [![Copilot 冒險](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst) ## 圖片來源 您可以在 [圖片來源](./attributions.md) 中找到本課程中使用的所有圖片的來源。 --- **免責聲明**: 本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原文文件為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對於因使用本翻譯而產生的任何誤解或誤釋不承擔責任。