FlyBot ใช้ ESP32-S3 + 4G ทำกับดักกล้อง นับแมลงวันผลไม้ด้วย OpenCV 5
กับดักแมลงในสวนอาจดูเป็นอุปกรณ์ง่าย ๆ แต่ถ้ามีหลายสิบหรือหลายร้อยจุด การให้คนเดินไปเปิดกับดัก ถ่ายรูป และนับแมลงทีละตัว กลายเป็นงานที่กินเวลาอย่างมาก
FlyBot ทดลองเปลี่ยนกระบวนการนี้ ด้วยกล้อง ESP32-S3 + OV5640 ที่ติดตั้งอยู่ในกับดักพลังงานแสงอาทิตย์ ส่งภาพผ่าน Wi-Fi หรือ 4G ไปยังระบบ Cloud แล้วใช้ OpenCV 5 + YOLO26n ช่วยตรวจและนับแมลงวันผลไม้จากภาพ
ระบบยังมี Sentinel Agent ที่อ่านผลจาก Vision Pipeline แล้วเสนอขั้นตอนถัดไป แต่การส่งคำสั่งกลับไปยังกล้อง ยังคงต้องให้คนยืนยันก่อน จึงเป็น Human-in-the-loop System ไม่ใช่ระบบที่ปล่อย AI ตัดสินใจเองทั้งหมด
- ใช้ ESP32-S3 N16R8 และกล้อง OV5640 5MP
- เชื่อมต่อ 4G ผ่าน SIMCom A7680C LTE Cat-1
- มี GPS/BeiDou ผ่าน ATGM336H
- ใช้ LiPo 3.7V 2000mAh + TP4056/DW01 + 5V Boost
- กล้องส่งภาพผ่าน Wi-Fi หรือ 4G และสามารถ Deep Sleep ระหว่างรอบถ่ายได้
- Cloud Pipeline ใช้ OpenCV 5 + YOLO26n บน AWS Lambda
- YOLO26n test split รายงาน mAP@50 = 0.953 และ mAP@50-95 = 0.700
- Agent เสนอ Action แต่ Human ต้องยืนยันก่อนส่ง Command กลับกล้อง
- ต้นทุน Hardware ประมาณ US$39 เป็น BOM snapshot ช่วงปลายเดือนตุลาคม 2026 ไม่ใช่ราคาคงที่
- Battery Runtime และ 4G Data Usage ใน Field ยังไม่มี Measurement จริงใน Source
ทำไมการเดินนับแมลงทีละกับดักถึงเป็น Pain Point?
กับดักแมลงวันผลไม้สามารถช่วยบอกแนวโน้มของแมลงในพื้นที่ได้ แต่ถ้าข้อมูลขึ้นอยู่กับการให้คนเดินไปดูทีละจุด ความถี่ในการเก็บข้อมูลก็ถูกจำกัดด้วยเวลาและแรงงาน
FlyBot จึงไม่ได้พยายามเปลี่ยนกับดักทั้งหมด แต่เพิ่ม Camera + Connectivity เข้าไปในกับดักเดิม เพื่อให้ภาพเดินทางมาหาคน แทนที่คนต้องเดินไปหาภาพ
FlyBot ทำงานอย่างไร?
Data Flow
Trap
+ OV5640
+ S3
+ YOLO26n
Agent
Approval
หลังคนยืนยัน Action ระบบจึงส่ง Command กลับไปยัง Camera ผ่าน AWS IoT Core
Hardware ในกล้องประมาณ US$39 มีอะไรบ้าง?
BOM ของผู้สร้างประเมิน Hardware ประมาณ US$39.27 จากราคาที่ตรวจช่วงวันที่ 17, 24 และ 25 ตุลาคม 2026
| Component | หน้าที่ |
|---|---|
| ESP32-S3 N16R8 CAM | Main Controller, 16MB Flash, 8MB PSRAM |
| OV5640 5MP | กล้อง Wide-angle ปรับ Focus ได้ |
| SIMCom A7680C / TDM2309 | LTE Cat-1 / 4G |
| ATGM336H | GPS / BeiDou |
| LiPo 103450 | 3.7V, 2000mAh |
| TP4056 + DW01 | Li-ion charging + protection |
| 5V Boost Module | ยกแรงดันสำหรับ ESP32 board |
| AO3401A P-MOSFET + NPN | Switch Power ให้ 4G Modem |
| 1000µF low-ESR + 100nF | ช่วยรับ Transmit Current Peak และ Decoupling |
| 7 × 9 cm Perfboard | Prototype Assembly |
| Solar insect trap housing | ตัวกับดักและ Solar Lid |
Wiring ESP32-S3, 4G, GPS และ Power
| Function | ESP32-S3 Pin |
|---|---|
| ESP TX → A7680C RXD | GPIO41 |
| ESP RX ← A7680C TXD | GPIO42 |
| 4G Power Switch | GPIO47 |
| ESP RX ← GPS TX | GPIO14 |
| ESP TX → GPS RX | GPIO3 |
| GPS Power Switch | GPIO21 |
| Battery ADC | GPIO1 |
| Solar ADC | GPIO2 |
| ESP32 Power | 5V Pin |
Battery ADC ใช้ Divider 100k / 100k และ 100nF ลง GND ขณะที่ Solar ADC ใช้ Divider 100k / 33k ตาม Wiring ของ Project
ทำไม 4G Modem ต้องใส่ใจเรื่อง Power มากเป็นพิเศษ?
A7680C สามารถมี Transmit Current Peak ได้ประมาณ 2A ตามเอกสารของ Project ทำให้ Supply ที่ดูเหมือนเพียงพอ ในช่วง Idle อาจตกจน Modem หรือ UART ทำงานผิดปกติ ตอนส่งข้อมูลจริง
Build จึงใช้:
- สาย Power สั้นและเหมาะกับกระแส
- 1000µF low-ESR ใกล้ Modem
- 100nF Decoupling
- AO3401A P-MOSFET เป็น High-side Power Switch
Module ที่ใช้ใน Project อาจตั้งมาจากโรงงานที่ประมาณ 12V ผู้สร้างจึงปรับ Configuration และใช้ Multimeter ตรวจให้ได้ประมาณ 5.0–5.2V ก่อนเชื่อมเข้ากับ ESP32 board
Firmware ใช้ ESP-IDF 5.4 และมี Browser Flasher
Camera Firmware ใช้ ESP-IDF 5.4 และ Repository ปัจจุบันของ Project ระบุ Firmware 0.9.2 สำหรับ Wiring Default ชุดนี้
tools\build.ps1 freenove build
tools\build.ps1 freenove flash COM7
tools\build.ps1 freenove monitor COM7
Wi-Fi Setup Portal ตั้งค่ากล้องผ่าน Browser
หลัง Flash Firmware Camera มี Setup Portal สำหรับเลือก Network, กรอก Credential และเชื่อมกล้องเข้าสู่ระบบ
Local Web Console ใช้ดูภาพ ตั้งค่า และตรวจ Camera ได้
Firmware มี Local Web Console สำหรับดู Live View, Playback, Image Settings, Capture Schedule และ Storage โดยไม่ต้องแก้ Firmware ทุกครั้งที่ต้องการเปลี่ยนค่าพื้นฐาน
4G, GPS, Power และ System Monitoring อยู่ใน Console เดียวกัน
กล้องต้องถูก Claim ก่อนเชื่อมเข้ากับ FlyBot Cloud
Firmware มี Flow สำหรับ Activate / Claim Camera เพื่อผูก Device เข้ากับบัญชี ก่อนใช้ Cloud Features
กล้องส่งภาพตาม Schedule และยังรองรับ Live View
Camera สามารถ:
- ถ่ายรูปตาม Schedule
- เก็บภาพบน microSD ถ้ามี
- Upload ผ่าน HTTPS
- ใช้ Wi-Fi หรือ 4G
- Deep Sleep ระหว่างรอบถ่ายใน Battery Mode
- รับ Remote Command
- รองรับ OTA Update และ Rollback
สำหรับ Live View ระบบ FlyBot ใช้ Amazon Kinesis Video Streams WebRTC เป็นส่วนหนึ่งของ Cloud Stack
OpenCV 5 + YOLO26n นับแมลงอย่างไร?
เมื่อภาพใหม่เข้าสู่ Cloud AWS Lambda จะรัน Vision Pipeline ที่ใช้ OpenCV 5 DNN และ YOLO26n ที่ Export เป็น ONNX
Vision Pipeline ทำมากกว่าการนับ Object เพราะยังตรวจคุณภาพภาพ เช่น:
- Blur
- Glare
- Camera moved
- Hand / Person / Occlusion
- ภาพที่ Framing ไม่เหมาะกับการนับ
Sentinel Agent เสนอ Action แต่คนยังเป็นคนตัดสินใจ
Sentinel Agent อ่าน Count, Image Quality และข้อมูลประกอบ แล้วเสนอ Action เช่น:
- No action
- Capture again
- Change camera settings
- Human review
- Notify grower / propose next action
Project นี้ไม่ได้ให้ Agent ส่ง Treatment ทางการเกษตร หรือสั่งการภาคสนามเองแบบอัตโนมัติ
ผลทดสอบที่ Source รายงาน
YOLO26n Test Split
Dataset test split ที่ Source รายงานมี: 76 ภาพ และ 2,349 flies
| Metric | Result |
|---|---|
| mAP@50 | 0.953 |
| mAP@50-95 | 0.700 |
| Precision | 0.913 |
| Recall | 0.898 |
Repository ยังรายงานว่า OpenCV 5 DNN และ ONNX Runtime ให้ Detection ตรงกัน บน 20 test images และ 20 trap photos ใน parity test ที่ระบุ
Agent Review
| Expert Review | จำนวน |
|---|---|
| Correct | 43 |
| Incorrect | 6 |
| Unsure | 1 |
| Reported Score | 87.8% |
Lambda Latency
Benchmark ที่ Repository รายงาน สำหรับ Lambda arm64 2GB บน Sample Photo Pair มี Warm p50 ประมาณ: 980 ms
ตัวเลขเหล่านี้ยังไม่ได้พิสูจน์อะไร?
MAE 0.84 ไม่ใช่ YOLO26n เทียบกับคน
Source มีตัวเลข MAE 0.84 flies จาก 1,293 real photos แต่เป็น YOLOv7-tiny baseline เทียบกับ Production Model Count ไม่ใช่ YOLO26n เทียบกับ Human Ground Truth
จึงไม่ควรนำ MAE 0.84 ไปเขียนว่าเป็นความผิดพลาด เมื่อเทียบกับการนับของมนุษย์
Sticky-card Result บางส่วนเป็น Synthetic
Source มี Tiled Detection Evaluation สำหรับ Sticky Cards แต่บางชุดสร้างจาก Synthetic sticky-card data จึงยังไม่ใช่หลักฐานว่า Performance เดียวกันจะเกิดขึ้น กับ Sticky Traps จริงใน Field
Battery Life ยังไม่ใช่ผลวัดจริง
Power Budget Document มี Estimate ของ Runtime แต่ระบุเองว่า Current หลายส่วนยังไม่ได้วัด และ Main Project ก็ระบุว่า Battery Life กับ 4G Data Usage ยังไม่ถูกวัดใน Field
AWS Architecture ของ FlyBot
| AWS Service | บทบาทใน Demo Architecture |
|---|---|
| EC2 t4g.micro | FlyBot web/API |
| Amazon S3 | Photos และ Release Assets |
| AWS Lambda arm64 2GB | OpenCV 5 Vision + Agent Pipeline |
| AWS IoT Core | Camera Shadow / Command / OTA workflow |
| Kinesis Video Streams | WebRTC Live View |
| CodeBuild / ECR | Build และจัดเก็บ Lambda Container Image |
| Secrets Manager | Secrets |
| CloudWatch | Logs / Alarms |
| SAM / CloudFormation | Infrastructure deployment |
Cost ที่ Project ประเมิน
Demo Architecture ถูกประเมินไว้ประมาณ US$17 ต่อเดือน และ Lambda marginal cost ประมาณ US$0.046 ต่อ 1,000 photos ใน Configuration ที่ Project ใช้
git clone --recurse-submodules https://github.com/agrhub/flybot-aws.git
cd flybot-aws
cp deploy.env.example deploy.env
./deploy.sh
make setup
make models
make test
make replay-sample
make lambda-local
ดู FlyBot ทำงานจริง
Main Demo Video ของ FlyBot on AWS สำหรับ OpenCV AI Competition 2026
Firmware, Wiring, PDF, Model และ Source Files
ESP32-S3 Camera / Hardware
FlyBot AWS / OpenCV / Evaluation
FlyBot Web Application
FAQ: FlyBot ESP32-S3 Fruit Fly Trap Camera
1. FlyBot ใช้ ESP32 รุ่นไหน?
Camera Build ใช้ ESP32-S3 N16R8 ที่มี Flash 16MB และ PSRAM 8MB ตาม Source ของ Project
2. ใช้กล้องอะไร?
OV5640 5MP พร้อม Adjustable wide-angle lens
3. 4G Module คือรุ่นอะไร?
SIMCom A7680C / TDM2309 สำหรับ LTE Cat-1
4. ใช้กับ SIM ไทยทุกค่ายได้ไหม?
Source ไม่ได้ Verify Carrier Compatibility ในประเทศไทย และผู้สร้างเตือนให้ตรวจ LTE Bands หากใช้นอกพื้นที่ที่ Module รองรับ
5. GPS ใช้ Module อะไร?
ATGM336H สำหรับ GPS / BeiDou
6. Battery มีขนาดเท่าไร?
Source ใช้ LiPo 3.7V 2000mAh ขนาด 103450
7. Battery ใช้ได้กี่วัน?
Source ยังไม่มี Field Measurement ของ Battery Runtime ตัวเลขใน Power Budget บางส่วนเป็น Estimate
8. กล้องถ่ายตอนกลางคืนได้หรือไม่?
Camera ไม่มี IR Illumination จึงไม่เหมาะกับการคาดหวังภาพที่ใช้งานได้ ในความมืดโดยไม่มีแสงเสริม
9. Firmware Flash ผ่าน Browser ได้ไหม?
ได้ Project มี Browser Flasher ผ่าน ESP Web Tools สำหรับ Browser ที่รองรับ เช่น Chrome / Edge
10. Camera ส่งรูปผ่านอะไร?
รองรับ Wi-Fi หรือ 4G แล้ว Upload ผ่าน HTTPS ตาม Firmware และ Cloud Configuration
11. มี microSD หรือไม่?
microSD เป็น Optional Storage สำหรับเก็บ Local Copy ของภาพ
12. ใช้ AI บน ESP32-S3 เลยหรือไม่?
Vision Pipeline หลัก ของ Competition Build รัน OpenCV 5 + YOLO26n บน AWS Lambda ไม่ได้รัน Detector หลักบน ESP32-S3
13. YOLO26n แม่น 95.3% ใช่ไหม?
Source รายงาน mAP@50 = 0.953 บน test split ที่กำหนด ไม่ควรแปลตรง ๆ ว่า “แม่น 95.3% ในทุกสวน”
14. MAE 0.84 เป็นผลของ YOLO26n หรือไม่?
ไม่ ตัวเลข MAE 0.84 เป็น YOLOv7-tiny baseline เทียบกับ Production Model Count ไม่ใช่ YOLO26n เทียบกับ Human Ground Truth
15. มี Human Ground Truth สำหรับ Count หรือไม่?
Repository ระบุ Human count labels ว่ายังไม่ได้วัดใน Evaluation ชุดนี้
16. Sentinel Agent สั่งกล้องเองเลยไหม?
Agent เสนอ Action แต่ Human ต้องยืนยันก่อน Command จึงถูกส่งกลับไปยัง Camera
17. ระบบใช้ AWS อะไรบ้าง?
Demo Architecture ใช้ EC2, S3, Lambda, IoT Core, Kinesis Video Streams, CodeBuild, ECR, Secrets Manager และ CloudWatch
18. AWS เสียประมาณ US$17/เดือนเสมอไหม?
ไม่ US$17 เป็น Estimate ของ Demo Configuration ตาม Region และ Usage ของ Project ค่าใช้จ่ายจริงเปลี่ยนได้
19. มี Source Code หรือไม่?
มีแยกอย่างน้อยสาม Repository: Camera Firmware, FlyBot AWS และ FlyBot Web Application
20. ใช้กับ Sticky Trap จริงได้เลยหรือไม่?
Source มี Synthetic sticky-card evaluation บางส่วน แต่ยังไม่ควรใช้เป็นหลักฐานว่า Performance เดียวกันได้รับการยืนยัน บน Sticky Trap จริงใน Field
FlyBot เปลี่ยนกับดักธรรมดาให้กลายเป็น Remote Monitoring Node
จุดน่าสนใจของ FlyBot ไม่ได้อยู่แค่การเอา AI มานับแมลง แต่คือการเชื่อม Hardware, Connectivity, Cloud Vision, Device Management และ Human Approval เข้าด้วยกันเป็นระบบเดียว
ฝั่ง Field ใช้ Hardware ที่ค่อนข้างหาได้ง่าย: ESP32-S3, OV5640, 4G, GPS, Battery และ Solar Trap Housing
ส่วนงานที่หนักกว่า เช่น Object Detection, Image Quality Check และ Agent Reasoning ถูกย้ายไปทำบน Cloud ทำให้ Camera Node สามารถ Sleep ระหว่างรอบถ่ายได้ และยังควบคุมจากระยะไกลได้
แต่ก่อนนำไปใช้จริง ยังต้องแยกให้ชัดระหว่าง Benchmark ที่วัดแล้ว, Synthetic Evaluation, Estimate และสิ่งที่ยังไม่มี Human Ground Truth เพื่อไม่ทำให้ผลของ Prototype ถูกตีความเกินกว่าที่ Source พิสูจน์
โปรเจกต์นี้มีหลายขั้น แนะนำอ่านต้นฉบับควบคู่กัน
References / แหล่งข้อมูลต้นฉบับ
สามารถสอบถามทีม GlobalByte เรื่องบอร์ดหรืออุปกรณ์ที่เหมาะกับ Project ได้ โดยควรตรวจ Power Budget, Network Compatibility และ Deployment Environment ของระบบจริงก่อนเลือก Hardware
อยากต่อยอด ESP32-S3 Camera ไปเป็น IoT Project จริง?
FlyBot เป็นตัวอย่างของการรวม ESP32-S3, Camera, 4G, GPS, Solar, OpenCV และ Cloud Infrastructure ไว้ใน Project เดียว
สามารถสอบถามทีม Globalbyte เรื่องบอร์ดหรืออุปกรณ์ที่เหมาะกับ Project ได้