19 KiB
物聯網簡介
手繪筆記由 Nitya Narasimhan 提供。點擊圖片查看更大版本。
本課程是 Microsoft Reactor 的 Hello IoT 系列 的一部分。課程分為兩段影片進行教學——一小時的課程和一小時的辦公時間,深入探討課程內容並回答問題。
🎥 點擊上方圖片觀看影片
課前測驗
簡介
本課程涵蓋了一些關於物聯網的入門主題,並幫助你開始設置硬件。
在本課程中,我們將討論:
什麼是「物聯網」?
「物聯網」這個術語由 Kevin Ashton 在 1999 年提出,用來描述通過感應器將互聯網連接到物理世界。自那時起,這個術語被用來描述任何與周圍物理世界互動的設備,無論是通過感應器收集數據,還是通過執行器(例如打開開關或點亮 LED 的設備)進行實際操作,通常這些設備會連接到其他設備或互聯網。
感應器 從世界中收集信息,例如測量速度、溫度或位置。
執行器 將電信號轉換為實際操作,例如觸發開關、打開燈光、發出聲音,或向其他硬件發送控制信號,例如打開電源插座。
物聯網作為一個技術領域,不僅僅是設備本身——它還包括基於雲的服務,這些服務可以處理感應器數據,或向連接到物聯網設備的執行器發送請求。它還包括不具備或不需要互聯網連接的設備,通常被稱為邊緣設備。這些設備可以自行處理和響應感應器數據,通常使用在雲端訓練的 AI 模型。
物聯網是一個快速增長的技術領域。據估計,到 2020 年底,已有 300 億個物聯網設備被部署並連接到互聯網。展望未來,預計到 2025 年,物聯網設備將收集近 80 澤字節(zettabytes)的數據,相當於 80 萬億 GB。這是一個巨大的數據量!
✅ 做一些研究:物聯網設備生成的數據中有多少實際被使用,又有多少被浪費?為什麼會有這麼多數據被忽略?
這些數據是物聯網成功的關鍵。要成為一名成功的物聯網開發者,你需要了解需要收集的數據、如何收集數據、如何基於數據做出決策,以及在需要時如何利用這些決策與物理世界互動。
物聯網設備
物聯網中的 T 代表 Things(物件)——這些設備通過感應器收集數據或通過執行器進行實際操作,與周圍的物理世界互動。
用於生產或商業用途的設備,例如消費者健身追蹤器或工業機器控制器,通常是定制製造的。它們使用定制的電路板,甚至可能是定制的處理器,以滿足特定任務的需求,無論是小到可以戴在手腕上,還是堅固到可以在高溫、高壓或高振動的工廠環境中運行。
作為一名學習物聯網或創建設備原型的開發者,你需要從開發套件開始。這些是為開發者設計的通用物聯網設備,通常具有生產設備不會有的功能,例如一組外部引腳,用於連接感應器或執行器,支持調試的硬件,或在大規模生產中會增加不必要成本的額外資源。
這些開發套件通常分為兩類——微控制器和單板電腦。我們會在這裡介紹它們,並在下一課中進一步詳細說明。
💁 你的手機也可以被視為一種通用的物聯網設備,內置了感應器和執行器,不同的應用程序以不同的方式使用這些感應器和執行器,並與不同的雲服務交互。你甚至可以找到一些使用手機應用作為物聯網設備的教程。
微控制器
微控制器(也稱為 MCU,Microcontroller Unit 的縮寫)是一種小型計算機,由以下部分組成:
🧠 一個或多個中央處理單元(CPU)——微控制器的「大腦」,運行你的程序
💾 記憶體(RAM 和程序記憶體)——存儲你的程序、數據和變量
🔌 可編程輸入/輸出(I/O)連接——與外部外設(連接的設備)如感應器和執行器通信
微控制器通常是低成本的計算設備,用於定制硬件的微控制器平均價格約為 0.50 美元,有些設備甚至低至 0.03 美元。開發套件的起價約為 4 美元,隨著功能的增加,成本也會上升。Wio Terminal 是 Seeed Studios 的一款微控制器開發套件,內置感應器、執行器、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 上運行的虛擬單板電腦)。
你可以在 硬件指南 中閱讀完成所有作業所需的硬件。
💁 你不需要購買任何物聯網硬件來完成作業,你可以使用虛擬單板電腦完成所有內容。
選擇哪種硬件取決於你家中或學校中可用的設備,以及你已經掌握或計劃學習的編程語言。兩種硬件變體將使用相同的感應器生態系統,因此如果你選擇了一條路徑,之後可以切換到另一條路徑,而無需更換大部分設備。虛擬單板電腦相當於在 Raspberry Pi 上學習,大部分代碼可以轉移到實體 Pi 上使用感應器。
Arduino 開發套件
如果你對學習微控制器開發感興趣,可以使用 Arduino 設備完成作業。你需要對 C/C++ 編程有基本的了解,因為課程只會教授與 Arduino 框架、感應器和執行器以及與雲交互的庫相關的代碼。
作業將使用 Visual Studio Code 和 PlatformIO 微控制器開發擴展。如果你熟悉 Arduino IDE,也可以使用它,但課程不會提供相關指導。
單板電腦開發套件
如果你對使用單板電腦進行物聯網開發感興趣,可以使用 Raspberry Pi 或在 PC 或 Mac 上運行的虛擬設備完成作業。
你需要對 Python 編程有基本的了解,因為課程只會教授與感應器和執行器以及與雲交互的庫相關的代碼。
💁 如果你想學習 Python 編程,可以參考以下兩個視頻系列:
作業將使用 Visual Studio Code。
如果你使用 Raspberry Pi,可以選擇運行完整桌面版 Raspberry Pi OS,直接在 Pi 上使用 Raspberry Pi OS 版 VS Code 進行編碼,或者將 Pi 作為無頭設備運行,並使用 VS Code 的 Remote SSH 擴展 從 PC 或 Mac 連接到 Pi,像直接在 Pi 上編碼一樣進行編輯、調試和運行代碼。
如果你選擇虛擬設備選項,你將直接在電腦上編碼。與其訪問感應器和執行器,你將使用一個工具來模擬這些硬件,提供你可以定義的感應器值,並在屏幕上顯示執行器的結果。
設置你的設備
在開始編寫物聯網設備的程序之前,你需要進行一些基本的設置。根據你將使用的設備,請遵循相關的指導說明。 💁 如果你尚未擁有設備,請參考 硬件指南,以幫助你決定使用哪種設備,以及需要購買哪些額外硬件。你不需要購買硬件,因為所有項目都可以在虛擬硬件上運行。 這些指引包括了硬件或工具創作者提供的第三方網站鏈接,目的是確保你使用的是最新的工具和硬件指引。
按照相關指南設置你的設備並完成一個 "Hello World" 項目。這將是你在這四節課的入門部分中創建 IoT 夜燈的第一步。
✅ 你將使用 VS Code 來操作 Arduino 和單板電腦。如果你之前未使用過,請在 VS Code 網站 上了解更多。
IoT 的應用
IoT 涵蓋了廣泛的使用場景,分為幾個主要類別:
- 消費型 IoT
- 商業型 IoT
- 工業型 IoT
- 基礎設施型 IoT
✅ 做一些研究:對於以下描述的每個領域,找到一個文中未提到的具體例子。
消費型 IoT
消費型 IoT 指的是消費者在家中購買和使用的 IoT 設備。其中一些設備非常有用,例如智能音箱、智能供暖系統和機器人吸塵器。另一些設備的實用性則值得商榷,例如語音控制的水龍頭,當水聲太大時語音控制無法正常工作,導致無法關閉水龍頭。
消費型 IoT 設備幫助人們在日常生活中實現更多,尤其是全球 10 億有殘疾的人群。機器人吸塵器可以幫助行動不便的人保持地板清潔,語音控制的烤箱讓視力或運動能力有限的人僅用語音即可操作烤箱,健康監測設備可以讓患者更頻繁、更詳細地監測慢性病情況。這些設備已經變得如此普及,甚至連小孩都在日常生活中使用它們,例如在 COVID 疫情期間進行虛擬學習的學生使用智能家居設備設置計時器來跟蹤學校作業或提醒即將開始的課堂會議。
✅ 你身上或家中有哪些消費型 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 出現問題的情況,例如隱私問題、硬件故障或因缺乏連接而引發的問題。
一些例子:
- 查看 Twitter 帳戶 Internet of Sh*t (有粗言警告),了解一些消費型 IoT 失敗的好例子。
- c|net - 我的 Apple Watch 救了我的命:5 人分享他們的故事
- c|net - ADT 技術員承認多年來監視客戶攝像頭 (觸發警告 - 非自願窺探)
作業
免責聲明:
本文件已使用人工智能翻譯服務 Co-op Translator 進行翻譯。雖然我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始語言的文件應被視為權威來源。對於重要信息,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。