跳至主要内容

物聯網介紹

A sketchnote overview of this lesson

Nitya Narasimhan 繪製的筆記。點擊圖片查看大圖。

這堂課是 Microsoft ReactorHello IoT 系列 的一部分。這堂課分為兩個影片 - 一個是一小時的課程,另一個是一小時的辦公時間,深入探討課程的部分內容並回答問題。

Lesson 1: Introduction to IoT

Lesson 1: Introduction to IoT - Office hours

🎥 點擊上方圖片觀看影片

課前測驗

課前測驗

簡介

這堂課涵蓋了物聯網(IoT)的一些入門主題,並讓你開始設置硬件。

在這堂課中,我們將涵蓋以下內容:

什麼是“物聯網”?

“物聯網”這個術語由 Kevin Ashton 在 1999 年創造,用來指通過傳感器將互聯網連接到物理世界。從那時起,這個術語就被用來描述任何與周圍物理世界互動的設備,無論是通過傳感器收集數據,還是通過執行器(例如開關或點亮 LED 的設備)提供現實世界的互動,通常這些設備都連接到其他設備或互聯網。

傳感器 收集來自世界的信息,例如測量速度、溫度或位置。

執行器 將電信號轉換為現實世界的互動,例如觸發開關、打開燈光、發出聲音,或向其他硬件發送控制信號,例如打開電源插座。

作為一個技術領域,IoT 不僅僅是設備 - 它還包括可以處理傳感器數據或向連接的 IoT 設備發送請求的基於雲的服務。它還包括不需要或不具備互聯網連接的設備,通常被稱為邊緣設備。這些設備可以自行處理和回應傳感器數據,通常使用在雲中訓練的 AI 模型。

IoT 是一個快速增長的技術領域。據估計,到 2020 年底,將有 300 億 IoT 設備部署並連接到互聯網。展望未來,據估計,到 2025 年,IoT 設備將收集約 80 澤字節或 80 兆億 GB 的數據。這是大量的數據!

A graph showing active IoT devices over time, with an upward trend from under 5 billion in 2015 to over 30 billion in 2025

✅ 做一些研究:IoT 設備生成的數據中有多少實際被使用,有多少被浪費?為什麼會有那麼多數據被忽略?

這些數據是 IoT 成功的關鍵。要成為一名成功的 IoT 開發人員,你需要了解需要收集的數據、如何收集數據、如何基於這些數據做出決策,以及如何在需要時使用這些決策與物理世界進行互動。

IoT 設備

IoT 中的 T 代表 Things - 與周圍物理世界互動的設備,無論是通過傳感器收集數據,還是通過執行器提供現實世界的互動。

用於生產或商業用途的設備,例如消費者健身追踪器或工業機器控制器,通常是定制製作的。它們使用定制電路板,甚至可能使用定制處理器,以滿足特定任務的需求,無論是小到可以佩戴在手腕上,還是堅固到可以在高溫、高壓或高振動的工廠環境中工作。

作為一名開發人員,無論是學習 IoT 還是創建設備原型,你需要從開發套件開始。這些是為開發人員設計的一般用途 IoT 設備,通常具有生產設備中不會有的功能,例如連接傳感器或執行器的外部引腳組、支持調試的硬件或在大量生產時會增加不必要成本的額外資源。

這些開發套件通常分為兩類 - 微控制器和單板計算機。我們將在此介紹這些內容,並在下一課中詳細介紹。

💁 你的手機也可以被視為一個通用 IoT 設備,內建傳感器和執行器,不同的應用程序以不同的方式使用這些傳感器和執行器,並與不同的雲服務交互。你甚至可以找到一些將手機應用程序用作 IoT 設備的教程。

微控制器

微控制器(也稱為 MCU,微控制器單元的縮寫)是一種小型計算機,由以下部分組成:

🧠 一個或多個中央處理單元(CPU) - 微控制器的“大腦”,運行你的程序

