[](https://github.com/microsoft/IoT-For-Beginners/blob/master/LICENSE)
[](https://GitHub.com/microsoft/IoT-For-Beginners/graphs/contributors/)
[](https://GitHub.com/microsoft/IoT-For-Beginners/issues/)
[](https://GitHub.com/microsoft/IoT-For-Beginners/pulls/)
[](http://makeapullrequest.com)
[](https://GitHub.com/microsoft/IoT-For-Beginners/watchers/)
[](https://GitHub.com/microsoft/IoT-For-Beginners/network/)
[](https://GitHub.com/microsoft/IoT-For-Beginners/stargazers/)
### 加入 Azure AI Foundry 社群
如果你遇到困難或者對建立 AI 應用有任何疑問,歡迎加入學習者與經驗豐富的開發者們的討論。這是一個支援性的社群,歡迎提出問題並自由分享知識。
[](https://discord.gg/nTYy5BXMWG)
如果你在建置過程中有產品反饋或發現錯誤,請造訪:
[](https://aka.ms/foundry/forum)
按照以下步驟開始使用這些資源:
1. **Fork 儲存庫**: 按此 [](https://GitHub.com/microsoft/IoT-For-Beginners/fork)
2. **Clone 儲存庫**: `git clone https://github.com/microsoft/IoT-For-Beginners.git`
3. [**加入 Microsoft Foundry Discord 與專家及其他開發者交流**](https://discord.com/invite/ByRwuEEgH4)
### 🌐 多語言支援
#### 透過 GitHub Action 支援(自動且持續更新)
[Arabic](../ar/README.md) | [Bengali](../bn/README.md) | [Bulgarian](../bg/README.md) | [Burmese (Myanmar)](../my/README.md) | [Chinese (Simplified)](../zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](../zh-HK/README.md) | [Chinese (Traditional, Macau)](./README.md) | [Chinese (Traditional, Taiwan)](../zh-TW/README.md) | [Croatian](../hr/README.md) | [Czech](../cs/README.md) | [Danish](../da/README.md) | [Dutch](../nl/README.md) | [Estonian](../et/README.md) | [Finnish](../fi/README.md) | [French](../fr/README.md) | [German](../de/README.md) | [Greek](../el/README.md) | [Hebrew](../he/README.md) | [Hindi](../hi/README.md) | [Hungarian](../hu/README.md) | [Indonesian](../id/README.md) | [Italian](../it/README.md) | [Japanese](../ja/README.md) | [Kannada](../kn/README.md) | [Khmer](../km/README.md) | [Korean](../ko/README.md) | [Lithuanian](../lt/README.md) | [Malay](../ms/README.md) | [Malayalam](../ml/README.md) | [Marathi](../mr/README.md) | [Nepali](../ne/README.md) | [Nigerian Pidgin](../pcm/README.md) | [Norwegian](../no/README.md) | [Persian (Farsi)](../fa/README.md) | [Polish](../pl/README.md) | [Portuguese (Brazil)](../pt-BR/README.md) | [Portuguese (Portugal)](../pt-PT/README.md) | [Punjabi (Gurmukhi)](../pa/README.md) | [Romanian](../ro/README.md) | [Russian](../ru/README.md) | [Serbian (Cyrillic)](../sr/README.md) | [Slovak](../sk/README.md) | [Slovenian](../sl/README.md) | [Spanish](../es/README.md) | [Swahili](../sw/README.md) | [Swedish](../sv/README.md) | [Tagalog (Filipino)](../tl/README.md) | [Tamil](../ta/README.md) | [Telugu](../te/README.md) | [Thai](../th/README.md) | [Turkish](../tr/README.md) | [Ukrainian](../uk/README.md) | [Urdu](../ur/README.md) | [Vietnamese](../vi/README.md)
> **偏好本地 Clone?**
>
> 此儲存庫包含超過 50 種語言的翻譯,會顯著增加下載大小。若要不含翻譯內容的 Clone,請使用稀疏檢出(sparse checkout):
>
> **Bash / macOS / Linux:**
> ```bash
> git clone --filter=blob:none --sparse https://github.com/microsoft/IoT-For-Beginners.git
> cd IoT-For-Beginners
> git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'
> ```
>
> **CMD(Windows):**
> ```cmd
> git clone --filter=blob:none --sparse https://github.com/microsoft/IoT-For-Beginners.git
> cd IoT-For-Beginners
> git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"
> ```
>
> 如此你將能更快速下載並取得完成課程所需的全部資料。
# IoT 初學者課程大綱
微軟 Azure Cloud Advocates 自豪地提供一個為期 12 週、共 24 課的物聯網基礎課程。每課包含課前和課後測驗、完成課程的書面指導、解答、作業與更多內容。我們以專案為本的教學法讓你邊做邊學,這是讓新技能深入記憶的有效方式。
這些專案涵蓋食物從農場到餐桌的旅程,包含農業、物流、製造、零售和消費者——皆為物聯網裝置常見的產業領域。

> 手繪筆記由 [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/)。**
認識團隊!
[](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://youtube.com/watch?v=bccEMm8gRuc "Promo video")
> 🎥 點擊上方圖片觀看關於此專案的影片!
## 教學法
我們在設計此課程時,採用了兩個核心教學原則:確保專案導向學習,並包含頻繁的測驗。完成這系列課程後,學生將會建立一套植物監控與澆水系統、一個車輛追蹤器、一個用於追蹤與檢查食物的智慧工廠系統,以及一個語音控制的烹飪定時器,並學會物聯網基礎知識,包括如何撰寫裝置程式碼、連接雲端、分析遙測資料,以及運行邊緣 AI。
透過專案與內容對齊,讓學習過程更加吸引學生,提高概念的記憶度。
此外,課前的低壓力測驗能讓學生專注於學習主題,課後的測驗則有助加強記憶。此課程設計靈活且有趣,可全部或部分修習。專案由淺入深,於 12 週週期結束時達到較複雜的程度。
每個專案均基於學生與業餘愛好者可取得的真實硬體。專案探討具體領域背景知識。成為成功開發者有賴於理解所解決問題的領域,提供這些背景知識能使學生以物聯網開發者的角度思考解決方案與學習內容。學生將理解他們所建置解決方案的「原因」,並對最終用戶有更深認識。
## 硬體
我們有兩種物聯網硬件選擇,可根據個人喜好、程式語言知識或偏好、學習目標及可用性使用。我們亦提供了「虛擬硬件」版本,供沒有硬件的人使用,或想在購買前多了解學習。你可以在[硬件頁面](./hardware.md)閱讀更多並找到「購物清單」,包括我們朋友 Seeed Studio 提供的完整套裝購買連結。
> 💁 發現我們的[行為守則](CODE_OF_CONDUCT.md)、[貢獻指南](CONTRIBUTING.md)及[翻譯指南](..)。我們歡迎你的建設性反饋!
>
> 🔧 遇到問題?查看我們的[故障排除指南](TROUBLESHOOTING.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 代理 | [將裝置連接到互聯網](./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 代理 | [將植物資料移轉至雲端](./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 此倉庫,於本地機安裝 [Docsify](https://docsify.js.org/#/quickstart),然後在倉庫根目錄執行 `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),然後於本倉庫根目錄執行以下命令:
```sh
npm i
npm run convert
```
### 簡報
部分課程備有簡報,存於[slides](../../slides)資料夾內。
## 其他課程
我們團隊提供其他課程!敬請查閱:
### LangChain
[](https://aka.ms/langchain4j-for-beginners)
[](https://aka.ms/langchainjs-for-beginners?WT.mc_id=m365-94501-dwahlin)
[](https://github.com/microsoft/langchain-for-beginners?WT.mc_id=m365-94501-dwahlin)
---
### Azure / Edge / MCP / Agents
[](https://github.com/microsoft/AZD-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/edgeai-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/mcp-for-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/ai-agents-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### 生成式人工智能系列
[](https://github.com/microsoft/generative-ai-for-beginners?WT.mc_id=academic-105485-koreyst)
[-9333EA?style=for-the-badge&labelColor=E5E7EB&color=9333EA)](https://github.com/microsoft/Generative-AI-for-beginners-dotnet?WT.mc_id=academic-105485-koreyst)
[-C084FC?style=for-the-badge&labelColor=E5E7EB&color=C084FC)](https://github.com/microsoft/generative-ai-for-beginners-java?WT.mc_id=academic-105485-koreyst)
[-E879F9?style=for-the-badge&labelColor=E5E7EB&color=E879F9)](https://github.com/microsoft/generative-ai-with-javascript?WT.mc_id=academic-105485-koreyst)
---
### 核心學習
[](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung)
[](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst)
[](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst)
---
### Copilot 系列
[](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst)
[](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst)
## 圖片版權說明
你可以在[版權說明](./attributions.md)中找到本課程中所使用所有圖片的版權資訊(如有需求)。
---
**免責聲明**:
本文件由 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 翻譯而成。雖然我們致力於準確性,但請注意自動翻譯可能包含錯誤或不準確之處。原文應視為權威版本。對於關鍵資訊,建議採用專業人工翻譯。我們不對因使用本翻譯而引起的任何誤解或誤譯承擔責任。