今天在專題上主要的進度,是把 ESP32 的設定完成,並且成功在 GCP 上建立 VM。雖然過程中有點卡關,但總算一步一步把環境弄起來,也能在 VM 上開始編輯程式,算是往前跨出重要的一步。接下來的重點,就是要讓 ESP32-CAM 拍攝到的人臉影像,能順利上傳到後端進行處理。
不過,今天也清楚感受到自己遇到的一些難點。第一個就是在 VM 裡面的操作還不太熟悉,像是怎麼用 nano
編輯檔案、程式要放在哪個資料夾、網路跟防火牆怎麼設,這些細節對我來說都還需要再多花時間去摸索。雖然 VM 架好了,但要讓它真正穩定運作、能被 ESP32 正確串接,還有不少細節要解決。
第二個難點是在 ESP32 和後端的串接上。理論上只要修改 ESP32 的程式,就可以把圖片傳到 VM,可是實際上會不會遇到網路延遲、API 呼叫失敗或圖片上傳不完整的情況,這些都還需要測試。畢竟專題的核心就是人臉上傳與辨識,這部分如果沒有處理好,後續的推播或廣告應用都沒辦法實現。
最後還有一個需要思考的地方,就是人臉辨識的技術選擇。目前有兩個方向,一個是用 Flask 搭配 dlib/face_recognition,在 VM 上自己跑辨識;另一個是直接用 Gemini API 把辨識交給雲端。兩種方式各有優缺點,前者成本低但效能可能有限,後者精準度高但需要付費,還要考慮延遲。專題應該要往哪個方向走,今天也花了一些時間在評估。
另外,還有一個意外遇到的問題,就是 VM 的防火牆設定。後端雖然能跑起來,但因為防火牆規則沒有設定正確,導致外部無法連線到 Flask 伺服器。最後沒想到 GCP 的「網路標籤」竟然是手動輸入「防火牆規則」的設定,最後終於可以用外網連線了。
總結來說,Day 6 算是把基礎環境搭好,算是站穩腳步的一天。但同時也開始遇到實作上的挑戰:環境設定、程式串接、技術選擇與防火牆問題,這四個面向都需要再深入。接下來幾天的目標,就是逐步解決這些問題,讓系統能真正跑起來。
今日進度 | 遇到的難點 |
---|---|
完成 ESP32 基本設定,並成功建立 GCP VM | VM 環境操作不熟悉:對 Linux 指令與檔案管理還不順手,像 nano 編輯檔案、放置資料夾與設定流程需要更多練習 |
開始能在 VM 上編輯程式,準備後端 Flask 伺服器 | ESP32 與後端串接不確定性:可能遇到 API 呼叫失敗、圖片傳輸不完整或延遲,影響專題核心功能 |
評估人臉辨識技術:Flask + dlib/face_recognition 與 Gemini API | 人臉辨識技術取捨:本地辨識成本低但效能有限,雲端 API 準確度高但有延遲與成本,需平衡選擇 |
VM 已能執行程式,但尚未對外提供服務 | VM 防火牆設定困難:因防火牆規則未正確開啟,外部無法連線 Flask,需要理解 GCP 網路標籤與規則設定 |