💾 記憶體(RAM 和程序存儲器) - 存儲你的程序、數據和變量的地方

🔌 可編程輸入/輸出(I/O)連接 - 用於與外部外圍設備(連接設備)如傳感器和執行器通信

微控制器通常是低成本的計算設備,用於定制硬件的平均價格下降到大約 0.50 美元,有些設備甚至便宜到 0.03 美元。開發套件的起價約為 4 美元,隨著添加更多功能,成本會上升。Wio TerminalSeeed Studio 的一款微控制器開發套件,具有傳感器、執行器、WiFi 和屏幕,價格約為 30 美元。

A Wio Terminal

💁 在互聯網上搜索微控制器時,要小心搜索“MCU”這個術語,因為這會帶來大量有關漫威電影宇宙(Marvel Cinematic Universe)的結果,而不是微控制器。

微控制器旨在被編程執行有限數量的非常特定的任務,而不是像 PC 或 Mac 那樣的通用計算機。除非常特定的情況外,你無法連接顯示器、鍵盤和滑鼠來執行通用任務。

微控制器開發套件通常會附帶額外的傳感器和執行器。大多數板上都會有一個或多個可編程的 LED,還有其他設備,例如標準插頭,用於使用各種製造商的生態系統添加更多傳感器或執行器或內建傳感器(通常是最受歡迎的傳感器,例如溫度傳感器)。有些微控制器內建無線連接功能,如藍牙或 WiFi,或者板上有額外的微控制器以添加這些連接功能。

💁 微控制器通常用 C/C++ 編程。

單板計算機

單板計算機是一種小型計算設備,將所有計算機元件都包含在一個小板上。這些設備的規格接近桌面或筆記本電腦 PC 或 Mac,運行完整的操作系統,但體積小、功耗低,且價格便宜得多。

A Raspberry Pi 4

樹莓派是最受歡迎的單板計算機之一。

像微控制器一樣,單板計算機具有 CPU、記憶體和輸入/輸出引腳,但它們具有其他功能,例如顯示卡,允許你連接顯示器、音頻輸出和 USB 端口,以連接鍵盤、滑鼠和其他標準 USB 設備,如網絡攝像頭或外部存儲。程序和操作系統存儲在 SD 卡或硬盤上,而不是內建於板上的記憶體晶片中。

🎓 你可以將單板計算機視為你正在閱讀本文的 PC 或 Mac 的更小、更便宜的版本,增加了與傳感器和執行器互動的 GPIO(通用輸入/輸出)引腳。

單板計算機是全功能計算機,因此可以使用任何語言進行編程。IoT 設備通常使用 Python 編程。

接下來課程的硬件選擇

後續的課程包括使用 IoT 設備與物理世界互動並與雲通信的作業。每一課程支持三種設備選擇 - Arduino(使用 Seeed Studio 的 Wio Terminal),或者單板計算機,可以是物理設備(Raspberry Pi 4)或在你的 PC 或 Mac 上運行的虛擬單板計算機。

你可以在 硬件指南 中閱讀完成所有作業所需的硬件。

💁 你不需要購買任何 IoT 硬件來完成作業,你可以使用虛擬單板計算機完成所有項目。

選擇哪種硬件取決於你家裡或學校的現有設備,以及你知道或計劃學習的編程語言。這兩種硬件變體都使用相同的傳感器生態系統,因此如果你開始使用其中一種,你可以切換到另一種,而無需更換大部分設備。虛擬單板計算機相當於學習使用 Raspberry Pi,大部分代碼可以轉移到實際的 Pi 設備上。

Arduino 開發套件

如果你對學習微控制器開發感興趣,你可以使用 Arduino 設備完成作業。你需要對 C/C++ 編程有基本的了解,課程只會教授與 Arduino 框架、傳感器和執行器以及與雲交互的庫相關的代碼。

