Contents
創建你自己的物聯網(IoT)設備。僅需六門課程,即可設計和創建簡單的物聯網設備。
你將獲得的技能
- Arduino
- Python 程式設計
- 物聯網( Internet of Things,IoT )
- 樹莓派( Raspberry Pi )
- 微控制器( microcontroller )
- 嵌入式系統設計
- Wireshark
- C 程式設計
- 除錯
- 電腦程式設計
- 應用程式設計介面( Application Programming Interface,API )
使用 Arduino 和 Raspberry Pi 平台設計、創建和部署有趣的 IoT 設備。本專業涵蓋嵌入式系統、Raspberry Pi 平台和用於構建可控制物理世界設備的 Arduino環境。在最終的總結(Capstone)專案中,你將通過設計、建構和測試基於微控制器的嵌入式系統學到技能,應用製作一個適合向未來雇主展示的獨特最終專案。 請注意,此專業不提供討論論壇。
字幕
英文
製作方
University of California, Irvine 加州大學爾灣分校
自1965年以來,加州大學爾灣分校將一所主要研究型大學的優勢與南加州無與倫比的地理位置相結合。 UCI 對嚴格的學術研究、尖端研究以及領導力和品格發展的堅定承諾使校園充滿創新和發現的動力,並以多種方式為我們的本地、國家和全球社群服務。
第 1 門課程 物聯網與嵌入式系統概論
“物聯網”的爆炸性增長正在改變我們的世界,典型的物聯網元件價格的迅速下降使人們可以在家中創新設計和產品。在本專業的第一堂課中,你將學習物聯網在社會中的重要性,典型物聯網裝置的當前組成部分以及未來的趨勢。還將涵蓋物聯網設計的考慮因素、限制條件以及在物理世界與裝置之間的介面。你還將學習如何在硬體和軟體之間進行設計折衷。我們還將介紹網路的關鍵元件,以確保學生了解如何將其裝置連線到網際網路。
請注意,本課程不包括討論論壇。 完成本課程後,你將能夠:
- 定義“物聯網”
- 陳述導致物聯網的技術趨勢
- 描述物聯網對社會的影響
- 就介面來定義嵌入式系統
- 列舉和描述嵌入式系統的元件
- 描述嵌入式系統與物理世界的互動
- 點名 IoT 裝置中最常用的核心硬體元件
- 描述 IoT 裝置中軟體和硬體之間的互動
- 描述IoT 裝置中支援軟體的作業系統所扮演的角色
- 描述網路和基本網路硬體的使用
- 描述網際網路的結構
- 描述“網路協議( network protocol )”的含義
- 解釋 MANET 及其與物聯網( IoT )的關係
第 2 門課程 Arduino 平台與 C 語言程式設計
Arduino 是一個開放原始碼的計算機硬體/軟體平台,用於構建可以感知和控制其周圍物理世界的數位裝置和互動式物件。在本課程中,你將學習 Arduino 平台在物理電路板和程式庫以及IDE(整合開發環境)方面如何工作。你還將瞭解 shields ,shields 是較小的板,可插入 Arduino 主機板以執行其他功能,例如感應光、熱、GPS 跟蹤或提供使用者介面顯示。本課程還將涵蓋用 C 語言做 Arduino 程式設計以及通過軟體訪問板上的引腳( pins )以控制外部裝置的方法。
請注意,本課程不包括討論論壇。 完成本課程後,你將能夠:
- 概述 Arduino 開發板的組成
- 描述對板子上的韌體做程式設計的意思
- 閱讀板的原理圖( schematics )
- 安裝 Arduino IDE
- 描述什麼是“shields”以及它們的使用方式
- 指定使用 shields 時程式庫的作用
- 編譯並執行程式
- 命名 C 變數和類型
- 命名通用 C 運算子
- 使用條件( conditionals )和迴圈( loops )
- 解釋函數及其定義和呼叫( invocation )
- 解釋全域性變數的含義
- 進行 Arduino 建構過程
- 描述 IDE 背後的工具的作用
- 描述如何呼叫 classes 中的函數( functions )
- 解釋 Arduino 草圖的結構
- 訪問 Arduino 的引腳( pins )
- 區分數位和類比引腳
- 除錯嵌入式軟體
- 說明除錯過程中可控性和可觀察性的重要性
- 描述嵌入式系統的常見除錯架構
- 說明 UART 序列通訊協議如何工作
- 描述 Arduino 序列程式庫如何執行序列通訊
第 3 門課程 Arduino 接口
Arduino 通過接收來自諸如感測器( sensors )之類的附加裝置的輸入來感知環境,並可以通過調節燈光、馬達和其他執行器( actuators )來控制周圍的環境。在本課程中,你將學習如何以及何時使用不同型別的感測器,以及如何將它們連線到 Arduino。
由於外部世界使用連續或類比信號,但硬體是數位的,因此你將了解如何來來回回轉換這些信號以及在對設備進行程式編寫時必須如何考慮這些信號。你還將了解如何使用 Arduino 專用的 shields 和shields 軟體程式庫與現實世界互動。
請注意,本課程不包括討論論壇。
第 4 門課程 樹莓派(Raspberry Pi)平台及其 Python 程式設計
Raspberry Pi 是一款價格適中的小型單板計算機,你可以在學習程式設計和計算機硬體的同時,設計和開發有趣且實用的 IoT 裝置。此外,你還將學習如何設定 Raspberry Pi 環境,執行 Linux 作業系統以及在 Raspberry Pi 上編寫和執行一些基本的 Python 程式碼。你還將學習如何使用為 Raspberry Pi 的 Python IDE(整合開發環境),以及如何在裝置上跟蹤和除錯 Python 程式碼。
請注意,本課程不包括討論論壇。
第 5 門課程 樹莓派(Raspberry Pi)接口
Raspberry Pi 使用基於 HDMI、USB 和乙太網等協議的各種輸入/輸出裝置與外界進行通訊。在本課程中,你將學習如何將這些協議( protocols )與其他外部裝置(感測器、馬達、GPS、導向、LCD 螢幕等)一起使用,以使 IoT 裝置與現實世界進行互動。大多數物理裝置使用類比訊號。但是,計算機硬體是數位的,因此在本課程中,你將學習如何來來回回的轉換這些訊號以及在對裝置進行程式設計時必須如何考慮這些訊號。感測器-執行器系統( sensor-actuator system )的基本設計也將會在此說明。你還將學習如何使用 Raspberry Pi 擴充板建構更複雜的硬體系統,以建立有趣而令人興奮的 IoT 裝置。
請注意,本課程不包括討論論壇。
第 6 門課程 物聯網( IoT )程式設計專案
在此總整專案(Capstone Project )課程中,你將設計一個基於微控制器的嵌入式系統。作為一種選擇,你還可以建構和測試系統。專案的重點是設計系統,以便可以在低成本預算下為實際應用程式建構該系統。要完成此專案,你需要使用在課程中學到的所有技能(做微控制器的程式設計、系統設計、介面等)。該專案將包含一些核心要求,但對於你如何切入專案留給你一些創造力的空間。最後,你將製作一個獨特的最終專案,適合向未來的潛在僱主展示。 請注意,對於前3個必要作業,你無需購買軟體和硬體即可完成本課程。對於選擇性的第4 個作業,是給希望使用 Arduino 或 Raspberry Pi 建構和展示成果的學生。
另請注意,本課程不包括討論論壇。完成本課程後,你將能夠:
- 編寫需求規格文件
- 建立系統級設計
- 探索設計選項
- 建立測試計劃
到官方網站本課程與上課
你可能會有興趣
- 嵌入式系統開發相關線上課程
- 歡迎加入Maker 學習資訊分享
- 其他推薦的 Coursera 線上課程
- ★想要加強英文能力嗎?– 練好英文是最大的學習槓桿
★ 歡迎使用 App / Email | Telegram 訂閱 網站更新★