|
|
<!--
|
|
|
CO_OP_TRANSLATOR_METADATA:
|
|
|
{
|
|
|
"original_hash": "9bae08314d8487cb76ddf3d8797e1544",
|
|
|
"translation_date": "2025-08-24T23:27:06+00:00",
|
|
|
"source_file": "1-getting-started/lessons/1-introduction-to-iot/README.md",
|
|
|
"language_code": "tw"
|
|
|
}
|
|
|
-->
|
|
|
# 物聯網簡介
|
|
|
|
|
|

|
|
|
|
|
|
> 手繪筆記由 [Nitya Narasimhan](https://github.com/nitya) 提供。點擊圖片查看更大版本。
|
|
|
|
|
|
本課程是 [Microsoft Reactor](https://developer.microsoft.com/reactor/?WT.mc_id=academic-17441-jabenn) 的 [Hello IoT 系列](https://youtube.com/playlist?list=PLmsFUfdnGr3xRts0TIwyaHyQuHaNQcb6-) 的一部分。課程分為兩個影片進行教學——一個 1 小時的課程,以及一個 1 小時的辦公時間,深入探討課程內容並回答問題。
|
|
|
|
|
|
[](https://youtu.be/bVFfcYh6UBw)
|
|
|
|
|
|
[](https://youtu.be/YI772q5v3yI)
|
|
|
|
|
|
> 🎥 點擊上方圖片觀看影片
|
|
|
|
|
|
## 課前測驗
|
|
|
|
|
|
[課前測驗](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/1)
|
|
|
|
|
|
## 簡介
|
|
|
|
|
|
本課程涵蓋了有關物聯網的一些入門主題,並幫助您開始設置硬體。
|
|
|
|
|
|
在本課程中,我們將討論:
|
|
|
|
|
|
* [什麼是「物聯網」?](../../../../../1-getting-started/lessons/1-introduction-to-iot)
|
|
|
* [物聯網設備](../../../../../1-getting-started/lessons/1-introduction-to-iot)
|
|
|
* [設置您的設備](../../../../../1-getting-started/lessons/1-introduction-to-iot)
|
|
|
* [物聯網的應用](../../../../../1-getting-started/lessons/1-introduction-to-iot)
|
|
|
* [您周圍可能擁有的物聯網設備範例](../../../../../1-getting-started/lessons/1-introduction-to-iot)
|
|
|
|
|
|
## 什麼是「物聯網」?
|
|
|
|
|
|
「物聯網」這個術語由 [Kevin Ashton](https://wikipedia.org/wiki/Kevin_Ashton) 在 1999 年提出,用來描述通過感測器將互聯網連接到物理世界。自那時以來,這個術語被用來描述任何與周圍物理世界互動的設備,無論是通過感測器收集數據,還是通過致動器(例如打開開關或點亮 LED 的設備)提供實際的互動,通常這些設備會連接到其他設備或互聯網。
|
|
|
|
|
|
> **感測器** 從世界中收集信息,例如測量速度、溫度或位置。
|
|
|
>
|
|
|
> **致動器** 將電信號轉換為實際的互動,例如觸發開關、打開燈光、發出聲音,或向其他硬體發送控制信號,例如打開電源插座。
|
|
|
|
|
|
物聯網作為一個技術領域,不僅僅是設備本身——它還包括基於雲端的服務,這些服務可以處理感測器數據,或向連接到物聯網設備的致動器發送請求。它還包括不具備或不需要互聯網連接的設備,通常被稱為邊緣設備。這些設備可以自行處理和響應感測器數據,通常使用在雲端訓練的 AI 模型。
|
|
|
|
|
|
物聯網是一個快速增長的技術領域。據估計,到 2020 年底,已有 300 億個物聯網設備被部署並連接到互聯網。展望未來,預計到 2025 年,物聯網設備將收集近 80 ZB(zettabytes,十萬億 GB)的數據。這是一個巨大的數據量!
|
|
|
|
|
|

|
|
|
|
|
|
✅ 做一些研究:物聯網設備生成的數據中有多少實際被使用了,又有多少被浪費了?為什麼會有這麼多數據被忽略?
|
|
|
|
|
|
這些數據是物聯網成功的關鍵。要成為一名成功的物聯網開發者,您需要了解需要收集的數據、如何收集數據、如何根據數據做出決策,以及在需要時如何利用這些決策與物理世界互動。
|
|
|
|
|
|
## 物聯網設備
|
|
|
|
|
|
物聯網中的 **T** 代表 **Things(物件)**——這些設備通過感測器收集數據或通過致動器提供實際的互動,與周圍的物理世界互動。
|
|
|
|
|
|
用於生產或商業用途的設備,例如消費者健身追蹤器或工業機器控制器,通常是定制製造的。它們使用定制的電路板,甚至可能是定制的處理器,以滿足特定任務的需求,無論是小到可以戴在手腕上,還是堅固到可以在高溫、高壓或高振動的工廠環境中工作。
|
|
|
|
|
|
作為一名學習物聯網或創建設備原型的開發者,您需要從開發套件開始。這些是為開發者設計的通用物聯網設備,通常具有生產設備不會有的功能,例如一組外部引腳,用於連接感測器或致動器,支持調試的硬體,或在大規模生產中會增加不必要成本的額外資源。
|
|
|
|
|
|
這些開發套件通常分為兩類——微控制器和單板電腦。我們將在這裡介紹它們,並在下一課中進一步詳細說明。
|
|
|
|
|
|
> 💁 您的手機也可以被視為一種通用的物聯網設備,內建感測器和致動器,不同的應用程式以不同的方式使用這些感測器和致動器,並與不同的雲端服務交互。您甚至可以找到一些使用手機應用程式作為物聯網設備的教程。
|
|
|
|
|
|
### 微控制器
|
|
|
|
|
|
微控制器(也稱為 MCU,Microcontroller Unit 的縮寫)是一種小型計算機,由以下部分組成:
|
|
|
|
|
|
🧠 一個或多個中央處理單元(CPU)——微控制器的「大腦」,負責運行您的程式
|
|
|
|
|
|
💾 記憶體(RAM 和程式記憶體)——存儲您的程式、數據和變數
|
|
|
|
|
|
🔌 可編程的輸入/輸出(I/O)連接——與外部周邊設備(連接的設備)如感測器和致動器進行通信
|
|
|
|
|
|
微控制器通常是低成本的計算設備,用於定制硬體的微控制器平均價格約為 0.50 美元,有些設備甚至低至 0.03 美元。開發套件的起價約為 4 美元,隨著功能的增加,成本也會上升。[Wio Terminal](https://www.seeedstudio.com/Wio-Terminal-p-4509.html) 是 [Seeed Studios](https://www.seeedstudio.com) 的一款微控制器開發套件,內建感測器、致動器、WiFi 和螢幕,價格約為 30 美元。
|
|
|
|
|
|

|
|
|
|
|
|
> 💁 在網上搜索微控制器時,請注意搜索術語 **MCU**,因為這可能會返回大量有關漫威電影宇宙(Marvel Cinematic Universe)的結果,而不是微控制器。
|
|
|
|
|
|
微控制器的設計目的是執行有限數量的非常特定的任務,而不是像 PC 或 Mac 那樣的通用計算機。除非是非常特定的情況,否則您無法連接顯示器、鍵盤和滑鼠,並將其用於通用任務。
|
|
|
|
|
|
微控制器開發套件通常內建額外的感測器和致動器。大多數開發板會有一個或多個可編程的 LED,以及其他設備,例如標準插頭,用於通過各製造商的生態系統添加更多感測器或致動器,或內建感測器(通常是最受歡迎的,例如溫度感測器)。一些微控制器內建無線連接功能,例如藍牙或 WiFi,或者在開發板上添加額外的微控制器以實現這些連接功能。
|
|
|
|
|
|
> 💁 微控制器通常使用 C/C++ 編程。
|
|
|
|
|
|
### 單板電腦
|
|
|
|
|
|
單板電腦是一種小型計算設備,將完整計算機的所有元素集成在一個小型電路板上。這些設備的規格接近桌上型或筆記型電腦,運行完整的操作系統,但體積更小,功耗更低,價格也便宜得多。
|
|
|
|
|
|

|
|
|
|
|
|
Raspberry Pi 是最受歡迎的單板電腦之一。
|
|
|
|
|
|
與微控制器類似,單板電腦具有 CPU、記憶體和輸入/輸出引腳,但它們還具有額外的功能,例如圖形晶片以連接顯示器、音訊輸出,以及 USB 埠以連接鍵盤、滑鼠和其他標準 USB 設備(如網路攝影機或外部存儲設備)。程式和操作系統存儲在 SD 卡或硬碟上,而不是內建在電路板上的記憶體晶片。
|
|
|
|
|
|
> 🎓 您可以將單板電腦視為您正在使用的 PC 或 Mac 的更小、更便宜版本,並額外配備 GPIO(通用輸入/輸出)引腳,用於與感測器和致動器交互。
|
|
|
|
|
|
單板電腦是功能齊全的計算機,因此可以使用任何語言進行編程。物聯網設備通常使用 Python 編程。
|
|
|
|
|
|
### 後續課程的硬體選擇
|
|
|
|
|
|
所有後續課程都包括使用物聯網設備與物理世界交互並與雲端通信的作業。每節課支持三種設備選擇——Arduino(使用 Seeed Studios 的 Wio Terminal),或單板電腦(實體設備 Raspberry Pi 4 或在 PC 或 Mac 上運行的虛擬單板電腦)。
|
|
|
|
|
|
您可以在 [硬體指南](../../../hardware.md) 中閱讀完成所有作業所需的硬體。
|
|
|
|
|
|
> 💁 您不需要購買任何物聯網硬體即可完成作業,您可以使用虛擬單板電腦完成所有內容。
|
|
|
|
|
|
選擇哪種硬體取決於您家中或學校中可用的設備,以及您已掌握或計劃學習的編程語言。兩種硬體變體將使用相同的感測器生態系統,因此如果您選擇了一種路徑,之後可以切換到另一種,而無需更換大部分設備。虛擬單板電腦相當於在 Raspberry Pi 上學習,大部分程式碼可以轉移到實體 Pi 上,當您最終獲得設備和感測器時。
|
|
|
|
|
|
### Arduino 開發套件
|
|
|
|
|
|
如果您對學習微控制器開發感興趣,可以使用 Arduino 設備完成作業。您需要對 C/C++ 編程有基本的了解,因為課程只會教授與 Arduino 框架、感測器和致動器以及與雲端交互的庫相關的程式碼。
|
|
|
|
|
|
作業將使用 [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-17441-jabenn) 和 [PlatformIO 微控制器開發擴展](https://platformio.org)。如果您熟悉 Arduino IDE,也可以使用該工具,但課程中不會提供相關指導。
|
|
|
|
|
|
### 單板電腦開發套件
|
|
|
|
|
|
如果您對使用單板電腦進行物聯網開發感興趣,可以使用 Raspberry Pi 或在 PC 或 Mac 上運行的虛擬設備完成作業。
|
|
|
|
|
|
您需要對 Python 編程有基本的了解,因為課程只會教授與感測器和致動器以及與雲端交互的庫相關的程式碼。
|
|
|
|
|
|
> 💁 如果您想學習 Python 編程,請參考以下兩個影片系列:
|
|
|
>
|
|
|
> * [Python 初學者教程](https://channel9.msdn.com/Series/Intro-to-Python-Development?WT.mc_id=academic-17441-jabenn)
|
|
|
> * [進階 Python 初學者教程](https://channel9.msdn.com/Series/More-Python-for-Beginners?WT.mc_id=academic-7372-jabenn)
|
|
|
|
|
|
作業將使用 [Visual Studio Code](https://code.visualstudio.com/?WT.mc_id=academic-17441-jabenn)。
|
|
|
|
|
|
如果您使用 Raspberry Pi,可以選擇運行完整桌面版本的 Raspberry Pi OS,並直接在 Pi 上使用 [Raspberry Pi OS 版本的 VS Code](https://code.visualstudio.com/docs/setup/raspberry-pi?WT.mc_id=academic-17441-jabenn) 進行編程,或者將 Pi 作為無頭設備運行,並使用 VS Code 的 [Remote SSH 擴展](https://code.visualstudio.com/docs/remote/ssh?WT.mc_id=academic-17441-jabenn) 從 PC 或 Mac 連接到 Pi,像直接在 Pi 上編程一樣進行編輯、調試和運行程式。
|
|
|
|
|
|
如果您選擇虛擬設備選項,您將直接在電腦上編程。與其訪問感測器和致動器,您將使用一個工具來模擬這些硬體,提供您可以定義的感測器值,並在螢幕上顯示致動器的結果。
|
|
|
|
|
|
## 設置您的設備
|
|
|
|
|
|
在開始編程您的物聯網設備之前,您需要進行一些基本設置。根據您將使用的設備,請遵循相關指導進行設置。
|
|
|
💁 如果你還沒有設備,請參考[硬體指南](../../../hardware.md),以幫助決定你將使用哪種設備,以及需要購買哪些額外的硬體。你不需要購買硬體,因為所有專案都可以在虛擬硬體上運行。
|
|
|
這些指引包含了來自硬體或工具製造商的第三方網站連結,目的是確保您始終使用最新的工具和硬體指引。
|
|
|
|
|
|
按照相關指南設置您的設備,並完成一個「Hello World」項目。這將是本入門部分四節課中創建物聯網夜燈的第一步。
|
|
|
|
|
|
* [Arduino - Wio Terminal](wio-terminal.md)
|
|
|
* [單板電腦 - Raspberry Pi](pi.md)
|
|
|
* [單板電腦 - 虛擬設備](virtual-device.md)
|
|
|
|
|
|
✅ 您將使用 VS Code 來操作 Arduino 和單板電腦。如果您之前未使用過,請在 [VS Code 官方網站](https://code.visualstudio.com?WT.mc_id=academic-17441-jabenn) 了解更多。
|
|
|
|
|
|
## 物聯網的應用
|
|
|
|
|
|
物聯網涵蓋了廣泛的使用案例,主要分為以下幾大類:
|
|
|
|
|
|
* 消費型物聯網
|
|
|
* 商業型物聯網
|
|
|
* 工業型物聯網
|
|
|
* 基礎設施型物聯網
|
|
|
|
|
|
✅ 做一些研究:針對以下描述的每個領域,找出一個文中未提到的具體例子。
|
|
|
|
|
|
### 消費型物聯網
|
|
|
|
|
|
消費型物聯網指的是消費者會購買並在家中使用的物聯網設備。其中一些設備非常實用,例如智能音箱、智能供暖系統和掃地機器人。另一些設備的實用性則值得商榷,例如語音控制的水龍頭,當水聲太大導致語音控制無法聽到時,您可能無法關閉水龍頭。
|
|
|
|
|
|
消費型物聯網設備讓人們能在周圍環境中實現更多目標,尤其是對於全球 10 億有殘疾的人士來說。掃地機器人可以幫助行動不便的人保持地板清潔,語音控制的烤箱讓視力或運動能力有限的人僅用語音即可加熱烤箱,健康監測設備則能讓患者更頻繁且詳細地監控慢性病情況。這些設備變得如此普及,甚至連小孩都將它們融入日常生活。例如,在 COVID 疫情期間進行虛擬學習的學生會使用智能家居設備設置計時器來追蹤學業進度,或設置鬧鐘提醒即將開始的課堂會議。
|
|
|
|
|
|
✅ 您身上或家中有哪些消費型物聯網設備?
|
|
|
|
|
|
### 商業型物聯網
|
|
|
|
|
|
商業型物聯網涵蓋了物聯網在工作場所的應用。在辦公室環境中,可能會有佔用感應器和運動檢測器來管理照明和供暖,僅在需要時開啟燈光和供暖,從而降低成本和碳排放。在工廠中,物聯網設備可以監控安全隱患,例如員工未佩戴安全帽或噪音達到危險水平。在零售業,物聯網設備可以測量冷藏設備的溫度,當冰箱或冷凍櫃的溫度超出規定範圍時提醒店主,或者監控貨架上的商品,指導員工補充已售出的商品。運輸行業越來越依賴物聯網來監控車輛位置、追蹤道路行駛里程以進行道路使用收費、追蹤駕駛員的工作時間和休息合規性,或在車輛接近倉庫時通知員工準備裝卸貨物。
|
|
|
|
|
|
✅ 您的學校或工作場所有哪些商業型物聯網設備?
|
|
|
|
|
|
### 工業型物聯網 (IIoT)
|
|
|
|
|
|
工業型物聯網(IIoT)是指在大規模機械控制和管理中使用物聯網設備。這涵蓋了從工廠到數字農業的廣泛使用案例。
|
|
|
|
|
|
工廠以多種方式使用物聯網設備。機械設備可以通過多個感應器監控溫度、振動和旋轉速度等數據。這些數據可以被監控,當機械超出某些容差範圍時(例如過熱),可以自動停止運行。這些數據還可以隨時間收集並分析,用於預測性維護,AI 模型會分析故障前的數據,並利用這些數據預測其他潛在故障。
|
|
|
|
|
|
數字農業對於養活日益增長的人口至關重要,尤其是對於依靠[自給農業](https://wikipedia.org/wiki/Subsistence_agriculture)維生的 5 億家庭中的 20 億人來說。數字農業的範圍從幾美元的簡單感應器到大型商業設施不等。農民可以通過監控溫度並使用[生長度日](https://wikipedia.org/wiki/Growing_degree-day)來預測作物的收穫時間。他們可以將土壤濕度監測與自動灌溉系統連接,為作物提供所需的水分,既不會讓作物乾枯,也不會浪費水資源。農民甚至進一步利用無人機、衛星數據和 AI 來監控大面積農田的作物生長、病害和土壤質量。
|
|
|
|
|
|
✅ 還有哪些物聯網設備可以幫助農民?
|
|
|
|
|
|
### 基礎設施型物聯網
|
|
|
|
|
|
基礎設施型物聯網是用於監控和控制人們日常使用的本地和全球基礎設施。
|
|
|
|
|
|
[智慧城市](https://wikipedia.org/wiki/Smart_city)是利用物聯網設備收集城市數據並改善城市運行的都市區域。這些城市通常由地方政府、學術界和當地企業合作運營,追蹤和管理從交通到停車和污染等各種事務。例如,在丹麥哥本哈根,空氣污染對當地居民非常重要,因此會進行測量,並利用數據提供最清潔的騎行和慢跑路線。
|
|
|
|
|
|
[智慧電網](https://wikipedia.org/wiki/Smart_grid)通過收集個別家庭的用電數據,提供更好的電力需求分析。這些數據可以用於國家層面的決策,例如建設新電站的位置,也可以用於個人層面,幫助用戶了解自己的用電量、用電時間,甚至提供降低成本的建議,例如在夜間為電動汽車充電。
|
|
|
|
|
|
✅ 如果您可以在居住地添加物聯網設備來測量任何事物,您會選擇什麼?
|
|
|
|
|
|
## 您周圍可能擁有的物聯網設備示例
|
|
|
|
|
|
您可能會驚訝於周圍有多少物聯網設備。我正在家中撰寫這篇文章,我家中有以下設備連接到互聯網,並具有應用控制、語音控制或通過手機向我發送數據的智能功能:
|
|
|
|
|
|
* 多個智能音箱
|
|
|
* 冰箱、洗碗機、烤箱和微波爐
|
|
|
* 太陽能板的電力監測器
|
|
|
* 智能插座
|
|
|
* 視頻門鈴和安全攝像頭
|
|
|
* 帶有多個智能房間感應器的智能恆溫器
|
|
|
* 車庫門開啟器
|
|
|
* 家庭娛樂系統和語音控制電視
|
|
|
* 燈光
|
|
|
* 健身和健康追蹤器
|
|
|
|
|
|
所有這些設備都具有感應器和/或執行器,並與互聯網通信。我可以通過手機查看車庫門是否開著,並讓智能音箱幫我關上。我甚至可以設置定時器,如果晚上車庫門仍然開著,它會自動關閉。當門鈴響起時,我可以通過手機查看誰在門口,無論我身在世界何處,還可以通過門鈴內置的揚聲器和麥克風與他們交談。我可以監控我的血糖、心率和睡眠模式,通過數據模式改善我的健康。我可以通過雲端控制燈光,但當我的網絡連接中斷時,我可能會坐在黑暗中。
|
|
|
|
|
|
---
|
|
|
|
|
|
## 🚀 挑戰
|
|
|
|
|
|
列出您家中、學校或工作場所的所有物聯網設備——可能比您想像的還要多!
|
|
|
|
|
|
## 課後測驗
|
|
|
|
|
|
[課後測驗](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/2)
|
|
|
|
|
|
## 回顧與自學
|
|
|
|
|
|
閱讀有關消費型物聯網項目優勢和失敗的資料。在新聞網站上查找有關失敗案例的文章,例如隱私問題、硬體問題或因缺乏連接性而引發的問題。
|
|
|
|
|
|
一些例子:
|
|
|
|
|
|
* 查看 Twitter 帳戶 **[Internet of Sh*t](https://twitter.com/internetofshit)** *(內含粗俗語言警告)*,了解一些消費型物聯網失敗的好例子。
|
|
|
* [c|net - 我的 Apple Watch 救了我的命:5 人分享他們的故事](https://www.cnet.com/news/apple-watch-lifesaving-health-features-read-5-peoples-stories/)
|
|
|
* [c|net - ADT 技術員承認多年來窺探客戶攝像頭畫面](https://www.cnet.com/news/adt-home-security-technician-pleads-guilty-to-spying-on-customer-camera-feeds-for-years/) *(內含非自願窺視警告)*
|
|
|
|
|
|
## 作業
|
|
|
|
|
|
[調查一個物聯網項目](assignment.md)
|
|
|
|
|
|
**免責聲明**:
|
|
|
本文件使用 AI 翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原始語言的文件作為權威來源。對於關鍵資訊,建議尋求專業人工翻譯。我們對因使用此翻譯而產生的任何誤解或錯誤解讀概不負責。 |