作業將使用 Visual Studio CodePlatformIO 微控制器開發擴展。如果你對 Arduino IDE 比較熟悉,你也可以使用它,因為不會提供相關指導。

單板計算機開發套件

如果你對學習使用單板計算機進行 IoT 開發感興趣,你可以使用 Raspberry Pi 或在你的 PC 或 Mac 上運行的虛擬設備完成作業。

你需要對 Python 編程有基本的了解,課程只會教授與使用的傳感器和執行器相關的代碼以及與雲交互的庫。

💁 如果你想學習 Python 編程,請查看以下兩個視頻系列:

作業將使用 Visual Studio Code

如果你使用 Raspberry Pi,你可以使用 Raspberry Pi OS 的完整桌面版運行你的 Pi,並直接在 Pi 上使用 Raspberry Pi OS 版的 VS Code 進行編碼,或者將你的 Pi 作為無頭設備運行,並使用 VS Code 與 遠端 SSH 擴展 從你的 PC 或 Mac 上進行編碼、調試和運行代碼,就像你在 Pi 上直接編碼一樣。

如果你使用虛擬設備選項,你將直接在你的計算機上編碼。你將使用一個工具來模擬這些硬件,提供你可以定義的傳感器數值,並在屏幕上顯示執行器的結果。

設置你的設備

在開始編寫 IoT 設備程式之前,你需要進行一些設置。根據你使用的設備,請按照下面的相關指導進行操作。

💁 如果你還沒有設備,請參考 硬件指南 以幫助決定你將使用哪種設備,以及需要購買哪些額外硬件。你不需要購買硬件,因為所有項目都可以在虛擬硬件上運行。

這些指導包括第三方網站的連結,這些網站是硬件或工具創建者的網站。這是為了確保你總是使用各種工具和硬件的最新指導。

完成相關指南以設置你的設備並完成一個“Hello World”項目。這將是這個入門部分四節課中創建 IoT 小夜燈的第一步。

✅ 你將使用 VS Code 進行 Arduino 和單板計算機編程。如果你以前沒有使用過它,請在 VS Code 網站 了解更多信息。

IoT 的應用

IoT 涵蓋了廣泛的用例,分為幾個大類:

  • 消費者 IoT
  • 商業 IoT
  • 工業 IoT
  • 基礎設施 IoT

✅ 做一些研究:對於下面描述的每個領域,找到一個本文未提到的具體範例。

消費者 IoT

消費者 IoT 指消費者將購買並在家中使用的 IoT 設備。有些設備非常有用,例如智能音箱、智能供暖系統和機器人吸塵器。另一些設備的用處則令人懷疑,例如語音控制的水龍頭,當聲控無法聽到你聲音時,你就無法關閉它。

消費者 IoT 設備使人們在周圍環境中實現更多功能,尤其是對於 10 億殘疾人來說。機器人吸塵器可以為無法自己吸塵的行動不便者提供清潔的地板,語音控制的烤箱允許視力或運動控制有限的人僅通過聲音來加熱烤箱,健康監測儀可以讓患者自行監測慢性病情況,提供更定期和更詳細的更新。這些設備變得如此普及,甚至年幼的孩子也在日常生活中使用它們,例如 COVID-19 疫情期間進行虛擬學校教育的學生設置智能家居設備的計時器來跟蹤作業或提醒即將到來的課堂會議。

✅ 你身上或家中有哪些消費者 IoT 設備?

商業 IoT

商業 IoT 涵蓋在工作場所使用 IoT 的情況。在辦公環境中,可能有佔用傳感器和動作檢測器來管理照明和供暖,只在需要時保持燈光和供暖,減少成本和碳排放。在工廠中,IoT 設備可以監測安全隱患,例如工人未佩戴安全帽或噪音達到危險水平。在零售業,IoT 設備可以測量冷藏儲存的溫度,當冰箱或冷凍室超出要求溫度範圍時提醒店主,或者它們可以監控貨架上的商品,指導員工補充已售出的商品。運輸行業越來越依賴 IoT 來監控車輛位置、跟踪道路行駛里程以進行道路使用費收取、跟踪駕駛員駕駛時間和休息時間的合規性,或在車輛接近倉庫時通知工作人員準備裝卸貨物。

