關於窮鬼冰箱 beggarFridge 的功能,首要的功能要先能記錄食材,於是前一回初步規劃了架構也裝好硬體和資料庫等開發環境了。 這篇會從 API 的設計切入。
ESP32
│
│ POST /api/photos
▼
┌─────────────────────┐
│ FastAPI │ ← 對外接口
├─────────────────────┤
│ Python Logic │
├─────────────────────┤
│ SQLite │
└─────────────────────┘
FastAPI
│
├── REST API
│
Uvicorn
│
├── HTTP Server
│
Requests
│
├── ESP32 / Web API
│
Pillow
│
└── Image processing
列出 ESP32 拍照完,傳相片到樹莓派的架構圖
Wi-Fi LAN
│
┌────────────────┴────────────────┐
│ │
ESP32-S3-CAM Raspberry Pi 3
172.16.71.51 │
│ │
SR602 │
│ │
▼ │
Motion >= 3 sec │
│ │
▼ │
OV3660 │
│ │
▼ │
JPEG │
│ │
├──→ microSD │
│ /photos/ │
│ │
└──── HTTP POST ─────────────────▶│
│
FastAPI :8000
│
▼
/api/photos
│
▼
photos/