[](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 應用程式有任何疑問,歡迎加入同學與有經驗的開發者討論 MCP。這是一個支持性強的社群,問題隨時歡迎提出,知識自由分享。
[](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)](./README.md) | [Chinese (Traditional, Macau)](../zh-MO/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 多種語言翻譯,大幅增加下載大小。若想不下載翻譯檔案,可使用稀疏檢出:
>
> **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 初學者課程
Microsoft 的 Azure 雲端倡導者很高興提供一個為期 12 週、包含 24 課的物聯網(IoT)基礎課程。每課包括課前與課後測驗、完成課程的書面指示、解答、作業等。我們採取以項目為基礎的教學法,讓你邊做邊學,這是確保新技能穩固掌握的有效方法。
這些項目涵蓋食物從農場到餐桌的整個旅程。涵蓋農業、物流、生產、零售與消費者等領域,皆是物聯網裝置的重要應用產業。

> Sketchnote 由 [Nitya Narasimhan](https://github.com/nitya) 繪製。點擊圖片可看更大尺寸。
**衷心感謝我們的作者 [Jen Fox](https://github.com/jenfoxbot)、[Jen Looper](https://github.com/jlooper)、[Jim Bennett](https://github.com/jimbobbennett),及我們的 sketchnote 藝術家 [Nitya Narasimhan](https://github.com/nitya)。**
**也感謝參與審核與翻譯本課程的 [Microsoft Learn Student Ambassadors](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)
**動圖製作 by** [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 "宣傳影片")
> 🎥 點擊上方圖片,觀看課程宣傳影片!
## 教學方法
本課程採取兩大教學原則:以專案為基礎,以及包含頻繁的測驗。在這系列課程結束時,學生將完成一套植物監測與澆水系統、車輛追蹤器、智慧工廠設定用於追蹤與檢查食物,以及語音控制的烹飪計時器,並且學會物聯網基礎,包括撰寫裝置程式碼、連接至雲端、分析遙測資料及於邊緣運行 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)
---
### 生成式 AI 系列
[](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](./attributions.md) 找到所有使用圖片的版權聲明。
---
**免責聲明**:
本文件乃使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 所翻譯。雖然我們致力於確保準確性,但請注意自動翻譯可能包含錯誤或不準確之處。原文文件應視為權威來源。如涉及關鍵資訊,建議尋求專業人工翻譯。我們不對因使用本翻譯而產生的任何誤解或誤釋負責。