[![GitHub license](https://img.shields.io/github/license/microsoft/IoT-For-Beginners.svg)](https://github.com/microsoft/IoT-For-Beginners/blob/master/LICENSE) [![GitHub contributors](https://img.shields.io/github/contributors/microsoft/IoT-For-Beginners.svg)](https://GitHub.com/microsoft/IoT-For-Beginners/graphs/contributors/) [![GitHub issues](https://img.shields.io/github/issues/microsoft/IoT-For-Beginners.svg)](https://GitHub.com/microsoft/IoT-For-Beginners/issues/) [![GitHub pull-requests](https://img.shields.io/github/issues-pr/microsoft/IoT-For-Beginners.svg)](https://GitHub.com/microsoft/IoT-For-Beginners/pulls/) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) [![GitHub watchers](https://img.shields.io/github/watchers/microsoft/IoT-For-Beginners.svg?style=social&label=Watch)](https://GitHub.com/microsoft/IoT-For-Beginners/watchers/) [![GitHub forks](https://img.shields.io/github/forks/microsoft/IoT-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/IoT-For-Beginners/network/) [![GitHub stars](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 社群 [![Microsoft Azure AI Foundry Discord](https://dcbadge.limes.pink/api/server/ByRwuEEgH4)](https://discord.com/invite/ByRwuEEgH4) 按照以下步驟開始使用這些資源: 1. **Fork 此儲存庫**:點擊 [![GitHub forks](https://img.shields.io/github/forks/microsoft/IoT-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/IoT-For-Beginners/fork) 2. **Clone 此儲存庫**:`git clone https://github.com/microsoft/IoT-For-Beginners.git` 3. [**加入 Azure AI 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) | [芬蘭文](../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) | [馬來文](../ms/README.md) | [馬拉地文](../mr/README.md) | [尼泊爾文](../ne/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) | [泰文](../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) > 🎥 點擊上方圖片觀看專案介紹影片! > **教師們**,我們提供了一些[建議](for-teachers.md)供您使用此課程。如果您想創建自己的課程,我們也提供了[課程模板](lesson-template/README.md)。 > **[學生們](https://aka.ms/student-page)**,如果您想自行使用此課程,請 fork 整個儲存庫並自行完成練習,從課前測驗開始,然後閱讀課程並完成其他活動。嘗試透過理解課程內容來創建專案,而不是直接複製解決方案程式碼;不過,這些程式碼可以在每個專案課程的 /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) | 支援多語言 | 學習如何支援多語言,包括對 IoT 裝置的語音輸入和回應 | [支援多語言](./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) 資料夾中找到。 ## 其他課程 我們的團隊還製作了其他課程!查看以下內容: - [AI Agents for Beginners](https://aka.ms/ai-agents-beginners) - [MCP for Beginners](https://aka.ms/mcp-for-beginners) - [Generative AI for Beginners](https://aka.ms/genai-beginners) - [Generative AI for Beginners .NET](https://github.com/microsoft/Generative-AI-for-beginners-dotnet) - [Generative AI with JavaScript](https://github.com/microsoft/generative-ai-with-javascript) - [Generative AI with Java](https://github.com/microsoft/Generative-AI-for-beginners-java) - [AI for Beginners](https://aka.ms/ai-beginners) - [Data Science for Beginners](https://aka.ms/datascience-beginners) - [ML for Beginners](https://aka.ms/ml-beginners) - [Cybersecurity for Beginners](https://github.com/microsoft/Security-101) - [Web Dev for Beginners](https://aka.ms/webdev-beginners) - [IoT for Beginners](https://aka.ms/iot-beginners) - [XR Development for Beginners](https://github.com/microsoft/xr-development-for-beginners) - [Mastering GitHub Copilot for Agentic use](https://github.com/microsoft/Mastering-GitHub-Copilot-for-Paired-Programming) - [Mastering GitHub Copilot for C#/.NET Developers](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers) - [Choose Your Own Copilot Adventure](https://github.com/microsoft/CopilotAdventures) ## 圖片來源 您可以在 [Attributions](./attributions.md) 中找到本課程中使用的圖片的所有來源。 --- **免責聲明**: 本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原始語言的文件作為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而產生的任何誤解或錯誤解讀概不負責。