✅ 你的學校或工作場所有哪些商業 IoT 設備?

工業 IoT(IIoT)

工業 IoT,或 IIoT,是指在大型機器上使用 IoT 設備進行控制和管理。這涵蓋了從工廠到數字農業的廣泛用例。

工廠以多種方式使用 IoT 設備。機械設備可以通過多個傳感器監測溫度、振動和轉速等參數。這些數據可以被監控,以便在機械超出某些允許範圍時停機,例如當機器過熱時自動關閉。這些數據還可以被收集和分析,以進行預測性維護,AI 模型可以根據故障前的數據預測其他故障。

數字農業對於養活日益增長的人口尤其重要,尤其是對於靠自給農業生活的 20 億人(5 億家庭)。數字農業的應用範圍從幾美元的傳感器到大規模商業設施。農民可以通過監測溫度並使用生長度日預測作物的收穫時間。他們可以將土壤濕度監測與自動灌溉系統連接,確保作物得到所需的水分,但不會浪費水。農民甚至可以進一步使用無人機、衛星數據和 AI 來監控大面積農田的作物生長、病害和土壤質量。

✅ 還有哪些 IoT 設備可以幫助農民?

基礎設施 IoT

基礎設施 IoT 是指監測和控制人們每天使用的本地和全球基礎設施。

智慧城市 是使用 IoT 設備收集城市數據並利用這些數據改進城市運行的城市。這些城市通常是地方政府、學術界和當地企業之間的合作,跟踪和管理交通、停車和污染等各種事項。例如,在丹麥哥本哈根,空氣污染對當地居民來說非常重要,因此它會被測量,並利用這些數據提供最清潔的自行車和慢跑路線信息。

智慧電網 通過收集家庭用電數據進行更好的需求分析。這些數據可以指導國家層面的決策,包括新建電站的位置,還可以為個人提供用電量、用電時間的洞察,甚至提供如何降低成本的建議,例如在夜間為電動汽車充電。

✅ 如果你可以在你居住的地方添加 IoT 設備來測量任何東西,你會選擇測量什麼?

你周圍可能有的 IoT 設備範例

你會驚訝於你周圍有多少 IoT 設備。我正在家裡寫這篇文章,我有以下設備連接到互聯網,具有智能功能,例如應用控制、語音控制或通過手機向我發送數據:

  • 多個智能音箱
  • 冰箱、洗碗機、烤箱和微波爐
  • 太陽能電池板的電力監控器
  • 智能插頭
  • 視頻門鈴和安全攝像頭
  • 帶有多個智能房間傳感器的智能恆溫器
  • 車庫門開關
  • 家庭娛樂系統和語音控制電視
  • 燈光
  • 健身和健康追踪器

所有這些設備都有傳感器和/或執行器,並與互聯網通信。我可以通過手機查看車庫門是否開著,並請智能音箱幫我關閉它。我甚至可以設置定時器,如果晚上還開著,它會自動關閉。當門鈴響起時,我可以通過手機查看無論身在何處的訪客,並通過內建的揚聲器和麥克風與他們對話。我可以監測血糖、心率和睡眠模式,尋找數據中的模式以改善健康狀況。我可以通過雲控制燈光,當我的網絡連接中斷時,我可以坐在黑暗中。


🚀 挑戰

列出你家中、學校或工作場所中的 IoT 設備 - 可能比你想象的更多!

課後測驗

課後測驗

複習與自學

閱讀消費者 IoT 項目的優點和失敗案例。查看新聞網站上有關隱私問題、硬件問題或由於缺乏連接性引起的問題的文章。

一些範例:

作業

調查一個 IoT 項目