open:mol:iot

這是本文件的舊版!


勞動部勞發署 產業人才投資方案 ~ 委辦職訓課程規劃草案

微控板、物聯網、車隊管理 整合平臺應用實務班



 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. 職能級別:

  • :?:


  • 學歷:高中/職(含)以上
  • 資格條件:
    1. 具備電腦基本操作能力。
    2. 對 Python、JavaScript、或 C++ 等,任一程式語言稍具概念者。
    3. 對 微控板、各類感測裝置、物聯網通訊協定、物聯網整合平臺、人員定位追踨、車隊管理平臺 等,任一主題有興趣者。




  • 總時數: 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、河川水位、各縣市人口密度等範例。
      • 定時讀取 Open Data / Open API 以繪製圖表: :?:
        1. 臺北市河川之水位 即時資料,並以 Line Chart 定時更新顯示「某河川的水位變化狀況」。
        2. 臺灣 各鄉鎮市區人口密度 資料集,並以 Bar Chart 顯示「臺北市 各行政區 人口數」。
        3. YouBike 2.0 臺北市公共自行車 即時資訊,並以 Pie Chart 定時更新顯示「某站點之可借車、可還車數量」。
        4. 將 YouBike 2.0 臺北市公共自行車 所有站點的即時資訊,透過 web-worldmap 節點,展現在網頁地圖中。
      • 更多 Flow & Dashboard 範例實作、展示
      • 使用 Node-RED 的 Template 節點,來製作客製化的全版頁面。


    • day 7 ~ am
      • 在 Node-RED 與 ESP32 微控板 之間,透過 MQTT 來交換訊息


    • day 7 ~ pm
      • 將來自 感測器 或 Open Data 的資料存入 Database 資料庫中。
      • 在 Node-RED 中開發 MVC 架構的網頁應用程式。


    • day 8 ~ am
      • 分組專題 選題討論。
      • 分組專題 製作。


    • day 8 ~ pm
      • 分組專題 展示。
      • 討論、補充 & 回饋。


  • 總時數: 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 整合應用範例實作:
        1. 臺北市河川之水位 即時資料,並以 Line Chart 定時更新顯示「某河川的水位變化狀況」。
        2. 臺灣 各鄉鎮市區人口密度 資料集,並以 Bar Chart 顯示「臺北市 各行政區 人口數」。
        3. YouBike 2.0 臺北市公共自行車 即時資訊,並以 Pie Chart 定時更新顯示「某站點之可借車、可還車數量」。
        4. 將 YouBike 2.0 臺北市公共自行車 所有站點的即時資訊,透過 web-worldmap 節點,展現在網頁地圖中。


    • day 7 ~ pm
      • 將來自 感測器 或 Open Data 的資料存入 Database 資料庫中。
      • 在 Node-RED 中開發 MVC 架構的網頁應用程式。


    • day 8 ~ am
      • 分組專題 選題討論。
      • 分組專題 製作。


    • day 8 ~ pm
      • 分組專題 展示。
      • 討論、補充 & 回饋。
  • 總時數: 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 基本操作,包含:
        1. Node ~ 各類型節點、
        2. Manage Palette ~ 管理擴充模組 Modules、
        3. 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 整合應用範例實作:
        1. 臺北市河川之水位 即時資料,並以 Line Chart 定時更新顯示「某河川的水位變化狀況」。
        2. 臺灣 各鄉鎮市區人口密度 資料集,並以 Bar Chart 顯示「臺北市 各行政區 人口數」。
        3. YouBike 2.0 臺北市公共自行車 即時資訊,並以 Pie Chart 定時更新顯示「某站點之可借車、可還車數量」。
        4. 將 YouBike 2.0 臺北市公共自行車 所有站點的即時資訊,透過 web-worldmap 節點,展現在網頁地圖中。


    • day 7 ~ pm
      • 將來自 感測器 或 Open Data 的資料存入 Database 資料庫中。
      • 在 Node-RED 中開發 MVC 架構的網頁應用程式。


    • day 8 ~ am
      • 分組專題 選題討論。
      • 分組專題 製作。


    • day 8 ~ pm
      • 分組專題 展示。
      • 討論、補充 & 回饋。



  • open/mol/iot.1718187187.txt.gz
  • 上一次變更: 2024/06/12 18:13
  • wenchin