這是本文件的舊版!

謝文欽
wenchin34@gmail.com
學經歷
- 台北市電器商業同業公會 – 勞動部委辦職訓課程講師 (2023~now)
- 國立臺北商業大學 資訊管理系 – 兼任講師 (2022~now)
- 銘傳大學 產學暨推廣處 – 勞動部委辦職訓課程講師 (2021~now)
- 勞動部勞發署 北分署 物聯網創客基地 – 工作坊課程講師 (2020~now)
- 龜毛工坊 個人工作室 (2019~now)
- 亞太電信 – 資訊中心加值服務系統部經理 (2001~2019)
- 華允電訊 – 系統整合部經理 (1998~2000)
- 台灣微軟 – 研究開發處測試工程師 (1997~1998)
- 樺舍文化事業 – 系統設計師 (1992~1996,兼職)
- 海軍通信電子學校 – 資訊組教官 (1993~1995)
- 淡江大學 – 資訊工程研究所 (1991~1993)
- 東吳大學 – 財務工程與精算數學系(原 商用數學系) (1986~1991)
專業技能
🔹 理論(學科)
- 資料結構、演算法、編譯程式、作業系統
- 系統分析、系統設計、UML 架構導向軟體工程
- 資料庫管理系統
- IoT / AIoT、電腦視覺、互動設計
🔹 實務(整合應用開發)
- 前端網頁互動: HTML5 (JavaScript)
- 後端系統整合: Node.js, Python, PHP, C/C++, Java
- SQL / NoSQL 資料庫系統: MySQL, MariaDB, PostgreSQL, MSSQL, Oracle, MongoDB
- IoT 物聯網、MCU 微控板、單板電腦: Arduino, ESP32/ESP8266, micro:bit, Raspberry Pi, NVIDIA Jetson Nano
- Smart Home 智慧家居 與 IoT 物聯網 整合平臺: Home Assistant + ESPHome, Node-RED, ThingsBoard
- Open Data 政府開放資料: 交通、氣象、其他…
- 電子地圖、移動軌跡記錄、車隊管理: Google Map, OpenStreetMap, OpenLayers, TracCar
🔹 參賽獲獎
- 全國中小學科學展覽會 第25屆 高中組 數學科 第一名 (1985)
主題: 電腦擬智化的實例探討及其數學分析
並獲推派參加 ISEF (International Science and Engineering Fair) 國際科技展覽會
作品集
🔹 商業應用
- 公司形象網站 – https://www.honyih.com/
單頁式應用 (Single Page Application) – https://www.honyih.com/archivetax.shtml
🔹 教學應用
- 最後一個甜甜圈不要拿 1) – http://donut.goomo.net/
- 網頁版 測速照相預警器 2) – https://www.goomo.net/speedTTS/
- MQTT over WebSocket – https://www.goomo.net/mqttWS/
講授課程
🔸 大專 資訊相關學科
- UML 物件導向系統分析與設計
- 資料庫管理系統 (MariaDB & MongoDB)
- 資料庫及網頁應用程式開發 (MariaDB + Python Django)
- 網頁與多媒體製作
- 行動應用程式設計 (Dart + Flutter)
- 物聯網應用 (MicroPython, TracCar, Node-RED)
- 互動設計 (PyGame & Unity)
- 計算機概論
🔸 勞動部 委辦職訓課程
- 產業人才投資方案 ~ 智慧家居與物聯網整合應用實務班
- 產業新尖兵試辦計畫 ~ AIoT智慧物聯網程式設計及技術應用實務班
🔸 物聯網創客基地 工作坊課程
- 以 Home Assistant 為基之物聯網智慧家庭整合
- 車牌辨識之自動化停車場管理
- AI 人臉刷卡及門禁管理
- 建構 AIoT 體感遙控機器手臂裝置
- 3D 姿態辨識應用在遠端操控虛擬人偶及機電平台
- 當 Open Data 遇到 OpenStreetMap
- 自製 網頁版 測速照相預警器
- Maker自造自售 ~ 應用 WordPress 建置網路商城系統
- 應用開源套件 DokuWiki,打造雲端社群協作平台
課程主題規劃
🟠 程式設計
🔹 Python 程式設計
- Python 入門 ~ 開發工具、變數、基本資料型態、流程控制、語法結構
- Python 資料存取與轉換 ~ List、Tuple、Set 集合、Dictionary 字典、及 JSON 轉換、檔案存取
- Python 結構化程式設計 ~ Function 函式、Module 模組、Package 套件之應用
- Pyhton 物件導向程式設計 ~ 資料結構、Class 類別、實例、封裝、繼承、多型
- Python 進階語法 ~ Iterator、Generator、Lambda、Decorator、Closure、RegEx
- Pyhton 資料科學基礎 ~ NumPy 數值處理、Pandas 資料分析、MatPlotLib 資料圖表繪製、Folium 資料視覺化於地圖上
- Pyhton 外部資料擷取 ~ 網頁爬蟲 Web Scrapter 與開放資料 Open Data 應用
- Pyhton 程式設計的發想與構思 ~ 以文字介面遊戲設計為例
- Pyhton 應用在 GUI 圖形介面 ~ 以 Tkinter 框架為例
- Python 提供 RESTful API / Web Services 服務 ~ 以 Flask 輕量級網頁框架為例
- Pyhton 電腦視覺互動程式設計 ~ 結合 OpenCV、MediaPipe 開發 PyGame 圖形介面遊戲
🔹 SQL 資料庫 與 Python 網頁整合應用系統實作
【SQL】
- Relational Database 關聯式資料庫 簡介
- MariaDB / MySQL Server 開發環境準備
- 採用 範例資料庫 實作 SQL 語法
- 應用 SQL 分析 WHO COVID-19 Open Data
- 專題: 匯入 Open Data 至 SQL Database 進行正規化 及 資料分析統計
【Python】
- 應用 Python + PyMySQL 存取 MariaDB / MySQL 資料庫
- 應用 Python + Flask 輕量級網頁框架 提供 RESTful API / Web Services 服務
- Python Django 全端網頁應用框架 簡介
- Python Django MTV (Model–Template–View) Pattern 架構模式
- Object-Relational Mapper (ORM) 物件關聯對映
- Python Django 應用程式開發:
- 表單 Forms 資料的傳送與接收
- 資料新增、刪除和修改
- Cookies 與 Sessions
- Authentication 使用者管理
- 客製化後台管理
- 系統測試
- 資料庫網頁整合應用系統 範例解析
- 專題: 應用 Python Django 開發資料庫網頁整合應用系統
🔹 MongoDB 文件型資料庫、MQL 查詢語言、與 Python / Node.js 整合應用
- NoSQL 非關聯式資料庫、及 MongoDB 簡介
- MongoDB Server 文件型資料庫伺服器本機安裝、及雲端 Atlas 免費額度啟用
- MongoDB Client 資料庫管理工具 ~ MongoDB Shell、MongoDB Compass、MongoDB for VS Code
- MongoDB 基本操作、MQL (MongoDB Query Language) 與 SQL 比較
- MQL 基本語法 ~ CRUD Operations 一般存取、View 檢視表
- MQL 進階語法 ~ Aggregation Operations 聚合運算、Embedding / Referencing 資料關聯
- MongoDB 效能調校 ~ Index 查詢優化、Text Search 文字檢索、Transactions 資料庫交易
- MongoDB 維運管理 ~ Access Control、Network Security、匯入/匯出/移轉/備份 工具
- MongoDB 應用實例 ~ Data Model 數據模型、Altas Sample Data
- 撰寫 Python 程式,存取 MongoDB 資料庫 ~ 使用 PyMongo 模組
- 撰寫 Node.js 程式,存取 MongoDB 資料庫 ~ 使用 mongodb 模組
🔹 HTML5 動態網頁設計
- 網頁設計初體驗 ~ 編輯、預覽、上傳雲端伺服器
- 常用 HTML 元素、影音多媒體元素、表格、及表單
- CSS 基本概念、樣式應用
- JavaScript 基本概念、物件、DOM、與事件處理
- jQuery 與 jQuery Mobile
- Bootstrap 基本概念、元件應用
- RWD 響應式網頁設計
🔹 Node.js / JavaScript 程式設計
- Node.js 與 擴充模組 開發應用
- MongoDB 文件資料庫 存取應用
- Express 輕量 Web Server 框架及 RESTful API 框架應用
- OpenLayers 網頁地圖開發套件應用
🟠 系統、網路
🔹 VM 虛擬主機 / Linux 作業系統
- VirtualBox / Hyper-V 虛擬主機管理
- Ubuntu / RedHat / Oracle Linux Server 安裝設定、基本操作
🔹 Application Server 應用伺服器
- MySQL / MarianDB / MongoDB 各式資料庫管理系統 安裝設定、基本操作
- Apache / NGINX Web Server 網頁伺服器 安裝設定、與基本應用
- Email Server 安裝設定、及 SPF/DKIM/DMARC 相關之郵件安全機制設定
- Samba Network Sharing (NetBIOS) – LINUX 與 Windows 共享 網路硬碟
- MQTT (物聯網 IoT 常用通訊協定) Server 安裝設定、基本操作
🔹 Network 網路 / Internet 連線
- TCP/IP 基本概念
- DNS Server 安裝設定
- Domain Name 域名申請 / SSL 憑證申請、及相關設定
- Firewall 常用設定
- VNC Server / X-Window 遠端 LINUX 桌面連線
🟠 AIoT 應用
🔹 IoT 物聯網 / Smart Home 智慧家居 / Open Data / 電子地圖 / 雲端服務
- Arduino IDE 微控板應用與 C++ 基礎程式設計
- 採用 Home Assistant + ESPHome 開發智慧家居與物聯網整合平台
- Open Data 開放資料 與 OpenStreetMap 開放街圖 整合應用 3)
- 在雲端記錄軌跡、在地圖上作畫 4)
- 我的夥伴們在哪裡? 5)
- 自製雲端網頁版 測速照相預警器 6)
🔹 AI / AIoT / 電腦視覺 / 3D 動畫 / AR / VR
- OpenCV 影像處理 與 電腦視覺
- 應用 OpenALPR 車牌辨識套件,開發停車場閘門自動控制系統
- AI 機器學習 基礎簡介 & Python 應用程式範例
- NVIDIA Jetson 官方 教學資源簡介 & 電腦視覺應用範例練習
- 應用 AI 人臉辨識模型架構,開發人臉打卡及門禁管理系統
- 電腦視覺 動作捕捉、解析、傳送、控制:
- 電腦視覺 智慧裝置 應用實例:
- 手勢搖控器
- 睡意/閉眼偵測器
- 跌倒偵測器
- 人流監控計數器
- AIoT 家庭號大包裝 ~ 實作 電腦視覺、機器學習、及手勢辨識,以操控 智慧家居平臺 11)
🟠 其他
- 內容管理
- 應用 DokuWiki 打造個人記事本及雲端社群協作平台
- 應用 WordPress 打造客製化的內容網站
- 網路商店
- 應用 WordPress 及 WooCommerce 打造專屬的網路商店
- 資料視覺化分析
- 以 Power BI 工具為例
- 數位履歷表製作
- 以 GitHub Pages 平臺為例
1)
實作導入 Game Tree 演算法,使電腦具備超強棋力!
2)
測速相機位置來自政府「測速執法設置點」開放資料,透過 HTML5 的 GeoLocation API 持續讀取 Browser 所支援的「位置感應器」。
行車方位、車速、與接近中的測速點距離 等資訊,將搭配 OSM 開放街圖 即時呈現在網頁上。 其中有關測速相機的即時資訊,系統還會以 TTS (Text-to-Speech) 文字轉語音的方式來提醒駕駛人注意。
行車方位、車速、與接近中的測速點距離 等資訊,將搭配 OSM 開放街圖 即時呈現在網頁上。 其中有關測速相機的即時資訊,系統還會以 TTS (Text-to-Speech) 文字轉語音的方式來提醒駕駛人注意。
3)
以 雙北公車的站牌、路線、行駛班車的位置,以及 YouBike 的站點位置、可借、可還車輛數 為例
4)
利用 MQTT、GAE、MongoDB 免費雲端平臺 記錄手機 App 回報的座標,事後再將指定時段內的移動軌跡繪製在 OSM 開放街圖上。
5)
無需下載手機 App,也不需事先取得夥伴們的同意,只需打開網頁、輸入相同的 MQTT Topic 即可分享彼此的座標,當網頁關閉時即刻停止分享。
網頁採用 GAE 雲端平臺來架設,手機座標則是透過 HTML5 的 GeoLocation API 來讀取,經由 WebSocket 連接至雲端 MQTT 主機,透過 MQTT Publish / Subscribe 達成位置資訊的分享,最後再搭配 OSM 開放街圖將夥伴們所在的位置動態的呈現在網頁上。
網頁採用 GAE 雲端平臺來架設,手機座標則是透過 HTML5 的 GeoLocation API 來讀取,經由 WebSocket 連接至雲端 MQTT 主機,透過 MQTT Publish / Subscribe 達成位置資訊的分享,最後再搭配 OSM 開放街圖將夥伴們所在的位置動態的呈現在網頁上。
6)
採用 GAE 雲端平臺架設網頁,測速相機位置來自政府「測速執法設置點」開放資料。當使用者打開手機 Browser 連入指定網址後,即可透過 HTML5 的 GeoLocation API 持續讀取 Browser 所支援的「位置感應器」。
在此同時,行車方位、車速、與接近中的測速相機距離 等資訊,也會搭配 OSM 開放街圖 即時呈現在網頁上。其中有關測速相機的即時資訊,系統還會以 TTS (Text-to-Speech) 文字轉語音的方式來提醒駕駛人注意。
在此同時,行車方位、車速、與接近中的測速相機距離 等資訊,也會搭配 OSM 開放街圖 即時呈現在網頁上。其中有關測速相機的即時資訊,系統還會以 TTS (Text-to-Speech) 文字轉語音的方式來提醒駕駛人注意。
7)
使用免費開源的 3D 動畫軟體 Blender 來建構角色模型,再搭配 Google MediaPipe AI 電腦視覺開發套件,即時捕捉演員的身體姿態、臉部表情、手勢動作,同步牽動 AR/VR 場景中指定的角色模型,或錄製成動畫腳本。
此外,還可以搭配一些好用的工具,例如: MakeHuman、SketchFab、WebXR、RADiCAL、…等等,讓整個製程更加的輕鬆順暢、更易於應用和展現。
此外,還可以搭配一些好用的工具,例如: MakeHuman、SketchFab、WebXR、RADiCAL、…等等,讓整個製程更加的輕鬆順暢、更易於應用和展現。
8)
應用 OpenPose 或 MediaPipe 套件 推估 2D 人體姿態,以操控 人偶動畫 及 實體機械手臂。
9)
採用 MediaPipe 機器學習套件、Stereo Camera 校準程序、及 OpenCV 3D Reconstruction 演算法,來建構「3D 人體姿態」數據。
換算出骨骼中各關節的角度後,再透過 WebSocket / MQTT 傳送至網頁中,並使用 Three.js 模組繪製與人體姿勢同步的 VR 3D 造型人偶。
換算出骨骼中各關節的角度後,再透過 WebSocket / MQTT 傳送至網頁中,並使用 Three.js 模組繪製與人體姿勢同步的 VR 3D 造型人偶。
10)
採用 MediaPipe 機器學習套件、Stereo Camera 校準程序、及 OpenCV 3D Reconstruction 演算法,來建構「3D 左右手手勢」數據。
推導算出兩手食指指尖的3D座標後,再透過 MQTT 傳送至 Robot Car,藉以控制 Robot Car 的前進、後退、轉向、機械手臂的高度、及夾鉗開合角度。
推導算出兩手食指指尖的3D座標後,再透過 MQTT 傳送至 Robot Car,藉以控制 Robot Car 的前進、後退、轉向、機械手臂的高度、及夾鉗開合角度。
11)
應用 Google MediaPipe 電腦視覺開發套件,對辨識出的各種手勢姿態關鍵點座標進行採樣,同時加以標記分類,再送入 AI 機器學習模型中進行訓練。
兩階段的 AI 模型處理,可讓後者的自訓模型免於處理大量的 2D 影像資料,只需專注在精簡的關鍵點相對位置即可。模型簡化使得記憶體耗用減少、運算也更有效率。
完成訓練後,系統實際運作也同樣是讓視訊串流先通過 MediaPipe 來截取手勢姿態中的關鍵點座標,再交給訓練好的 AI 模型進行推演。
當具有特定意涵的手勢被識別出來時,立即轉成指令代碼,透過 MQTT 物聯網通訊協定,傳入 Home Assistant 智慧家居平臺,藉以觸發任何自訂的反應機制,最簡單的如:開燈、關燈動作。
兩階段的 AI 模型處理,可讓後者的自訓模型免於處理大量的 2D 影像資料,只需專注在精簡的關鍵點相對位置即可。模型簡化使得記憶體耗用減少、運算也更有效率。
完成訓練後,系統實際運作也同樣是讓視訊串流先通過 MediaPipe 來截取手勢姿態中的關鍵點座標,再交給訓練好的 AI 模型進行推演。
當具有特定意涵的手勢被識別出來時,立即轉成指令代碼,透過 MQTT 物聯網通訊協定,傳入 Home Assistant 智慧家居平臺,藉以觸發任何自訂的反應機制,最簡單的如:開燈、關燈動作。