[![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/) [![歡迎 PR](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) | [中文(繁體,澳門)](./README.md) | [中文(繁體,台灣)](../tw/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) # 初學者的物聯網課程 Microsoft 的 Azure Cloud Advocates 團隊很高興提供一個為期 12 週、共 24 節課的課程,專注於物聯網的基礎知識。每節課都包含課前和課後測驗、完成課程的書面指導、解決方案、作業等。我們的專案式教學法讓你在實作中學習,這是一種能讓新技能更容易掌握的有效方法。 這些專案涵蓋了從農場到餐桌的食物旅程,包括農業、物流、製造、零售和消費者——這些都是物聯網設備的熱門應用領域。 ![課程路線圖,顯示 24 節課涵蓋介紹、農業、運輸、加工、零售和烹飪](../../translated_images/Roadmap.bb1dec285dda0eda691788b95ddfc96d31d76bb7649e3f04a135e4ad395f323e.mo.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) > 🎥 點擊上方圖片觀看專案介紹影片! > **教師們**,我們提供了一些[建議](for-teachers.md)來幫助你使用這份課程。如果你想創建自己的課程,我們也提供了一個[課程模板](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 "宣傳影片") > 🎥 點擊上方圖片觀看專案介紹影片! ## 教學法 在設計這份課程時,我們選擇了兩個教學原則:確保它是專案導向的,並且包含頻繁的測驗。到本系列結束時,學生將完成一個植物監測和澆水系統、一個車輛追蹤器、一個智慧工廠系統來追蹤和檢查食品,以及一個語音控制的烹飪計時器,並學習物聯網的基礎知識,包括如何編寫設備代碼、連接雲端、分析遙測數據以及在邊緣運行 AI。 通過確保內容與專案相符,學習過程對學生來說更具吸引力,並能增強概念的記憶。 此外,課前的低壓力測驗可以讓學生專注於學習主題,而課後的測驗則進一步鞏固記憶。這份課程設計靈活有趣,可以整體學習,也可以部分學習。專案從簡單開始,到 12 週結束時逐漸變得複雜。 每個專案都基於學生和愛好者可獲得的真實硬體。每個專案都深入探討特定的專案領域,提供相關的背景知識。成為一名成功的開發者需要了解你正在解決問題的領域,提供這些背景知識可以讓學生在解決物聯網問題時,將學到的知識應用於真實世界的問題中。學生學習他們正在構建的解決方案的“原因”,並對最終用戶有更深的理解。 ## 硬體 我們為專案提供了兩種物聯網硬體選擇,取決於個人偏好、程式語言知識或偏好、學習目標和可用性。我們還提供了“虛擬硬體”版本,適合那些無法獲得硬體或想在購買前學習更多內容的人。你可以在[硬體頁面](./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) | 物聯網簡介 | 學習物聯網的基本原則以及物聯網解決方案的基本組成部分,例如感應器和雲端服務,同時設置您的第一個物聯網設備 | [物聯網簡介](./1-getting-started/lessons/1-introduction-to-iot/README.md) | | 02 | [入門](./1-getting-started/README.md) | 深入了解物聯網 | 更深入了解物聯網系統的組成部分,以及微控制器和單板電腦 | [深入了解物聯網](./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) | 將您的設備連接到互聯網 | 學習如何將物聯網設備連接到互聯網以發送和接收訊息,通過將您的夜燈連接到 MQTT broker | [將您的設備連接到互聯網](./1-getting-started/lessons/4-connect-internet/README.md) | | 05 | [農場](./2-farm/README.md) | 預測植物生長 | 學習如何使用物聯網設備捕獲的溫度數據來預測植物生長 | [預測植物生長](./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) | 將您的植物遷移到雲端 | 學習雲端和雲端託管的物聯網服務,以及如何將您的植物連接到這些服務,而不是公共 MQTT broker | [將您的植物遷移到雲端](./2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md) | | 09 | [農場](./2-farm/README.md) | 將您的應用程式邏輯遷移到雲端 | 學習如何在雲端撰寫應用程式邏輯以回應物聯網訊息 | [將您的應用程式邏輯遷移到雲端](./2-farm/lessons/5-migrate-application-to-the-cloud/README.md) | | 10 | [農場](./2-farm/README.md) | 保護您的植物安全 | 學習物聯網的安全性以及如何使用密鑰和證書保護您的植物 | [保護您的植物安全](./2-farm/lessons/6-keep-your-plant-secure/README.md) | | 11 | [運輸](./3-transport/README.md) | 位置追蹤 | 學習物聯網設備的 GPS 位置追蹤 | [位置追蹤](./3-transport/lessons/1-location-tracking/README.md) | | 12 | [運輸](./3-transport/README.md) | 儲存位置數據 | 學習如何儲存物聯網數據以便稍後進行可視化或分析 | [儲存位置數據](./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) | 從物聯網設備檢查水果品質 | 學習如何從物聯網設備使用您的水果品質檢測器 | [從物聯網設備檢查水果品質](./4-manufacturing/lessons/2-check-fruit-from-device/README.md) | | 17 | [製造](./4-manufacturing/README.md) | 在邊緣運行您的水果檢測器 | 學習如何在邊緣的物聯網設備上運行您的水果檢測器 | [在邊緣運行您的水果檢測器](./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) | 從物聯網設備檢查庫存 | 學習如何使用物件檢測模型從物聯網設備檢查庫存 | [從物聯網設備檢查庫存](./5-retail/lessons/2-check-stock-device/README.md) | | 21 | [消費者](./6-consumer/README.md) | 使用物聯網設備識別語音 | 學習如何從物聯網設備識別語音以構建智能計時器 | [使用物聯網設備識別語音](./6-consumer/lessons/1-speech-recognition/README.md) | | 22 | [消費者](./6-consumer/README.md) | 理解語言 | 學習如何理解對物聯網設備說出的句子 | [理解語言](./6-consumer/lessons/2-language-understanding/README.md) | | 23 | [消費者](./6-consumer/README.md) | 設置計時器並提供語音反饋 | 學習如何在物聯網設備上設置計時器,並在計時器設置和完成時提供語音反饋 | [設置計時器並提供語音反饋](./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) [![初學者的XR開發](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) 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原文文件作為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或誤釋不承擔責任。