差異處
這裏顯示兩個版本的差異處。
Both sides previous revision 前次修改 下次修改 | 前次修改 | ||
open:mol:iot [2024/06/12 18:07] wenchin [編輯此段 - Panel] |
open:mol:iot [2025/01/10 13:33] (目前版本) wenchin |
||
---|---|---|---|
行 1: | 行 1: | ||
- | <text type="warning">勞動部勞發署 產業人才投資方案 ~ 委辦職訓課程規劃草案</text> | + | <text type="warning">勞動部勞發署 產業人才投資方案 ~ 委辦職訓課程規劃草案 ~ 2025 年版</text> |
+ | |||
+ | ====== 物聯網 IoT 整合平臺 應用實務班 ====== | ||
+ | === 原: 微控板、物聯網、車隊管理 整合平臺應用實務班 === | ||
+ | \\ | ||
+ | ---- | ||
+ | <collapse id="syllabus"></collapse> | ||
+ | ===== 課程大綱 ===== | ||
+ | ==== 🔸 2025 版 (8天) ==== | ||
+ | * 總時數: <text type="warning">48 小時 (8 天,每天 6 小時)</text> <WRAP> | ||
+ | <panel type="danger"> | ||
+ | * <badge><text type="warning">day 1 ~ am</text></badge> | ||
+ | * 課程內容介紹 | ||
+ | * 物聯網通訊技術、系統架構、應用領域、及資訊安全簡介 | ||
+ | * MQTT 通訊協定 與 WebSocket 應用簡介 | ||
+ | |||
+ | |||
+ | \\ | ||
+ | * <badge><text type="warning">day 1 ~ pm</text></badge> | ||
+ | * TCP Socket / CoAP 網路通訊協定 簡介 (使用 Python 實作) | ||
+ | * RTSP 即時串流協定 應用簡介: | ||
+ | * 透過 App 將 手機 變身為 IP Camera | ||
+ | * 使用 Python + OpenCV 擷取 RTSP 或 M-JPEG 影像串流 | ||
+ | |||
+ | |||
+ | \\ | ||
+ | * <badge><text type="warning">day 2 ~ am</text></badge> | ||
+ | * HTTP 通訊協定 與 RESTful API 簡介 (使用 Python 實作): | ||
+ | * Flask 網頁應用框架 簡介 | ||
+ | * 採用 Flask 執行 HTTP Server 以提供 RESTful API 服務 | ||
+ | |||
+ | |||
+ | \\ | ||
+ | * <badge><text type="warning">day 2 ~ pm</text></badge> | ||
+ | * 實作 Line Bot Webhook (使用 Python 及 ngrok 反向代理) | ||
+ | * Open Data 開放資料 應用簡介 | ||
+ | * 採用 JSONPath 剖析、過濾 Open Data JSON 格式中所需的部份資料 | ||
+ | |||
+ | |||
+ | \\ | ||
+ | * <badge><text type="warning">day 3 ~ am</text></badge> | ||
+ | * Node.js 開發工具安裝及應用簡介 | ||
+ | * Node-RED 安裝及基本操作 | ||
+ | * Node-RED 擴充模組管理工具 | ||
+ | |||
+ | |||
+ | \\ | ||
+ | * <badge><text type="warning">day 3 ~ pm</text></badge> | ||
+ | * 使用 Node-RED 中的「網路」類型的節點與外部系統交換訊息 | ||
+ | * 在 Node-RED 中使用 Dashboard 儀表板,快速產製各式表單、圖表、及網頁地圖 | ||
+ | * 在 Node-RED 中解析 Open Data / API 回傳的特定資料格式,如:CSV, JSON, HTML | ||
+ | |||
+ | |||
+ | \\ | ||
+ | * <badge><text type="warning">day 4 ~ am</text></badge> | ||
+ | * Node-RED Dashboard 儀表板 範例實作: | ||
+ | * 猜數字 互動遊戲 | ||
+ | * 臺北市 河川水位監控 與 自動告警通知 | ||
+ | * Node-RED World Map 網頁地圖 範例實作: | ||
+ | * 顯示 YouBike 各站點位置 與 可借可還的車輛數 | ||
+ | * 顯示 新北市垃圾車 的即時位置及移動軌跡 | ||
+ | * 顯示 手機 的即時位置及移動軌跡 | ||
+ | |||
+ | |||
+ | \\ | ||
+ | * <badge><text type="warning">day 4 ~ pm</text></badge> | ||
+ | * MySQL / MariaDB Database 安裝 | ||
+ | * 在 Node-RED 中存取 SQL Database | ||
+ | * 採用 Node-RED 實作 Line Bot Webhook,並將互動訊息存入 Database | ||
+ | |||
+ | |||
+ | \\ | ||
+ | * <badge><text type="warning">day 5 ~ am</text></badge> | ||
+ | * 常見的 微控板 及 週邊感測裝置 簡介 | ||
+ | * 通用型輸入輸出介面 GPIO 簡介: | ||
+ | * Digital, Analog, Touch, PWM, UART, I2C, SPI 等。 | ||
+ | * 微控板應用程式開發工具簡介: | ||
+ | * C++ @Arduino IDE | ||
+ | * MicroPython @Thonny | ||
+ | * YAML @ESPHome | ||
+ | * 課程硬體材料發放、組裝、腳位配置說明 | ||
+ | |||
+ | |||
+ | \\ | ||
+ | * <badge><text type="warning">day 5 ~ pm</text></badge> | ||
+ | * 安裝 ESP32 微控板專用的 USB 驅動程式 | ||
+ | * 安裝 Python + ESPHome Module 編譯工具、將 Firmware 燒錄至 ESP 微控板 | ||
+ | * 課程作品(微控板及所有週邊感測裝置)接電實測、及 ESPHome 應用範例解說 | ||
+ | |||
+ | |||
+ | \\ | ||
+ | * <badge><text type="warning">day 6 ~ am</text></badge> | ||
+ | * MicroPython 開發環境準備: | ||
+ | * 微控板專用之 MicroPython 直譯器 | ||
+ | * Thonny ~ MicroPython IDE 整合開發環境 | ||
+ | * MicroPython @ ESP32 GPIO 各類型腳位應用: | ||
+ | * Digital 一般 I/O 腳位 ~ 繼電器、按鍵、接近感應開關、光敏感測開關、LED 燈、紅外線發射/接收器 | ||
+ | * Digital IC 協定控制腳位 ~ 溫濕度計、超音波測距、LED 全彩燈條、LED 數字鐘 | ||
+ | * Analog 腳位 ~ 亮度感測器 | ||
+ | * PWM 腳位 ~ 無源蜂鳴器、Servo 伺服馬達 | ||
+ | * I2C Bus 腳位 ~ OLED 顯示幕 | ||
+ | * SPI Bus 腳位 ~ RFID / NFC 感應模組 | ||
+ | * UART 腳位 ~ 與外部進行有線通訊 | ||
+ | |||
+ | \\ | ||
+ | * <badge><text type="warning">day 6 ~ pm</text></badge> | ||
+ | * MicroPython @ ESP32 網路通訊 應用: | ||
+ | * Wi-Fi 無線通訊、 | ||
+ | * 透過 TCP Socket / MQTT / HTTP 網路通訊協定 與外部系統整合。 | ||
+ | * MicroPython @ ESP32 其他無線通訊 應用: | ||
+ | * Bluetooth (BLE) 無線通訊、 | ||
+ | * ESP-NOW 專屬 無線通訊協定。 | ||
+ | |||
+ | |||
+ | \\ | ||
+ | * <badge><text type="warning">day 7 ~ am</text></badge> | ||
+ | * MicroPython @ ESP32 中文字型顯示在 OLED 面板。 | ||
+ | * MicroPython Multi-Threading 多執行緒(多工/非同步/非同線程) 應用。 | ||
+ | * 在 Node-RED 與 ESP32 微控板 之間,透過 MQTT 來交換訊息。 | ||
+ | |||
+ | |||
+ | \\ | ||
+ | * <badge><text type="warning">day 7 ~ pm</text></badge> | ||
+ | * 定位追蹤、車隊管理、網頁地圖 應用簡介。 | ||
+ | * 自製 JavaScript 網頁地圖,透過 MQTT 接收經緯度座標,並更新至網頁中。 | ||
+ | * Traccar 定位追蹤系統 應用簡介: | ||
+ | * Traccar Server 安裝操作、 | ||
+ | * Traccar Client 手機 App (或 GPS 座標發送裝置/車機) 操作說明、 | ||
+ | * 透過 Node-RED 或以其他 RESTful API Client 方式,連入 Traccar Server。 | ||
+ | |||
+ | |||
+ | \\ | ||
+ | * <badge><text type="warning">day 8 ~ am</text></badge> | ||
+ | * 分組專題 選題討論。 | ||
+ | * 分組專題 製作。 | ||
+ | |||
+ | \\ | ||
+ | * <badge><text type="warning">day 8 ~ pm</text></badge> | ||
+ | * 分組專題 展示。 | ||
+ | * 討論、補充 & 回饋。 | ||
+ | |||
+ | </panel> | ||
+ | </WRAP> | ||
- | ====== 微控板、物聯網、車隊管理 整合平臺應用實務班 ====== | ||
\\ | \\ | ||
---- | ---- | ||
行 32: | 行 174: | ||
\\ | \\ | ||
=== 2. 知識: === | === 2. 知識: === | ||
- | * 本課程涵蓋四大單元,分別為:㈠ 基礎導論、㈡ ESP32 微控板 + MicroPython 應用程式開發、㈢ OwnTracks / Traccar 人車追蹤管理平臺、㈣ Node-RED 物聯網整合平臺,並於結訓前採分組方式進行專題製作及展示。 | + | * 本課程涵蓋四大單元,分別為:㈠ 基礎導論、㈡ Node-RED 物聯網整合平臺、㈢ ESP32 微控板 + MicroPython 應用程式開發、㈣ OwnTracks / Traccar 定位追蹤系統、並於課程結束前採分組方式進行專題製作及展示。 |
- | * 課程設計旨在將「微控板、物聯網、車隊管理」等同一系列的相關技術,整併於一個課程中來加以闡述及實作,以使學員能融會貫通物聯網的相關知識及應用。 | + | * 課程設計旨在將「物聯網、微控板、車隊管理」等同一系列的相關技術整併於一個課程中來加以闡述及實作,以使學員能融會貫通物聯網的相關知識及應用。 |
- | * 單元一:先從各類微控板及感測裝置的組裝配線講起,然後介紹常用的微控板開發工具,再談到物聯網常用的幾種通訊協定。 | + | * 單元一:物聯網導論,並介紹物聯網常用的幾種通訊協定。 |
- | * 單元二:採用 MicroPython 來開發應用程式,以示範微控板如何驅動各類型的感測裝置,並展示如何透過各種網路通訊協定來與外部系統連結,以形成物聯網架構。 | + | * 單元二:引用 Node-RED 視覺化 IoT 應用程式開發工具,它是以 Web Application 的形式來扮演 IoT 的訊息控制中心,並提供簡易且可客製化的頁面設計,為「物聯網中央控制平臺」提供了快速導入的解決方案。 |
- | * 單元三:介紹了 OwnTracks App 和 Traccar 平臺,分別用於 人員定位追踨 及 車隊管理,將物聯網的應用推及至「人車即時位置的感知」層面。 | + | * 單元三:先從各類微控板及感測裝置的組裝配線講起,然後介紹幾款常用的微控板應用程式開發工具。首先以 ESPHome 開發基本應用範例,隨後採用 MicroPython 來開發客製化的應用程式,並示範微控板如何驅動各類型的感測裝置,也展示了如何透過各種網路通訊協定來與外部系統連結,以形成物聯網架構。 |
- | * 單元四:引進了知名的 Node-RED 視覺化 IoT 應用程式開發工具,它是以 Web Application 的形式來扮演 IoT 的訊息控制中心,並提供簡易且可客製化的頁面設計,為「物聯網中央控制平臺」提供了快速導入的解決方案。 | + | * 單元四:介紹 Traccar 平臺,分別用於 人員定位追踨 及 車隊管理,將物聯網的應用推及至「人車即時位置的感知」層面。 |
* 課程最後,再透過分組專題實作來集思廣益、應證所學,並期許學員回到工作崗位上能應用在其他相關的領域,如:智慧能源、智能農業、智慧工廠、環境監測、車隊追蹤、智慧家居、智能零售、智慧物聯網 等。 | * 課程最後,再透過分組專題實作來集思廣益、應證所學,並期許學員回到工作崗位上能應用在其他相關的領域,如:智慧能源、智能農業、智慧工廠、環境監測、車隊追蹤、智慧家居、智能零售、智慧物聯網 等。 | ||
行 44: | 行 186: | ||
\\ | \\ | ||
=== 3. 技能: === | === 3. 技能: === | ||
+ | * 能架設 Node.js 後端 JavaScript 程式開發工具,亦能架設 Node-RED Server。 | ||
+ | * 能透過 Node-RED 視覺化開發工具,來建置各類 IoT 應用程式的 Flow 流程。 | ||
+ | * 能客製化 Node-RED Dashboard 儀表板,來與使用者進行互動,或與外部系統整合。 | ||
+ | * 能使用 Node-RED 開發 MVC 架構的網頁應用程式,並將感測器資料存入資料庫中。 | ||
* 能理解各類微控板及感測裝置的各種 GPIO 引腳配置、規格、及用途,如:Digital, Analog, Touch, PWM, UART, I<sup>2</sup>C, SPI 等。 | * 能理解各類微控板及感測裝置的各種 GPIO 引腳配置、規格、及用途,如:Digital, Analog, Touch, PWM, UART, I<sup>2</sup>C, SPI 等。 | ||
* 能操作 Thonny 或 Arduino Lab for MicroPython 整合開發工具,來管理或執行 微控板中的 MicroPython 程式。 | * 能操作 Thonny 或 Arduino Lab for MicroPython 整合開發工具,來管理或執行 微控板中的 MicroPython 程式。 | ||
行 52: | 行 198: | ||
* 能在網頁中透過 MQTT over WebSocket 取得資料來源中的經緯度座標,並更新至網頁地圖上。 | * 能在網頁中透過 MQTT over WebSocket 取得資料來源中的經緯度座標,並更新至網頁地圖上。 | ||
* 能架設 Traccar Server 建構車隊管理系統,在網頁地圖中實現車輛的位置追蹤、資料收集和管理。 | * 能架設 Traccar Server 建構車隊管理系統,在網頁地圖中實現車輛的位置追蹤、資料收集和管理。 | ||
- | * 能架設 Node.js 後端 JavaScript 程式開發工具,亦能架設 Node-RED Server。 | ||
- | * 能透過 Node-RED 視覺化開發工具,來建置各類 IoT 應用程式的 Flow 流程。 | ||
- | * 能客製化 Node-RED Dashboard 儀表板,來與使用者進行互動,或與外部系統整合。 | ||
- | * 能使用 Node-RED 開發 MVC 架構的網頁應用程式,並將感測器資料存入資料庫中。 | ||
行 146: | 行 288: | ||
==== 🔸 訓練費用編列說明 ==== | ==== 🔸 訓練費用編列說明 ==== | ||
* 材料費估計: <text type="warning">每位學員約 $666 ~ $700</text> | * 材料費估計: <text type="warning">每位學員約 $666 ~ $700</text> | ||
- | * [[stuff_iot | 課程使用之材料清單]] | + | * [[:open:mol:stuff_iot | 課程使用之材料清單]] |
- | + | ||
- | + | ||
- | \\ | + | |
- | ---- | + | |
- | <collapse id="syllabus"></collapse> | + | |
- | ===== 課程大綱 ===== | + | |
- | ==== 🔸 課程進度/內容 ~ 最新版 (8天,待2025提案用) ==== | + | |
- | * 總時數: <text type="warning">48 小時 (8 天,每天 6 小時)</text> <WRAP> | + | |
- | <panel type="danger"> | + | |
- | * <badge><text type="warning">day 1 ~ am</text></badge> | + | |
- | * 課程主題及課綱說明、使用硬體材料清單、作品展示。 | + | |
- | * 常見的 微控制器(MCU) 及 微控板 簡介。 | + | |
- | * 通用型輸入輸出介面(GPIO)簡介:Digital, Analog, Touch, PWM, UART, I2C, SPI 等。 | + | |
- | * 微控板應用程式開發工具 C++ @Arduino IDE、MicroPython @Thonny、YAML @ESPHome 簡介。 | + | |
- | * 物聯網概論:通訊技術、運作概念、系統架構、應用領域、及資訊安全議題 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 1 ~ pm</text></badge> | + | |
- | * 物聯網常用的網路通訊協定 TCP Socket / MQTT / HTTP / CoAP 簡介,並使用 Python 實作。 | + | |
- | * 應用 Line Notify 發送文字、照片、螢幕截圖、或即時影像 至 LINE App。 | + | |
- | * 應用 Python Flask 框架,執行 HTTP Server 以提供 RESTful API 服務 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 2 ~ am</text></badge> | + | |
- | * 使用手機 App 來模擬 Web Camera / USB Camera / IP Camera。 | + | |
- | * 常用的視訊串流協定 RTSP / M-JPEG 簡介,並使用 Python 實作。 | + | |
- | * 使用 Python + OpenCV 擷取 Camera 影像 或 Media Streaming 媒體串流。 | + | |
- | * 課程硬體材料發放、組裝、腳位配置說明 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 2 ~ pm</text></badge> | + | |
- | * 安裝 ESP32 專用的 USB 驅動程式 | + | |
- | * 安裝 Python + ESPHome Module 以編譯 YAML 代碼、並將 Firmware 燒錄至 ESP 微控板 | + | |
- | * 課程作品 接電實測及解說 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 3 ~ am</text></badge> | + | |
- | * MicroPython 開發環境安裝、準備。 | + | |
- | * 管理、執行 微控板中的 Python 程式碼。 | + | |
- | * MicroPython IDE 整合開發環境 Thonny 簡介、安裝。 | + | |
- | * MicroPython 基礎應用,搭配:\\ LED、繼電器、手觸按鍵、紅外線接近感應開關、光敏感應開關、溫濕度感測器、超音波測距模組、LED 全彩燈條、數字時鐘 LED 顯示器、紅外線發射器/接收器、亮度感測器。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 3 ~ pm</text></badge> | + | |
- | * MicroPython 應用在 PWM 介面,包含:PWM 呼吸燈、使用無源蜂鳴器撥放 RTTTL 旋律、Servo 伺服馬達。 | + | |
- | * MicroPython 應用在 Touch 介面,包含:七彩水果燈、水果電子琴。 | + | |
- | * MicroPython 進階應用,包含:\\ 在 OLED 螢幕中顯示文字及圖檔、RFID / NFC 感應模組、經由 UART 與其他微控板進行資料傳輸。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 4 ~ am</text></badge> | + | |
- | * MicroPython 網路通訊應用程式開發:TCP Socket / MQTT / HTTP / CoAP :?: | + | |
- | * MicroPython 範例實作:網路校時、發送 LINE Notify 圖文訊息。 | + | |
- | * 在 ESP32 微控板中使用 Bluetooth (BLE) 與手機通訊。 | + | |
- | * 在 ESP32 微控板中使用 ESP-NOW 專屬協定來與其他 ESP 微控板進行無線通訊。 | + | |
- | * MicroPython Multi-Threading 多執行緒(多工/非同步/非同線程) 應用。(僅供參考) | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 4 ~ pm</text></badge> | + | |
- | * 擷取 Open Data 開放資料,來模擬 IoT Sensor。 | + | |
- | * 採用 JSONPath 剖析、過濾 Open Data JSON 格式中所需的部份資料。 | + | |
- | * Mobile Device Tracking 軌跡追蹤 (by OwnTracks 手機 App ~ MQTT) | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 5 ~ am</text></badge> | + | |
- | * 安裝 Traccar Server 開源軟體,應用在 Fleet Management 車隊管理。 | + | |
- | * 手機安裝 Traccar Client App,以回報經緯度座標至 Traccar Server。 | + | |
- | * <del>在 Browser 取得「經緯度座標」並更新在網頁地圖上。(僅供參考)</del> | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 5 ~ pm</text></badge> | + | |
- | * Node.js 開發工具 簡介、安裝、及 npm 套件管理。 | + | |
- | * Node.js 後端 JavaScript 範例程式實作。 | + | |
- | * 採用 Node.js 的 http 或 https 套件來實作 Web Server 網頁服務 及 HTTP Client Rquest 網頁請求。 | + | |
- | * Node-RED 簡介、線上學習資源、執行環境安裝、啟動。 | + | |
- | * Node-RED 基本操作 ~ Node 節點、Flow 流程、Icon 圖 | + | |
- | * Node-RED Manage Palette ~ 管理擴充模組 Modules 以加入更多樣的 Node 節點 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 6 ~ am</text></badge> | + | |
- | * 在 Node-RED 中使用 Dashboard 儀表板,快速產製各式表單或圖表。 | + | |
- | * Node-RED 進階操作 ~ 「功能」類型的節點 | + | |
- | * 使用 Node-RED 內建的網路通訊 Node 節點,如:TCP, UDP, MQTT, Websocket, HTTP 等,來與外部系統交換訊息。 | + | |
- | * 使用 Node-RED 發送 LINE Notify。 | + | |
- | * 在 Node-RED 中解析 Open Data / API 回傳的特定資料格式,如:CSV, JSON, HTML。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 6 ~ pm</text></badge> | + | |
- | * 透過 Dashboard 儀表板客製化的 UI 來與 外部系統 交換訊息 | + | |
- | * 應用 Dashboard 儀表板的互動式表單,來查詢 Open Data / Open API、並顯示結果,如:\\ YouBike、河川水位、各縣市人口密度等範例。 | + | |
- | * 更多 Flow & Dashboard 範例實作、展示 | + | |
- | * 使用 Node-RED 的 Template 節點,來製作客製化的全版頁面。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 7 ~ am</text></badge> | + | |
- | * Open Data 整合應用範例實作: | + | |
- | - 臺北市河川之水位 即時資料,並以 Line Chart 定時更新顯示「某河川的水位變化狀況」。 | + | |
- | - 臺灣 各鄉鎮市區人口密度 資料集,並以 Bar Chart 顯示「臺北市 各行政區 人口數」。 | + | |
- | - YouBike 2.0 臺北市公共自行車 即時資訊,並以 Pie Chart 定時更新顯示「某站點之可借車、可還車數量」。 | + | |
- | - 將 YouBike 2.0 臺北市公共自行車 所有站點的即時資訊,透過 web-worldmap 節點,展現在網頁地圖中。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 7 ~ pm</text></badge> | + | |
- | * 將來自 感測器 或 Open Data 的資料存入 Database 資料庫中。 | + | |
- | * 在 Node-RED 中開發 MVC 架構的網頁應用程式。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 8 ~ am</text></badge> | + | |
- | * 分組專題 選題討論。 | + | |
- | * 分組專題 製作。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 8 ~ pm</text></badge> | + | |
- | * 分組專題 展示。 | + | |
- | * 討論、補充 & 回饋。 | + | |
- | + | ||
- | </panel> | + | |
- | </WRAP> | + | |
- | + | ||
- | + | ||
- | \\ | + | |
- | ==== 🔸 課程進度/內容 ~ 新版 (8天。2024已申報)==== | + | |
- | * 總時數: <text type="warning">48 小時 (8 天,每天 6 小時)</text> <WRAP> | + | |
- | <panel type="warning"> | + | |
- | * <badge><text type="warning">day 1 ~ am</text></badge> | + | |
- | * 課程主題及課綱說明、使用硬體材料清單、作品展示。 | + | |
- | * 常見的 微控制器(MCU) 及 微控板 簡介。 | + | |
- | * 通用型輸入輸出介面(GPIO)簡介:Digital, Analog, Touch, PWM, UART, I2C, SPI 等。 | + | |
- | * 微控板應用程式開發工具 C++ @Arduino IDE、MicroPython @Thonny、YAML @ESPHome 簡介。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 1 ~ pm</text></badge> | + | |
- | * 物聯網概論:通訊技術、運作概念、系統架構、應用領域、及資訊安全議題 | + | |
- | * 物聯網常用的網路通訊協定 TCP Socket / MQTT / HTTP / CoAP 簡介,並使用 Python 實作。 | + | |
- | * 應用 Line Notify 發送文字、照片、螢幕截圖、或即時影像 至 LINE App。 | + | |
- | * 應用 Python Flask 框架,執行 HTTP Server 以提供 RESTful API 服務 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 2 ~ am</text></badge> | + | |
- | * 常用的視訊串流協定 RTSP / M-JPEG 簡介,並使用 Python 實作。 | + | |
- | * 使用手機 App 來模擬 Web Camera / USB Camera / IP Camera | + | |
- | * 使用 Python + OpenCV 擷取 Camera 影像 或 Media Streaming 媒體串流 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 2 ~ pm</text></badge> | + | |
- | * 課程硬體材料發放、組裝、腳位配置說明 | + | |
- | * 安裝 ESP32 專用的 USB 驅動程式 | + | |
- | * 安裝 Python + ESPHome Module 以編譯 YAML 代碼、並將 Firmware 燒錄至 ESP 微控板 | + | |
- | * 課程作品 接電實測及解說 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 3 ~ am</text></badge> | + | |
- | * MicroPython 開發環境安裝、準備。 | + | |
- | * 管理、執行 微控板中的 Python 程式碼。 | + | |
- | * MicroPython IDE 整合開發環境 Thonny 簡介、安裝。 | + | |
- | * MicroPython 基礎應用,搭配:\\ LED、繼電器、手觸按鍵、紅外線接近感應開關、光敏感應開關、溫濕度感測器、超音波測距模組、LED 全彩燈條、數字時鐘 LED 顯示器、紅外線發射器/接收器。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 3 ~ pm</text></badge> | + | |
- | * MicroPython 應用在 PWM 及 Touch 介面,包含:\\ PWM 呼吸燈、使用無源蜂鳴器撥放 RTTTL 旋律、Servo 伺服馬達、七彩水果燈、水果電子琴。 | + | |
- | * MicroPython 進階應用,包含:\\ 在 OLED 螢幕中顯示文字及圖檔、RFID / NFC 感應模組、經由 UART 與其他微控板進行資料傳輸。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 4 ~ am</text></badge> | + | |
- | * MicroPython 網路通訊應用程式開發:TCP Socket / MQTT / HTTP / CoAP | + | |
- | * MicroPython 範例實作:網路校時、發送 LINE Notify 圖文訊息。 | + | |
- | * 在 ESP32 微控板中使用 Bluetooth (BLE) 與手機通訊 | + | |
- | * 在 ESP32 微控板中使用 ESP-NOW 專屬協定來與其他 ESP 微控板進行無線通訊。 | + | |
- | * MicroPython Multi-Threading 多執行緒(多工/非同步/非同線程) 應用 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 4 ~ pm</text></badge> | + | |
- | * 擷取 Open Data 開放資料,來模擬 IoT Sensor。 | + | |
- | * 採用 JSONPath 剖析、過濾 Open Data JSON 格式中所需的部份資料。 | + | |
- | * 使用手機 OwnTracks App 讀取手機所在的經緯度座標,透過 MQTT 推播,並更新在 PC 端的網頁地圖上。 | + | |
- | * 透過手機 Browser 提供的 GeoLocation API 取得手機所在座標,並更新在手機端的網頁地圖上。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 5 ~ am</text></badge> | + | |
- | * 安裝 Traccar Server 開源軟體,應用在 Fleet Management 車隊管理。 | + | |
- | * 手機安裝 Traccar Client App,以回報經緯度座標至 Traccar Server。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 5 ~ pm</text></badge> | + | |
- | * Node.js 開發工具 簡介、安裝、及 npm 套件管理。 | + | |
- | * Node.js 後端 JavaScript 範例程式實作。 | + | |
- | * 採用 Node.js 的 http 或 https 套件來實作 Web Server 網頁服務 及 HTTP Client Rquest 網頁請求。 | + | |
- | * Node-RED 簡介、線上學習資源、執行環境安裝、啟動。 | + | |
- | * Node-RED 基本操作 ~ Node 節點、Flow 流程、Icon 圖 | + | |
- | * Node-RED Manage Palette ~ 管理擴充模組 Modules 以加入更多樣的 Node 節點 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 6 ~ am</text></badge> | + | |
- | * 在 Node-RED 中使用 Dashboard 儀表板,快速產製各式表單或圖表。 | + | |
- | * Node-RED 進階操作 ~ 「功能」類型的節點 | + | |
- | * 使用 Node-RED 內建的網路通訊 Node 節點,如:TCP, UDP, MQTT, Websocket, HTTP 等,來與外部系統交換訊息。 | + | |
- | * 使用 Node-RED 發送 LINE Notify。 | + | |
- | * 在 Node-RED 中解析 Open Data / API 回傳的特定資料格式,如:CSV, JSON, HTML。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 6 ~ pm</text></badge> | + | |
- | * 透過 Dashboard 儀表板客製化的 UI 來與 外部系統 交換訊息 | + | |
- | * 應用 Dashboard 儀表板的互動式表單,來查詢 Open Data / Open API、並顯示結果,如:YouBike、河川水位、各縣市人口密度等範例。 | + | |
- | * 更多 Flow & Dashboard 範例實作、展示 | + | |
- | * 使用 Node-RED 的 Template 節點,來製作客製化的全版頁面。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 7 ~ am</text></badge> | + | |
- | * Open Data 整合應用範例實作: | + | |
- | - 臺北市河川之水位 即時資料,並以 Line Chart 定時更新顯示「某河川的水位變化狀況」。 | + | |
- | - 臺灣 各鄉鎮市區人口密度 資料集,並以 Bar Chart 顯示「臺北市 各行政區 人口數」。 | + | |
- | - YouBike 2.0 臺北市公共自行車 即時資訊,並以 Pie Chart 定時更新顯示「某站點之可借車、可還車數量」。 | + | |
- | - 將 YouBike 2.0 臺北市公共自行車 所有站點的即時資訊,透過 web-worldmap 節點,展現在網頁地圖中。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 7 ~ pm</text></badge> | + | |
- | * 將來自 感測器 或 Open Data 的資料存入 Database 資料庫中。 | + | |
- | * 在 Node-RED 中開發 MVC 架構的網頁應用程式。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 8 ~ am</text></badge> | + | |
- | * 分組專題 選題討論。 | + | |
- | * 分組專題 製作。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 8 ~ pm</text></badge> | + | |
- | * 分組專題 展示。 | + | |
- | * 討論、補充 & 回饋。 | + | |
- | + | ||
- | </panel> | + | |
- | </WRAP> | + | |
- | + | ||
- | + | ||
- | ==== 🔹 課程進度/內容 ~ 舊版 (8天) ==== | + | |
- | * 總時數: <text type="muted">48 小時 (8 天,每天 6 小時)</text> <WRAP> | + | |
- | <panel type="primary"> | + | |
- | * <badge><text type="warning">day 1 ~ am</text></badge> | + | |
- | * 物聯網、車隊追蹤管理 實作技術簡介。 | + | |
- | * 各式微控板、及各式感測元件簡介。 | + | |
- | * 通用型輸入輸出介面(GPIO)簡介,如:Digital, Analog, Touch, PWM, UART, I2C, SPI 等。 | + | |
- | * 微控板應用程式語言及開發工具簡介,含:C++ @Arduino IDE、MicroPython @Thonny、YAML @ESPHome。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 1 ~ pm</text></badge> | + | |
- | * 物聯網常用的網路通訊協定簡介,含:TCP Socket / MQTT / HTTP / CoAP,並使用 Python 實作。 | + | |
- | * 應用 Line Notify 發送文字、照片、螢幕截圖、或即時影像 至 LINE App。 | + | |
- | * 透過 Mobile App 將手機變身為 IP Camera,並使用 OpenCV 擷取 Video Streaming 媒體串流。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 2 ~ am</text></badge> | + | |
- | * 課程材料組裝,含:NodeMCU-32S、各類傳感器、及引腳配置。 | + | |
- | * 安裝 Python 及 ESPHome Module 做為編譯 YAML 代碼的工具,並將 Firmware 燒錄至 ESP 微控板。 | + | |
- | * 採用 ESPHome 製作範例腳本,進行所有元件的實測及操作。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 2 ~ pm</text></badge> | + | |
- | * Thonny 整合開發環境簡介。 | + | |
- | * 管理、執行 微控板中的 MicroPython 程式碼。 | + | |
- | * MicroPython 基礎應用程式開發,搭配:\\ LED、繼電器、手觸按鍵、紅外線接近感應開關、光敏感應開關、溫濕度感測器、超音波測距模組、LED 全彩燈條、數字時鐘 LED 顯示器、紅外線發射器/接收器。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 3 ~ am</text></badge> | + | |
- | * MicroPython 進階應用程式開發,包含:\\ PWM 呼吸燈、使用無源蜂鳴器撥放 RTTTL 旋律、Servo 伺服馬達、在 OLED 螢幕中顯示文字及圖檔、RFID / NFC 感應模組、經由 UART 與其他微控板進行資料傳輸。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 3 ~ pm</text></badge> | + | |
- | * MicroPython 網路通訊應用程式開發,包含:\\ TCP Socket / MQTT / HTTP / CoAP 網路通訊、網路校時、發送 LINE Notify 圖文訊息。 | + | |
- | * 在 ESP32 微控板中使用 Bluetooth (BLE) 與手機通訊、及 ESP-NOW 專屬協定來與其他 ESP 微控板進行無線通訊。 | + | |
- | * MicroPython 多執行緒(多線程/非同步)應用程式開發技術實作。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 4 ~ am</text></badge> | + | |
- | * 擷取 Open Data 開放資料,來模擬 IoT Sensor。 | + | |
- | * 採用 JSONPath 剖析、過濾 Open Data JSON 格式中所需的部份資料。 | + | |
- | * GPS Device Tracking 軌跡追蹤 ~ 手機 OwnTracks App 讀取經緯度座標,透過 MQTT 發送,並更新在網頁地圖上。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 4 ~ pm</text></badge> | + | |
- | * 安裝 Traccar Server 開源軟體,應用在 Fleet Management 車隊管理。 | + | |
- | * 手機安裝 Traccar Client App,以回報經緯度座標至 Traccar Server。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 5 ~ am</text></badge> | + | |
- | * Node.js 開發工具 簡介、安裝、及 npm 套件管理。 | + | |
- | * Node.js 後端 JavaScript 範例程式實作。 | + | |
- | * 採用 http 或 https 套件來實作 Web Server 網頁服務 及 HTTP Client Rquest 網頁請求。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 5 ~ pm</text></badge> | + | |
- | * Node-RED 簡介、線上學習資源、執行環境安裝。 | + | |
- | * Node-RED 基本操作,包含: | + | |
- | - Node ~ 各類型節點、 | + | |
- | - Manage Palette ~ 管理擴充模組 Modules、 | + | |
- | - Flow 流程 ~ 以視覺化的方式開發應用程式、 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 6 ~ am</text></badge> | + | |
- | * 使用 Node-RED 內建的網路通訊 Node 節點,如:TCP, UDP, MQTT, Websocket, HTTP 等,來與外部系統交換訊息。 | + | |
- | * 在 Node-RED 中解析 Open Data / API 回傳的特定資料格式,如:CSV, JSON, HTML。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 6 ~ pm</text></badge> | + | |
- | * 在 Node-RED 中使用 Dashboard 儀表板,快速產製各式表單或圖表。 | + | |
- | * 應用 Dashboard 儀表板的互動式表單,來查詢 Open Data / Open API、並顯示結果。 | + | |
- | * 使用 Node-RED 的 Template 節點,來製作客製化的全版頁面。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 7 ~ am</text></badge> | + | |
- | * Open Data 整合應用範例實作: | + | |
- | - 臺北市河川之水位 即時資料,並以 Line Chart 定時更新顯示「某河川的水位變化狀況」。 | + | |
- | - 臺灣 各鄉鎮市區人口密度 資料集,並以 Bar Chart 顯示「臺北市 各行政區 人口數」。 | + | |
- | - YouBike 2.0 臺北市公共自行車 即時資訊,並以 Pie Chart 定時更新顯示「某站點之可借車、可還車數量」。 | + | |
- | - 將 YouBike 2.0 臺北市公共自行車 所有站點的即時資訊,透過 web-worldmap 節點,展現在網頁地圖中。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 7 ~ pm</text></badge> | + | |
- | * 將來自 感測器 或 Open Data 的資料存入 Database 資料庫中。 | + | |
- | * 在 Node-RED 中開發 MVC 架構的網頁應用程式。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 8 ~ am</text></badge> | + | |
- | * 分組專題 選題討論。 | + | |
- | * 分組專題 製作。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 8 ~ pm</text></badge> | + | |
- | * 分組專題 展示。 | + | |
- | * 討論、補充 & 回饋。 | + | |
- | + | ||
- | </panel> | + | |
- | </WRAP> | + | |
- | + | ||
- | + | ||
- | ==== 🔹 課程進度/內容 ~ 舊版 (7天) ==== | + | |
- | <hidden> | + | |
- | + | ||
- | * 總時數: 42 小時 (7 天,每天 6 小時) <WRAP> | + | |
- | <panel type="info"> | + | |
- | * <badge><text type="warning">day 1 ~ am</text></badge> | + | |
- | * 物聯網、車隊追蹤管理 實作技術簡介。 | + | |
- | * 各式微控板、及各式感測元件簡介。 | + | |
- | * 通用型輸入輸出介面(GPIO)簡介,如:Digital, Analog, Touch, PWM, UART, I2C, SPI 等。 | + | |
- | * 微控板應用程式語言及開發工具簡介,含:C++ @Arduino IDE、MicroPython @Thonny、YAML @ESPHome。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 1 ~ pm</text></badge> | + | |
- | * 物聯網常用的網路通訊協定簡介,含:TCP Socket / MQTT / HTTP / CoAP,並使用 Python 實作。 | + | |
- | * 應用 Line Notify 發送文字、照片、螢幕截圖、或即時影像 至 LINE App。 | + | |
- | * 透過 Mobile App 將手機變身為 IP Camera,並使用 OpenCV 擷取 Video Streaming 媒體串流。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 2 ~ am</text></badge> | + | |
- | * 課程材料組裝,含:NodeMCU-32S、各類傳感器、及引腳配置。 | + | |
- | * 安裝 Python 及 ESPHome Module 做為編譯 YAML 代碼的工具,並將 Firmware 燒錄至 ESP 微控板。 | + | |
- | * 採用 ESPHome 製作範例腳本,進行所有元件的實測及操作。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 2 ~ pm</text></badge> | + | |
- | * Thonny 整合開發環境簡介。 | + | |
- | * 管理、執行 微控板中的 MicroPython 程式碼。 | + | |
- | * MicroPython 基礎應用程式開發,搭配:\\ LED、繼電器、手觸按鍵、紅外線接近感應開關、光敏感應開關、溫濕度感測器、超音波測距模組、LED 全彩燈條、數字時鐘 LED 顯示器、紅外線發射器/接收器。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 3 ~ am</text></badge> | + | |
- | * MicroPython 進階應用程式開發,包含:\\ PWM 呼吸燈、使用無源蜂鳴器撥放 RTTTL 旋律、Servo 伺服馬達、在 OLED 螢幕中顯示文字及圖檔、RFID / NFC 感應模組、經由 UART 與其他微控板進行資料傳輸。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 3 ~ pm</text></badge> | + | |
- | * MicroPython 網路通訊應用程式開發,包含:\\ TCP Socket / MQTT / HTTP / CoAP 網路通訊、網路校時、發送 LINE Notify 圖文訊息。 | + | |
- | * 在 ESP32 微控板中使用 Bluetooth (BLE) 與手機通訊、及 ESP-NOW 專屬協定來與其他 ESP 微控板進行無線通訊。 | + | |
- | * MicroPython 多執行緒(多線程/非同步)應用程式開發技術實作。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 4 ~ am</text></badge> | + | |
- | * 擷取 Open Data 開放資料,來模擬 IoT Sensor。 | + | |
- | * 採用 JSONPath 剖析、過濾 Open Data JSON 格式中所需的部份資料。 | + | |
- | * GPS Device Tracking 軌跡追蹤 ~ 手機 OwnTracks App 讀取經緯度座標,透過 MQTT 發送,並更新在網頁地圖上。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 4 ~ pm</text></badge> | + | |
- | * 安裝 Traccar Server 開源軟體,應用在 Fleet Management 車隊管理。 | + | |
- | * 手機安裝 Traccar Client App 以回報經緯度座標至 Traccar Server。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 5 ~ am</text></badge> | + | |
- | * Node.js 開發工具 簡介、安裝、及 npm 套件管理。 | + | |
- | * Node.js 後端 JavaScript 範例程式實作。 | + | |
- | * 採用 http 或 https 套件來實作 Web Server 網頁服務 及 HTTP Client Rquest 網頁請求。 | + | |
- | * Node-RED 簡介 及 線上學習資源。 | + | |
- | * Node-RED 執行環境準備 ~ 安裝、啟動、關閉、自動啟動、解除安裝。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 5 ~ pm</text></badge> | + | |
- | * Node-RED 基本操作簡介,包含: | + | |
- | - Node ~ 各類型節點、 | + | |
- | - Manage Palette ~ 管理擴充模組 Modules、 | + | |
- | - Flow 流程 ~ 以視覺化的方式開發應用程式、 | + | |
- | - Dashboard 儀表板 ~ 快速產製與使用者互動之 UI 網頁。 | + | |
- | * 使用 Node-RED 內建的網路通訊 Node 節點,如:TCP, UDP, MQTT, Websocket, HTTP 等,來與外部系統交換訊息。 | + | |
- | + | ||
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 6 ~ am</text></badge> | + | |
- | * 在 Node-RED 中解析 Open Data / API 回傳的特定資料格式,如:CSV, JSON, HTML。 | + | |
- | * 透過 HTML 表單來查詢 Open Data / Open API、並顯示結果。 | + | |
- | * Open Data 整合應用範例: | + | |
- | - 臺北市河川之水位 即時資料,並以 Line Chart 定時更新顯示「某河川的水位變化狀況」。 | + | |
- | - 臺灣 各鄉鎮市區人口密度 資料集,並以 Bar Chart 顯示「臺北市 各行政區 人口數」。 | + | |
- | - YouBike 2.0 臺北市公共自行車 即時資訊,並以 Pie Chart 定時更新顯示「某站點之可借車、可還車數量」。 | + | |
- | - 將 YouBike 2.0 臺北市公共自行車 所有站點的即時資訊,透過 web-worldmap 節點,展現在網頁地圖中。 | + | |
- | + | ||
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 6 ~ pm</text></badge> | + | |
- | * 使用 Node-RED 的 Template 節點來製作專屬頁面。 | + | |
- | * 將來自 感測器 或 Open Data 的資料存入 Database 資料庫中。 | + | |
- | * 在 Node-RED 中開發 MVC 架構的網頁應用程式。 | + | |
- | + | ||
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 7 ~ am</text></badge> | + | |
- | * 分組專題 選題討論。 | + | |
- | * 分組專題 製作。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 7 ~ pm</text></badge> | + | |
- | * 分組專題 展示。 | + | |
- | * 討論、補充 & 回饋。 | + | |
- | + | ||
- | </panel> | + | |
- | </WRAP> | + | |
- | + | ||
- | + | ||
- | * 初稿版 <WRAP> | + | |
- | <panel type="info"> | + | |
- | * <badge><text type="warning">day 1 ~ am</text></badge> | + | |
- | * 課程簡介:課程主題、目標說明、課程使用之軟體、及硬體材料清單、課程作品預告、展示。 | + | |
- | * 微控板、物聯網、車隊追蹤管理 實作技術簡介。 | + | |
- | * 各類微控板及感測裝置簡介:Arduino, ESP8266 / ESP32, Raspberry Pi Pico, BBC micro:bit 等。 | + | |
- | * 通用型輸入輸出介面(GPIO)簡介:Digital, Analog, Touch, PWM, UART, I<sup>2</sup>C, SPI 等。 | + | |
- | * 基本感測元件簡介:按鍵、繼電器、RGB LED、接近感應開關、溫濕度感測器、光敏感測器、超音波測距、紅外線發射/接收器 等。 | + | |
- | * 進階感測元件簡介:無源蜂鳴器、Servo 伺服馬達、LED 全彩燈條、數字時鐘顯示器、OLED 顯示幕、RFID / NFC 感應器 等。 | + | |
- | * 微控板應用程式開發工具簡介:C++ @ Arduino IDE (僅參考使用)、MicroPython @ Thonny (全課程使用)、YAML @ ESPHome (作品完成後首次接電實測時使用)。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 1 ~ pm</text></badge> | + | |
- | * 物聯網常用的網路通訊協定簡介與實作 (使用 Python):TCP/IP, TCP Socket, MQTT, MQTT over WebSocket, HTTP RESTful API, CoAP, RTSP, M-Jpeg 等。 | + | |
- | * 應用 Line Notify 發送文字、照片、螢幕截圖、或即時影像 至 LINE App。 | + | |
- | * 透過 Mobile App 將手機變身為 RTSP/M-Jpeg IP Camera。 | + | |
- | * 使用 Python + OpenCV 擷取 Camera 影像 或 Media Streaming 媒體串流。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 2 ~ am</text></badge> | + | |
- | * 課程材料組裝 ~ NodeMCU-32S + 各類傳感器 引腳配置 @ 麵包板。 | + | |
- | * 安裝 Python + ESPHome Module 做為編譯 YAML 代碼的工具,並將 Firmware 燒錄至 ESP 微控板。 | + | |
- | * 作品接電實測 ~ 採用 ESPHome + YAML 製作範例腳本,並進行解說、操作。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 2 ~ pm</text></badge> | + | |
- | * MicroPython IDE 整合開發環境簡介 ~ 介紹 Thonny 及 Arduino Lab for MicroPython 兩套軟體的安裝、操作。 | + | |
- | * 管理、執行 微控板中的 MicroPython 程式碼。 | + | |
- | * ESP32 基礎應用程式開發:\\ MCU 內建 LED、繼電器、手觸按鍵、紅外線接近感應開關、光敏感應開關、溫濕度感測器、超音波測距模組、LED 全彩燈條、數字時鐘 LED 顯示器、紅外線發射器/接收器。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 3 ~ am</text></badge> | + | |
- | * ESP32 進階應用程式開發:\\ PWM 呼吸燈、使用無源蜂鳴器撥放 RTTTL 旋律、Servo 伺服馬達、七彩水果燈、水果電子琴、在 OLED 螢幕中顯示文字及圖檔、RFID / NFC 感應模組、經由 UART 與其他微控板進行資料傳輸。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 3 ~ pm</text></badge> | + | |
- | * ESP32 網路通訊應用程式開發:\\ Wi-Fi 無線通訊、透過 TCP Socket / MQTT / HTTP / CoAP 網路通訊協定 與外部系統整合、透過網路校時,並顯示在 OLED 螢幕上、透過 LINE Notify 發送 LINE 圖文訊息至手機。 | + | |
- | * ESP32 其他無線通訊協定應用程式開發:\\ 透過 Bluetooth (BLE) 與 手機 App 整合、透過 ESP-NOW 專屬 無線通訊協定 在 ESP Devices 之間進行通信。 | + | |
- | * ESP32 多執行緒(多線程/非同步)應用程式開發: 採用 Timer Module 或 _thread Module。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 4 ~ am</text></badge> | + | |
- | * 擷取 Open Data 開放資料,來模擬 IoT Sensor。 | + | |
- | * 採用 JSONPath 剖析、過濾 Open Data JSON 格式中所需的部份資料。 | + | |
- | * 以 Python 的 Requests & jsonpath-ng Module 實作 JSONPath 應用範例。 | + | |
- | * GPS Device Tracking 軌跡追蹤 ~ 透過手機 OwnTracks App 經由 MQTT Server 將經緯度座標傳給 PC 接收端。 | + | |
- | * 在網頁中透過 MQTT over WebSocket 取得座標,並更新至網頁地圖上 (使用 JavaScript)。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 4 ~ pm</text></badge> | + | |
- | * 安裝 Traccar Server 開源軟體,啟動 Fleet Management 車隊管理系統。 | + | |
- | * 透過 手機 Traccar Client App 及 HTTP API 回傳經緯度座標至 Traccar Server。 | + | |
- | * Arduino IDE 安裝、基本範例操作及解說 (使用 C++)。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 5 ~ am</text></badge> | + | |
- | * Node.js 開發工具簡介、安裝、及 npm 套件管理。 | + | |
- | * Node.js 後端 JavaScript 範例程式實作。 | + | |
- | * 採用 http 或 https 套件來實作 Web Server 網頁服務 及 HTTP Client Rquest 網頁請求。 | + | |
- | * Node-RED 簡介 及 線上學習資源。 | + | |
- | * Node-RED 執行環境準備 ~ 安裝、啟動、關閉、自動啟動、解除安裝。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 5 ~ pm</text></badge> | + | |
- | * Node-RED 基本操作 ~ Node 節點、Flow 流程、Dashboard 儀表板。 | + | |
- | * Manage Palette ~ 管理擴充模組 Modules 以加入更多樣的 Node 節點類型。 | + | |
- | * Flow 流程 ~ 以視覺化的方式開發應用程式。 | + | |
- | * Dashboard 儀表板 ~ 安裝、操作簡介。 | + | |
- | * 透過 UART 與外部系統交換訊息。 | + | |
- | * 無線網路通訊:TCP, UDP, MQTT, Websocket, HTTP RESTful API。 | + | |
- | * 解析 Open Data / API 回傳的特定資料格式:CSV, JSON, HTML。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 6 ~ am</text></badge> | + | |
- | * 透過 Dashboard 儀表板 客製化的 UI 互動,來與 外部系統 整合。 | + | |
- | * MQTT In ~ 顯示 MQTT 訂閱 Topic 的 Payload。 | + | |
- | * MQTT Out ~ 在 Dashboard 儀表板 輸入文字後,執行 MQTT Publish 以發送訊息。 | + | |
- | * 擷取 Open Data ~ YouBike 2.0 臺北市公共自行車 即時資訊,並以 Pie Chart 定時更新顯示「某站點之可借車、可還車數量」。 | + | |
- | * 擷取 Open Data ~ 臺北市河川之水位 即時資料,並以 Line Chart 定時更新顯示「某一河川的水位變化狀況」。 | + | |
- | * 擷取 Open Data ~ 臺灣 各鄉鎮市區人口密度 資料集,並以 Bar Chart 顯示「111年 臺北市 各行政區 人口數」。 | + | |
- | * 客製化 Node-RED 專屬頁面及功能:HTML5 與 Template 節點、JavaScript 與 Function 節點、Node-RED 流程與資料分享。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 6 ~ pm</text></badge> | + | |
- | * 使用 Node-RED 開發 MVC 架構的網頁應用程式。 | + | |
- | * 透過 HTML 表單 查詢 Open Data / Open API。 | + | |
- | * 將感測器資料存入 MySQL 資料庫。 | + | |
- | * 將 Webcam 擷取的圖片存成圖檔。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 7 ~ am</text></badge> | + | |
- | * 分組專題 選題討論。 | + | |
- | * 分組專題 製作。 | + | |
- | + | ||
- | \\ | + | |
- | * <badge><text type="warning">day 7 ~ pm</text></badge> | + | |
- | * 分組專題 展示。 | + | |
- | * 討論、補充 & 回饋。 | + | |
- | + | ||
- | </panel> | + | |
- | </WRAP> | + | |
- | </hidden> | + | |
- | + | ||
- | + | ||
- | \\ | + | |
- | ---- | + | |
- | + | ||
- | ==== 課程簡介 ==== | + | |
- | <hidden> | + | |
- | === (行銷宣傳可用) === | + | |
- | * 本課程涵蓋四大單元,分別為: | + | |
- | - 基礎導論、準備 | + | |
- | - ESP32 微控板 + MicroPython 應用程式開發 | + | |
- | - OwnTracks / Traccar 人車追蹤管理 | + | |
- | - Node-RED 物聯網整合平臺 | + | |
- | + | ||
- | * 並安排於期末採分組進行專題製作及展示 | + | |
- | + | ||
- | * 綜合而言,這門課程旨在使學員全方位掌握微控板、物聯網和車隊管理等技術,並培養他們在實際應用中的技能和解決問題的能力。 | + | |
- | * :?: | + | |
- | + | ||
- | * 「智慧家居」可說是物聯網在生活上最貼切的一種應用,但目前市面上商業化智慧家居的平臺或產品,廠商對其技術架構所提供的開放性有限,對於習慣 DIY 的創客或進階用戶而言,客製化整合的彈性是明顯不足的。 | + | |
- | + | ||
- | * 本課程採用免費的開源軟體 Home Assistant (簡稱 HA) 做為智慧家居的控制中心,結合同系列且整合度超高的開發工具 ESPHome,以最簡便輕鬆的方式,讓 ESP8266 / ESP32 微控板 及 微控板所連接的各種感測器、開關、伺服裝置等,能與 HA 完美結合、共同運作。 | + | |
- | + | ||
- | * 除了實體的 ESP 微控板之外,課程中還介紹了其他可客製化整入 HA 智慧家居平臺的各類型裝置,包含:Mobile App 手機應用程式、智慧型或傳統型家電、MQTT 通訊架構、本機系統、網路上的異質系統、Open Data 開放資料、及各種好用的雲端服務等等。HA 提供眾多的整合方式和彈性,讓我們更趨近「萬物皆可整」的終極目標。 | + | |
- | + | ||
- | * 智慧家居最核心的概念「操控智慧化」在實作上包含了:整合 Integration、服務 Service、腳本 Script、場景 Scene、自動化 Automation 等機制,課程中將透過諸多範例逐步實現此概念。想沈浸在既夢幻又真實的智慧家居生活中,唯一的限制是我們的想法和創意。 | + | |
- | + | ||
- | * 以上課程內容幾乎全以 YAML 表達式來進行設定即可,學員無需事先學習特定的 C++ 或 Python 程式語言的基礎。只要對智慧家居或物聯網主題有興趣,就能在課程中學習上手。 | + | |
- | </hidden> | + | |