這是本文件的舊版!
勞動部勞發署 產業人才投資方案 ~ 委辦職訓課程規劃草案
微控板、物聯網、車隊管理 整合平臺應用實務班
訓練班別計畫表
🔸 訓練需求調查
3. 訓練需求概述:
- 近年來,因氣候變遷加劇,引起了全球社會的關注,為了環境永續,節能減碳及能源轉型的相關政策或議題已成為國際性的主流盛事。
- 身為地球公民或背負企業社會責任的一份子,除了配合政府政策之外,還有哪些層面是我們可以再進一步著墨改善的呢?
或許從「智能建築、智慧家居、智慧能源、智能農業、智能工廠、環境監測、車隊管理、智能運輸」等幾個主題來下手會是個解方。 - 開始探究這些技術時發現它們有個共同點,也就是都有一個「物聯網整合平臺」做為管理基礎。透過這個平臺,即時的環境監控訊息或裝置訊息才得以收集,自動化的應對策略或演算法才得以運行,進而達到節能減碳最佳化的目標。
- 本訓練課程可以激發更多的公眾的來參與這項盛事,透過學習「微控板、物聯網、車隊管理 整合平臺」的相關技術並應用於職場上,讓企業更有能力、也更積極來參與節能減碳的實踐,提升企業形象,滿足社會對永續發展的期望。
🔸 訓練目標
1. 單位核心能力介紹:
2. 知識:
- 本課程涵蓋四大單元,分別為:㈠ 基礎導論、㈡ ESP32 微控板 + MicroPython 應用程式開發、㈢ OwnTracks / Traccar 人車追蹤管理平臺、㈣ Node-RED 物聯網整合平臺,並於結訓前採分組方式進行專題製作及展示。
- 課程設計旨在將「微控板、物聯網、車隊管理」等同一系列的相關技術,整併於一個課程中來加以闡述及實作,以使學員能融會貫通物聯網的相關知識及應用。
- 單元一:先從各類微控板及感測裝置的組裝配線講起,然後介紹常用的微控板開發工具,再談到物聯網常用的幾種通訊協定。
- 單元二:採用 MicroPython 來開發應用程式,以示範微控板如何驅動各類型的感測裝置,並展示如何透過各種網路通訊協定來與外部系統連結,以形成物聯網架構。
- 單元三:介紹了 OwnTracks App 和 Traccar 平臺,分別用於 人員定位追踨 及 車隊管理,將物聯網的應用推及至「人車即時位置的感知」層面。
- 單元四:引進了知名的 Node-RED 視覺化 IoT 應用程式開發工具,它是以 Web Application 的形式來扮演 IoT 的訊息控制中心,並提供簡易且可客製化的頁面設計,為「物聯網中央控制平臺」提供了快速導入的解決方案。
- 課程最後,再透過分組專題實作來集思廣益、應證所學,並期許學員回到工作崗位上能應用在其他相關的領域,如:智慧能源、智能農業、智慧工廠、環境監測、車隊追蹤、智慧家居、智能零售、智慧物聯網 等。
3. 技能:
- 能理解各類微控板及感測裝置的各種 GPIO 引腳配置、規格、及用途,如:Digital, Analog, Touch, PWM, UART, I2C, SPI 等。
- 能操作 Thonny 或 Arduino Lab for MicroPython 整合開發工具,來管理或執行 微控板中的 MicroPython 程式。
- 能善用 MicroPython 來開發 ESP32 微控板 及 各類感測裝置的 應用程式
- 能善用各種物聯網常用的通訊協定,如:TCP Socket, MQTT, HTTP, CoAP, RTSP 等,來開發應用程式,並與外部系統相互溝通。
- 能擷取網路上的 Open Data 開放資料,來模擬 IoT Sensor。
- 能透過手機 OwnTracks App 經由 MQTT Server 將 GPS 即時經緯度座標傳給任何接收端。
- 能在網頁中透過 MQTT over WebSocket 取得資料來源中的經緯度座標,並更新至網頁地圖上。
- 能架設 Traccar Server 建構車隊管理系統,在網頁地圖中實現車輛的位置追蹤、資料收集和管理。
- 能架設 Node.js 後端 JavaScript 程式開發工具,亦能架設 Node-RED Server。
- 能透過 Node-RED 視覺化開發工具,來建置各類 IoT 應用程式的 Flow 流程。
- 能客製化 Node-RED Dashboard 儀表板,來與使用者進行互動,或與外部系統整合。
- 能使用 Node-RED 開發 MVC 架構的網頁應用程式,並將感測器資料存入資料庫中。
4. 學習成效:
- 培養實務經驗: 透過課程中豐富的實作範例,學員將能夠實際動手應用所學知識,獲得實戰經驗。
- 問題解決技巧: 課程中留有諸多的衍生題目,學員將面臨各種挑戰,也將提升解決問題的能力。
- 團隊協作能力: 分組專題的設計和實作,將培養學員的團隊協作與溝通能力。
- 創意思維培養: 學員透過設計和展示專案,培養創意思維,將理論知識轉化為創新的實踐應用。
5. 職能級別:
🔸 學員資格
- 學歷:高中/職(含)以上
- 資格條件:
- 具備電腦基本操作能力。
- 對 Python、JavaScript、或 C++ 等,任一程式語言稍具概念者。
- 對 微控板、各類感測裝置、物聯網通訊協定、物聯網整合平臺、人員定位追踨、車隊管理平臺 等,任一主題有興趣者。
🔸 訓練費用編列說明
- 材料費估計: 每位學員約 $666 ~ $700
課程大綱
🔸 課程進度/內容 ~ 最新版 (8天,待2025提案用)
- 總時數: 48 小時 (8 天,每天 6 小時)
- day 1 ~ am
- 課程主題及課綱說明、使用硬體材料清單、作品展示。
- 常見的 微控制器(MCU) 及 微控板 簡介。
- 通用型輸入輸出介面(GPIO)簡介:Digital, Analog, Touch, PWM, UART, I2C, SPI 等。
- 微控板應用程式開發工具 C++ @Arduino IDE、MicroPython @Thonny、YAML @ESPHome 簡介。
- 物聯網概論:通訊技術、運作概念、系統架構、應用領域、及資訊安全議題
- day 1 ~ pm
- 物聯網常用的網路通訊協定 TCP Socket / MQTT / HTTP / CoAP 簡介,並使用 Python 實作。
- 應用 Line Notify 發送文字、照片、螢幕截圖、或即時影像 至 LINE App。
- 應用 Python Flask 框架,執行 HTTP Server 以提供 RESTful API 服務
- day 2 ~ am
- 使用手機 App 來模擬 Web Camera / USB Camera / IP Camera。
- 常用的視訊串流協定 RTSP / M-JPEG 簡介,並使用 Python 實作。
- 使用 Python + OpenCV 擷取 Camera 影像 或 Media Streaming 媒體串流。
- 課程硬體材料發放、組裝、腳位配置說明
- day 2 ~ pm
- 安裝 ESP32 專用的 USB 驅動程式
- 安裝 Python + ESPHome Module 以編譯 YAML 代碼、並將 Firmware 燒錄至 ESP 微控板
- 課程作品 接電實測及解說
- day 3 ~ am
- MicroPython 開發環境安裝、準備。
- 管理、執行 微控板中的 Python 程式碼。
- MicroPython IDE 整合開發環境 Thonny 簡介、安裝。
- MicroPython 基礎應用,搭配:
LED、繼電器、手觸按鍵、紅外線接近感應開關、光敏感應開關、溫濕度感測器、超音波測距模組、LED 全彩燈條、數字時鐘 LED 顯示器、紅外線發射器/接收器、亮度感測器。
- day 3 ~ pm
- MicroPython 應用在 PWM 介面,包含:PWM 呼吸燈、使用無源蜂鳴器撥放 RTTTL 旋律、Servo 伺服馬達。
- MicroPython 應用在 Touch 介面,包含:七彩水果燈、水果電子琴。
- MicroPython 進階應用,包含:
在 OLED 螢幕中顯示文字及圖檔、RFID / NFC 感應模組、經由 UART 與其他微控板進行資料傳輸。
- day 4 ~ am
- MicroPython 網路通訊應用程式開發:TCP Socket / MQTT / HTTP / CoAP
- MicroPython 範例實作:網路校時、發送 LINE Notify 圖文訊息。
- 在 ESP32 微控板中使用 Bluetooth (BLE) 與手機通訊。
- 在 ESP32 微控板中使用 ESP-NOW 專屬協定來與其他 ESP 微控板進行無線通訊。
- MicroPython Multi-Threading 多執行緒(多工/非同步/非同線程) 應用。(僅供參考)
- day 4 ~ pm
- 擷取 Open Data 開放資料,來模擬 IoT Sensor。
- 採用 JSONPath 剖析、過濾 Open Data JSON 格式中所需的部份資料。
- Mobile Device Tracking 軌跡追蹤 (by OwnTracks 手機 App ~ MQTT)
- day 5 ~ am
- 安裝 Traccar Server 開源軟體,應用在 Fleet Management 車隊管理。
- 手機安裝 Traccar Client App,以回報經緯度座標至 Traccar Server。
在 Browser 取得「經緯度座標」並更新在網頁地圖上。(僅供參考)
- day 5 ~ pm
- 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 節點
- day 6 ~ am
- 在 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。
- day 6 ~ pm
- 透過 Dashboard 儀表板客製化的 UI 來與 外部系統 交換訊息
- 應用 Dashboard 儀表板的互動式表單,來查詢 Open Data / Open API、並顯示結果,如:
YouBike、河川水位、各縣市人口密度等範例。 - 更多 Flow & Dashboard 範例實作、展示
- 使用 Node-RED 的 Template 節點,來製作客製化的全版頁面。
- day 7 ~ am
- Open Data 整合應用範例實作:
- 臺北市河川之水位 即時資料,並以 Line Chart 定時更新顯示「某河川的水位變化狀況」。
- 臺灣 各鄉鎮市區人口密度 資料集,並以 Bar Chart 顯示「臺北市 各行政區 人口數」。
- YouBike 2.0 臺北市公共自行車 即時資訊,並以 Pie Chart 定時更新顯示「某站點之可借車、可還車數量」。
- 將 YouBike 2.0 臺北市公共自行車 所有站點的即時資訊,透過 web-worldmap 節點,展現在網頁地圖中。
- day 7 ~ pm
- 將來自 感測器 或 Open Data 的資料存入 Database 資料庫中。
- 在 Node-RED 中開發 MVC 架構的網頁應用程式。
- day 8 ~ am
- 分組專題 選題討論。
- 分組專題 製作。
- day 8 ~ pm
- 分組專題 展示。
- 討論、補充 & 回饋。
🔸 課程進度/內容 ~ 新版 (8天。2024已申報)
- 總時數: 48 小時 (8 天,每天 6 小時)
- day 1 ~ am
- 課程主題及課綱說明、使用硬體材料清單、作品展示。
- 常見的 微控制器(MCU) 及 微控板 簡介。
- 通用型輸入輸出介面(GPIO)簡介:Digital, Analog, Touch, PWM, UART, I2C, SPI 等。
- 微控板應用程式開發工具 C++ @Arduino IDE、MicroPython @Thonny、YAML @ESPHome 簡介。
- day 1 ~ pm
- 物聯網概論:通訊技術、運作概念、系統架構、應用領域、及資訊安全議題
- 物聯網常用的網路通訊協定 TCP Socket / MQTT / HTTP / CoAP 簡介,並使用 Python 實作。
- 應用 Line Notify 發送文字、照片、螢幕截圖、或即時影像 至 LINE App。
- 應用 Python Flask 框架,執行 HTTP Server 以提供 RESTful API 服務
- day 2 ~ am
- 常用的視訊串流協定 RTSP / M-JPEG 簡介,並使用 Python 實作。
- 使用手機 App 來模擬 Web Camera / USB Camera / IP Camera
- 使用 Python + OpenCV 擷取 Camera 影像 或 Media Streaming 媒體串流
- day 2 ~ pm
- 課程硬體材料發放、組裝、腳位配置說明
- 安裝 ESP32 專用的 USB 驅動程式
- 安裝 Python + ESPHome Module 以編譯 YAML 代碼、並將 Firmware 燒錄至 ESP 微控板
- 課程作品 接電實測及解說
- day 3 ~ am
- MicroPython 開發環境安裝、準備。
- 管理、執行 微控板中的 Python 程式碼。
- MicroPython IDE 整合開發環境 Thonny 簡介、安裝。
- MicroPython 基礎應用,搭配:
LED、繼電器、手觸按鍵、紅外線接近感應開關、光敏感應開關、溫濕度感測器、超音波測距模組、LED 全彩燈條、數字時鐘 LED 顯示器、紅外線發射器/接收器。
- day 3 ~ pm
- MicroPython 應用在 PWM 及 Touch 介面,包含:
PWM 呼吸燈、使用無源蜂鳴器撥放 RTTTL 旋律、Servo 伺服馬達、七彩水果燈、水果電子琴。 - MicroPython 進階應用,包含:
在 OLED 螢幕中顯示文字及圖檔、RFID / NFC 感應模組、經由 UART 與其他微控板進行資料傳輸。
- day 4 ~ am
- MicroPython 網路通訊應用程式開發:TCP Socket / MQTT / HTTP / CoAP
- MicroPython 範例實作:網路校時、發送 LINE Notify 圖文訊息。
- 在 ESP32 微控板中使用 Bluetooth (BLE) 與手機通訊
- 在 ESP32 微控板中使用 ESP-NOW 專屬協定來與其他 ESP 微控板進行無線通訊。
- MicroPython Multi-Threading 多執行緒(多工/非同步/非同線程) 應用
- day 4 ~ pm
- 擷取 Open Data 開放資料,來模擬 IoT Sensor。
- 採用 JSONPath 剖析、過濾 Open Data JSON 格式中所需的部份資料。
- 使用手機 OwnTracks App 讀取手機所在的經緯度座標,透過 MQTT 推播,並更新在 PC 端的網頁地圖上。
- 透過手機 Browser 提供的 GeoLocation API 取得手機所在座標,並更新在手機端的網頁地圖上。
- day 5 ~ am
- 安裝 Traccar Server 開源軟體,應用在 Fleet Management 車隊管理。
- 手機安裝 Traccar Client App,以回報經緯度座標至 Traccar Server。
- day 5 ~ pm
- 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 節點
- day 6 ~ am
- 在 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。
- day 6 ~ pm
- 透過 Dashboard 儀表板客製化的 UI 來與 外部系統 交換訊息
- 應用 Dashboard 儀表板的互動式表單,來查詢 Open Data / Open API、並顯示結果,如:YouBike、河川水位、各縣市人口密度等範例。
- 更多 Flow & Dashboard 範例實作、展示
- 使用 Node-RED 的 Template 節點,來製作客製化的全版頁面。
- day 7 ~ am
- Open Data 整合應用範例實作:
- 臺北市河川之水位 即時資料,並以 Line Chart 定時更新顯示「某河川的水位變化狀況」。
- 臺灣 各鄉鎮市區人口密度 資料集,並以 Bar Chart 顯示「臺北市 各行政區 人口數」。
- YouBike 2.0 臺北市公共自行車 即時資訊,並以 Pie Chart 定時更新顯示「某站點之可借車、可還車數量」。
- 將 YouBike 2.0 臺北市公共自行車 所有站點的即時資訊,透過 web-worldmap 節點,展現在網頁地圖中。
- day 7 ~ pm
- 將來自 感測器 或 Open Data 的資料存入 Database 資料庫中。
- 在 Node-RED 中開發 MVC 架構的網頁應用程式。
- day 8 ~ am
- 分組專題 選題討論。
- 分組專題 製作。
- day 8 ~ pm
- 分組專題 展示。
- 討論、補充 & 回饋。
🔹 課程進度/內容 ~ 舊版 (8天)
- 總時數: 48 小時 (8 天,每天 6 小時)
- day 1 ~ am
- 物聯網、車隊追蹤管理 實作技術簡介。
- 各式微控板、及各式感測元件簡介。
- 通用型輸入輸出介面(GPIO)簡介,如:Digital, Analog, Touch, PWM, UART, I2C, SPI 等。
- 微控板應用程式語言及開發工具簡介,含:C++ @Arduino IDE、MicroPython @Thonny、YAML @ESPHome。
- day 1 ~ pm
- 物聯網常用的網路通訊協定簡介,含:TCP Socket / MQTT / HTTP / CoAP,並使用 Python 實作。
- 應用 Line Notify 發送文字、照片、螢幕截圖、或即時影像 至 LINE App。
- 透過 Mobile App 將手機變身為 IP Camera,並使用 OpenCV 擷取 Video Streaming 媒體串流。
- day 2 ~ am
- 課程材料組裝,含:NodeMCU-32S、各類傳感器、及引腳配置。
- 安裝 Python 及 ESPHome Module 做為編譯 YAML 代碼的工具,並將 Firmware 燒錄至 ESP 微控板。
- 採用 ESPHome 製作範例腳本,進行所有元件的實測及操作。
- day 2 ~ pm
- Thonny 整合開發環境簡介。
- 管理、執行 微控板中的 MicroPython 程式碼。
- MicroPython 基礎應用程式開發,搭配:
LED、繼電器、手觸按鍵、紅外線接近感應開關、光敏感應開關、溫濕度感測器、超音波測距模組、LED 全彩燈條、數字時鐘 LED 顯示器、紅外線發射器/接收器。
- day 3 ~ am
- MicroPython 進階應用程式開發,包含:
PWM 呼吸燈、使用無源蜂鳴器撥放 RTTTL 旋律、Servo 伺服馬達、在 OLED 螢幕中顯示文字及圖檔、RFID / NFC 感應模組、經由 UART 與其他微控板進行資料傳輸。
- day 3 ~ pm
- MicroPython 網路通訊應用程式開發,包含:
TCP Socket / MQTT / HTTP / CoAP 網路通訊、網路校時、發送 LINE Notify 圖文訊息。 - 在 ESP32 微控板中使用 Bluetooth (BLE) 與手機通訊、及 ESP-NOW 專屬協定來與其他 ESP 微控板進行無線通訊。
- MicroPython 多執行緒(多線程/非同步)應用程式開發技術實作。
- day 4 ~ am
- 擷取 Open Data 開放資料,來模擬 IoT Sensor。
- 採用 JSONPath 剖析、過濾 Open Data JSON 格式中所需的部份資料。
- GPS Device Tracking 軌跡追蹤 ~ 手機 OwnTracks App 讀取經緯度座標,透過 MQTT 發送,並更新在網頁地圖上。
- day 4 ~ pm
- 安裝 Traccar Server 開源軟體,應用在 Fleet Management 車隊管理。
- 手機安裝 Traccar Client App,以回報經緯度座標至 Traccar Server。
- day 5 ~ am
- Node.js 開發工具 簡介、安裝、及 npm 套件管理。
- Node.js 後端 JavaScript 範例程式實作。
- 採用 http 或 https 套件來實作 Web Server 網頁服務 及 HTTP Client Rquest 網頁請求。
- day 5 ~ pm
- Node-RED 簡介、線上學習資源、執行環境安裝。
- Node-RED 基本操作,包含:
- Node ~ 各類型節點、
- Manage Palette ~ 管理擴充模組 Modules、
- Flow 流程 ~ 以視覺化的方式開發應用程式、
- day 6 ~ am
- 使用 Node-RED 內建的網路通訊 Node 節點,如:TCP, UDP, MQTT, Websocket, HTTP 等,來與外部系統交換訊息。
- 在 Node-RED 中解析 Open Data / API 回傳的特定資料格式,如:CSV, JSON, HTML。
- day 6 ~ pm
- 在 Node-RED 中使用 Dashboard 儀表板,快速產製各式表單或圖表。
- 應用 Dashboard 儀表板的互動式表單,來查詢 Open Data / Open API、並顯示結果。
- 使用 Node-RED 的 Template 節點,來製作客製化的全版頁面。
- day 7 ~ am
- Open Data 整合應用範例實作:
- 臺北市河川之水位 即時資料,並以 Line Chart 定時更新顯示「某河川的水位變化狀況」。
- 臺灣 各鄉鎮市區人口密度 資料集,並以 Bar Chart 顯示「臺北市 各行政區 人口數」。
- YouBike 2.0 臺北市公共自行車 即時資訊,並以 Pie Chart 定時更新顯示「某站點之可借車、可還車數量」。
- 將 YouBike 2.0 臺北市公共自行車 所有站點的即時資訊,透過 web-worldmap 節點,展現在網頁地圖中。
- day 7 ~ pm
- 將來自 感測器 或 Open Data 的資料存入 Database 資料庫中。
- 在 Node-RED 中開發 MVC 架構的網頁應用程式。
- day 8 ~ am
- 分組專題 選題討論。
- 分組專題 製作。
- day 8 ~ pm
- 分組專題 展示。
- 討論、補充 & 回饋。
🔹 課程進度/內容 ~ 舊版 (7天)