iT邦幫忙

2025 iThome 鐵人賽

DAY 29
0
自我挑戰組

第一次團體專題系列 第 29

Day 29 : ESP32-CAM 讓相機幫你看植物臉色

  • 分享至 

  • xImage
  •  

今天我們要給植物一雙「眼睛」。
ESP32-CAM 不只是攝影機,還能成為 AI 的資料來源。


💡 原理

我們讓 ESP32-CAM 拍下植物照片,上傳到 Flask 伺服器。
伺服器用 OpenCV 分析葉片顏色。
綠色比例下降時,就代表植物缺水或生病。


📸 拍照上傳程式

HTTPClient http;
camera_fb_t *fb = esp_camera_fb_get();
http.begin("http://yourserver/upload");
http.addHeader("Content-Type", "image/jpeg");
int code = http.POST(fb->buf, fb->len);
Serial.println(code == 200 ? "✅ 上傳成功" : "❌ 上傳失敗");
esp_camera_fb_return(fb);
http.end();

🧠 Flask + OpenCV 判斷

@app.route('/upload', methods=['POST'])
def upload():
    file = request.data
    img = cv2.imdecode(np.frombuffer(file, np.uint8), cv2.IMREAD_COLOR)
    hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
    mask = cv2.inRange(hsv, (25, 40, 40), (70, 255, 255))
    green_ratio = cv2.countNonZero(mask) / (img.size / 3)
    return "Dry" if green_ratio < 0.5 else "OK"

🌿 意義

這樣 ESP32-CAM 就能「看懂植物表情」:
葉子變黃 → 缺水
顏色黯淡 → 缺光
綠意滿滿 → 狀態良好!


上一篇
Day 28 : ESP32-CAM 給植物一杯水 用繼電器控制水幫浦
下一篇
Day 30 : ESP32-CAM 整合大作戰!全自動澆水系統
系列文
第一次團體專題30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言