差異處
這裏顯示兩個版本的差異處。
Both sides previous revision 前次修改 下次修改 | 前次修改 | ||
open:mol:iot [2024/11/29 16:01] wenchin |
open:mol:iot [2025/01/10 13:33] (目前版本) wenchin |
||
---|---|---|---|
行 1: | 行 1: | ||
<text type="warning">勞動部勞發署 產業人才投資方案 ~ 委辦職訓課程規劃草案 ~ 2025 年版</text> | <text type="warning">勞動部勞發署 產業人才投資方案 ~ 委辦職訓課程規劃草案 ~ 2025 年版</text> | ||
- | ====== 物聯網 IoT 整合應用實務班 ====== | + | ====== 物聯網 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> | ||
+ | |||
+ | |||
\\ | \\ | ||
---- | ---- | ||
行 33: | 行 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 平臺,分別用於 人員定位追踨 及 車隊管理,將物聯網的應用推及至「人車即時位置的感知」層面。 |
* 課程最後,再透過分組專題實作來集思廣益、應證所學,並期許學員回到工作崗位上能應用在其他相關的領域,如:智慧能源、智能農業、智慧工廠、環境監測、車隊追蹤、智慧家居、智能零售、智慧物聯網 等。 | * 課程最後,再透過分組專題實作來集思廣益、應證所學,並期許學員回到工作崗位上能應用在其他相關的領域,如:智慧能源、智能農業、智慧工廠、環境監測、車隊追蹤、智慧家居、智能零售、智慧物聯網 等。 | ||
行 45: | 行 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 程式。 | ||
行 53: | 行 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 架構的網頁應用程式,並將感測器資料存入資料庫中。 | ||
行 147: | 行 288: | ||
==== 🔸 訓練費用編列說明 ==== | ==== 🔸 訓練費用編列說明 ==== | ||
* 材料費估計: <text type="warning">每位學員約 $666 ~ $700</text> | * 材料費估計: <text type="warning">每位學員約 $666 ~ $700</text> | ||
- | * [[stuff_iot | 課程使用之材料清單]] | + | * [[:open:mol:stuff_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> | ||
- | * 常見的 微控板 及 週邊感測裝置 簡介。 | ||
- | * 繼電器、按鍵、接近感應開關、光敏感測開關、溫濕度計、超音波測距、LED 全彩燈條、數字鐘、紅外線發射/接收器。 | ||
- | * 通用型輸入輸出介面 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 腳位、 | ||
- | * Analog 腳位。 | ||
- | * MicroPython @ ESP32 GPIO 其他類型接腳應用: | ||
- | * PWM & Touch 腳位、 | ||
- | * I2C, SPI 腳位、 | ||
- | * 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 座標發送裝置/車機) 操作說明、 | ||
- | * 以其他 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> | ||