Raspberry Pi • Thermal Imaging • FLIR • Drone • Computer Vision
AeroTherm: สร้างโดรน Thermal อัตโนมัติด้วย Raspberry Pi และ FLIR Lepton 3.5
เวลาเปิด Thermal Camera เรามักมองว่าส่วนที่สว่างที่สุดคือจุดที่ร้อนที่สุด ซึ่งใช้ดูภาพด้วยตาได้ดี แต่ถ้าจะให้ Drone ตัดสินใจเองว่า “จุดนี้ร้อนผิดปกติหรือยัง?” การอิงแค่สีหรือความสว่างของ Heatmap อาจไม่ใช่วิธีที่เหมาะที่สุด
AeroTherm เลือกใช้วิธีอีกแบบ: ดึงข้อมูล Radiometric จาก FLIR Lepton 3.5 แล้วให้ Raspberry Pi 3 Model A+ วิเคราะห์ค่า Temperature ของ Pixel โดยตรง แทนการตามหาจุดที่ดูสว่างที่สุดในภาพ
เมื่ออุณหภูมิผ่าน Threshold ที่ผู้พัฒนากำหนด ระบบสามารถจัดระดับความร้อน, วาด Bounding Box, แสดง Temperature และบันทึก Frame ลง SD Card แบบ Headless ขณะที่ Pixhawk 6C ดูแลภารกิจการบินแยกออกไปอีกระบบ
- AeroTherm ใช้ Pixhawk 6C ดูแล Flight Autonomy และ Raspberry Pi 3 A+ ดูแล Thermal Processing
- Thermal Sensor คือ FLIR Radiometric Lepton 3.5 ผ่าน PureThermal VoSPI Breakout
- ระบบใช้ค่า Radiometric Temperature แทนการ Trigger จากความสว่างของ Thermal Heatmap
- Source ระบุ Raw Thermal Array ขนาด 160×120 และ Output Frame ขนาด 640×480
- Thermal Pipeline รันแบบ Headless ที่ผู้สร้างรายงานประมาณ 26 Hz
- Threshold ตัวอย่างแบ่งเป็น Elevated 30–50°C, Warning 50–75°C และ Critical ตั้งแต่ 75°C ขึ้นไป
- Bench Test ที่ Source รายงานพบ Target 36.2°C และ 61.4°C ใน Frame เดียวกัน
- Use Case อย่าง SAR, Fire Hotspot และ Solar Inspection เป็นแนวทางที่ผู้สร้างเสนอ ไม่ใช่ Field Benchmark ที่ยืนยันแล้ว
- Project มี STL/3MF หลายชิ้น รวมถึง Case และ Mount สำหรับ Payload
- Source ไม่ได้ให้ Flight Time, Detection Range หรือ Accuracy จึงไม่ควรสร้างค่าขึ้นเอง
AeroTherm คืออะไร?
AeroTherm เป็น Advanced DIY Project ที่รวม Drone Flight Platform เข้ากับ Raspberry Pi และ Radiometric Thermal Camera เพื่อค้นหา Thermal Anomaly แบบอัตโนมัติ
จุดที่ผู้สร้างพยายามแก้ไม่ใช่แค่ “เอากล้อง Thermal ขึ้น Drone” แต่คือทำให้ระบบตัดสินใจเองได้ว่า Frame ไหนมี Temperature ที่เข้าเงื่อนไข โดยไม่ต้องมี Operator คอยดู Live Video และกด Capture ทุกครั้ง
Pixhawk 6C ดูแล Flight Dynamics
ส่ง Radiometric Array ไปยัง Compute Payload
เทียบกับ Threshold ที่ Developer กำหนด
บันทึก Frame เมื่อตรวจพบ Thermal Anomaly
ทำไม “Pixel สว่างสุด” ถึงใช้หา Hotspot ไม่ได้เสมอไป?
Thermal Image ที่เราเห็นบนจอ มักผ่านการ Scale สีหรือ Brightness เพื่อให้มนุษย์ดูความแตกต่างของอุณหภูมิได้ง่าย
ปัญหาคือเมื่อมี Object ที่ร้อนกว่า เข้ามาใน Frame การแสดงผลอาจปรับช่วงใหม่ ทำให้ Object เดิมที่เคยดูขาวหรือสว่างมาก กลายเป็นสีเข้มขึ้นได้ ทั้งที่ Temperature จริงของมันไม่ได้เปลี่ยน
Architecture นี้จึงไม่ใช้ Visual Brightness เป็น Threshold หลัก แต่พยายามทำ Detection จาก Radiometric Temperature Data ของ Sensor โดยตรง
Radiometric Thermal ต่างจาก Heatmap ทั่วไปยังไง?
Source ระบุว่า FLIR Lepton 3.5 ไม่ได้ส่งเพียงภาพสีร้อน-เย็น แต่ให้ 16-bit Array ที่มีข้อมูล Radiometric Temperature ของแต่ละ Pixel
ผู้สร้างอธิบายข้อมูลดังกล่าว ในหน่วย centi-Kelvin ก่อนนำไปแปลงเป็น Celsius Matrix สำหรับ Logic ตรวจจับ
Flight Autonomy กับ Thermal Payload แยกกันยังไง?
AeroTherm แยก Autonomy ออกเป็นสอง Layer เพื่อไม่ให้ Computer Vision และ Flight Control พึ่ง Process เดียวกันทั้งหมด
| Layer | Hardware | หน้าที่ตาม Source |
|---|---|---|
| Flight Autonomy | Pixhawk 6C | ควบคุมการบิน, GPS Waypoint Mission, Grid Sweep และ Altitude Hold |
| Position | Holybro DroneCAN M8N GPS | GPS Navigation และ Geospatial Logging |
| Altitude Support | TF-Luna LiDAR | ช่วย Precision Altitude Holding ตาม Architecture ของผู้สร้าง |
| Compute Payload | Raspberry Pi 3 A+ | รัน Thermal Pipeline แบบ Headless |
| Thermal Sensor | FLIR Lepton 3.5 + PureThermal | ส่ง Radiometric Thermal Data ให้ Pi |
Hardware Platform มีอะไรบ้าง?
| หมวด | Hardware จาก Source |
|---|---|
| Frame | Mark 4 7-inch, Wheelbase 295 mm, Carbon Fiber Arm 5 mm |
| Motors | iFlight XING 2806.5 1800KV ×4 |
| Flight Controller | Holybro Pixhawk 6C |
| ESC | Tekko32 45A |
| Battery | Teranty 5200mAh 60C LiPo |
| Payload Power | Matek 12S BEC Step-Down สำหรับจ่าย 5V Payload |
| Compute | Raspberry Pi 3 Model A+ |
| Thermal Sensor | FLIR Radiometric Lepton 3.5 + PureThermal VoSPI Breakout |
| LiDAR | TF-Luna |
| GPS | Holybro DroneCAN M8N GPS |
| RC | RadioMaster Zorro ELRS |
| Receiver | RadioMaster ELRS-RP3-V2 |
Source ระบุ All-Up Weight ของระบบ: 1588 g
ผู้สร้างจึงบอกตรง ๆ ว่า Project นี้ไม่ได้อยู่ในแนว Sub-250g เพราะ Payload มีทั้ง Linux Compute Node, Thermal Sensor, GPS และ LiDAR รวมอยู่บน Platform เดียว
Thermal Pipeline ทำงานยังไง?
Core Logic อยู่ใน Python Service ที่ผู้สร้างเรียกว่า: thermal_node.py
Pipeline ไม่ต้องมี Desktop UI เปิดค้าง แต่ทำงานแบบ Headless Background Service บน Raspberry Pi
FLIR Lepton ส่ง 16-bit Radiometric Array
แปลงข้อมูล Radiometric เป็นค่า Celsius สำหรับ Logic ตรวจจับ
แยก Pixel ที่เข้าเงื่อนไขตามช่วง Temperature
จัดระดับ Elevated / Warning / Critical
Raw 160×120 → Output 640×480 ตาม Source
วาด Bounding Box, แสดง Temperature และบันทึก Frame ลง SD Card
THRESHOLD_CONFIG: เปลี่ยน Temperature เป็น Severity ยังไง?
Source ให้ Code ตัวอย่างจริง ที่แบ่ง Thermal Anomaly ออกเป็น 3 ระดับ
| Label | Temperature ตาม Code | min_area |
|---|---|---|
| Elevated | 30.0 ถึงต่ำกว่า 50.0°C | 12 |
| Warning | 50.0 ถึงต่ำกว่า 75.0°C | 8 |
| Critical | ตั้งแต่ 75.0°C ขึ้นไป | 4 |
THRESHOLD_CONFIG = [
{"label": "Elevated", "min_temp": 30.0, "max_temp": 50.0, "color": COLOR_WARM, "min_area": 12},
{"label": "Warning", "min_temp": 50.0, "max_temp": 75.0, "color": COLOR_HOT, "min_area": 8},
{"label": "Critical", "min_temp": 75.0, "max_temp": float("inf"), "color": COLOR_CRITICAL, "min_area": 4},
]
26 Hz Headless Processing หมายถึงอะไร?
ผู้สร้างเลือก Raspberry Pi 3 Model A+ เพราะต้องการลดน้ำหนักเมื่อเทียบกับ Board ที่ใหญ่กว่า ขณะยังมี Compute เพียงพอ สำหรับ Thermal Processing ที่ Source รายงานประมาณ:
26 Hz
Pipeline ทำงานอยู่เบื้องหลัง ไม่ต้องให้ Operator เปิด Video Window หรือกด Capture เองทุกครั้ง
FLIR Lepton ค้าง VoSPI ได้อย่างไร และ Software รับมือยังไง?
Creator Journey ของ AeroTherm ไม่ได้มีแค่ Detection Logic เพราะ Source ยังพูดถึงปัญหา Hardware Sync ระหว่าง Software กับ Lepton
ผู้สร้างระบุว่า Lepton 3.5 สามารถเกิดปัญหากับ SPI / VoSPI หาก Script จบแบบไม่ปกติ จนบางครั้งอาจต้อง Hard Reboot ระบบ
ทางแก้ที่ใช้ใน Project คือ:
- Threaded Capture Class
tryexceptfinally- Release VoSPI File Descriptor เมื่อ Process จบ
Bench Validation: ระบบแยก 36.2°C กับ 61.4°C ได้ใน Frame เดียว
ผล Validation ที่ผู้สร้างรายงานคือ:
- 36.2°C → Elevated
- 61.4°C → Warning
พร้อมกับไม่เลือก Ambient Background ที่ไม่ได้เข้า Threshold
SAR, Fire Hotspot และ Solar Inspection ใช้ได้แค่ไหน?
ผู้สร้างเสนอ Architecture นี้ สำหรับ Use Case หลายแบบ แต่ต้องแยกคำว่า “รองรับแนวคิด” ออกจาก “ผ่าน Field Validation แล้ว”
Search and Rescue
Source ยกตัวอย่างการหา Human Heat Signature เป็นหนึ่งในงานที่ Radiometric Threshold สามารถนำไปประยุกต์ต่อได้
Wildland Fire
อีก Use Case ที่ผู้สร้างกล่าวถึงคือ การหา Holdover Hotspot ระหว่างงานตรวจพื้นที่หลังไฟไหม้
Industrial / Solar Inspection
Source ยังเสนอการบินตรวจ Solar Farm หรือ Power Substation เพื่อค้นหา Hardware ที่มี Thermal Anomaly
Safety ก่อน Bench Test และบินจริง
- แยก Bench Test ของ Raspberry Pi / Thermal Payload ออกจาก Propulsion เมื่อทำได้
- ระวัง Propeller และ Motor ที่สามารถสร้างแรงได้สูง
- ตรวจ Power Distribution และ Connector ก่อนจ่ายไฟ
- ไม่ดัดแปลง BEC / ESC Wiring จากการเดา หาก Source ไม่ได้ระบุ
- Autonomous Flight ควรทดสอบในพื้นที่ที่ควบคุมความเสี่ยงได้
- ตรวจข้อกำหนดการบิน Drone ของพื้นที่ใช้งานจริงก่อนบิน
บทความนี้ไม่ได้สร้าง Flight Controller Parameter, Motor Wiring, ESC Configuration หรือ Autonomous Mission Setup เพิ่มเติม เพราะ Source รอบนี้ไม่ได้ให้ข้อมูลครบ
3D Printed Parts มีอะไรบ้าง?
Source มีทั้งไฟล์ STL และ 3MF สำหรับ Custom Parts หลายรายการ
Code, Schematic และ Pinout ที่ Source ให้มา
นอกจาก Custom Parts Source ยังให้ไฟล์สำหรับศึกษาระบบ ทั้ง Power, Compute Payload และ Flight Dynamics
สิ่งที่เรียนรู้จาก AeroTherm
1. แยก Flight Control ออกจาก Application Compute
การให้ Pixhawk ดูแลการบิน และให้ Raspberry Pi ทำ Thermal Processing ทำให้แต่ละระบบรับผิดชอบงานคนละประเภทชัดเจน
2. Data ที่เหมาะกับ Algorithm สำคัญกว่าภาพที่ดูสวย
Thermal Heatmap เหมาะกับคนดู แต่ Radiometric Data เหมาะกว่าเมื่อ Logic ต้องตัดสินด้วยค่า Temperature ตาม Threshold
3. Edge Processing ลดการพึ่ง Operator
Payload สามารถรัน Headless ตรวจ Thermal Anomaly และ Capture Frame เอง โดยไม่ต้องรอคนกดปุ่มทุกครั้ง
4. Hardware Interface Recovery ก็เป็นส่วนหนึ่งของ Reliability
การ Handle VoSPI Descriptor ผ่าน Cleanup Logic แสดงให้เห็นว่าระบบภาคสนาม ต้องคิดถึงกรณี Process Crash ไม่ใช่เฉพาะ Happy Path
โปรเจกต์นี้มีหลายขั้น แนะนำอ่านต้นฉบับควบคู่กัน
AeroTherm รวม Flight Controller, LiDAR, GPS, Raspberry Pi, FLIR Lepton, Python Processing, LiPo Power และ Custom 3D Parts ไว้ในระบบเดียว หากต้องการสร้างจริงควรอ่าน Source ต้นฉบับ และตรวจ Hardware Documentation ของแต่ละอุปกรณ์เพิ่มเติม
FAQ: คำถามที่พบบ่อย
1. AeroTherm คืออะไร?
เป็นโดรน Thermal แบบ Prototype ที่ใช้ Pixhawk ดูแลการบิน และ Raspberry Pi + FLIR Lepton 3.5 วิเคราะห์ Radiometric Thermal Data แบบ Headless
2. ใช้ Raspberry Pi รุ่นไหน?
Source ระบุ Raspberry Pi 3 Model A+ เป็น Compute Payload
3. ใช้กล้อง Thermal รุ่นอะไร?
ใช้ FLIR Radiometric Lepton 3.5 บน PureThermal VoSPI Breakout Board
4. Radiometric Thermal คืออะไรใน Project นี้?
คือการใช้ข้อมูล Temperature ของแต่ละ Pixel จาก Sensor แทนการตัดสินจาก Brightness หรือสีของ Thermal Heatmap เพียงอย่างเดียว
5. ทำไมไม่ใช้ Pixel ที่สว่างที่สุดหา Hotspot?
Source อธิบายว่า Automatic Gain สามารถเปลี่ยน Visual Baseline ของ Thermal Image ได้ เมื่อมี Object ที่ร้อนกว่าหรือเย็นกว่าเข้ามาใน Frame
6. Raw Thermal Array มีขนาดเท่าไร?
Source ระบุ 160×120 และ Map ไปยัง Output Frame 640×480 ใน Pipeline
7. Processing ทำงานเร็วแค่ไหน?
ผู้สร้างรายงานประมาณ 26 Hz แต่ Source ไม่ได้ให้ Benchmark Method เพิ่มเติม
8. Pixhawk กับ Raspberry Pi แบ่งงานกันยังไง?
Pixhawk 6C ดูแล Flight Autonomy ส่วน Raspberry Pi 3 A+ ทำ Thermal Processing และ Detection
9. TF-Luna LiDAR ใช้ทำอะไร?
Source ระบุว่าใช้สนับสนุน Precision Altitude Holding ใน Flight Architecture
10. GPS ใช้ทำอะไร?
ใช้กับ GPS Waypoint Mission และ Geospatial Logging ตามที่ผู้สร้างอธิบาย
11. AeroTherm หนักเท่าไร?
Source ระบุ All-Up Weight 1588 g
12. ใช้ Motor รุ่นไหน?
ใช้ iFlight XING 2806.5 1800KV จำนวน 4 ตัว
13. ใช้ Battery อะไร?
Source ระบุ Teranty 5200mAh 60C LiPo แต่ไม่ได้ให้ Flight Time
14. Threshold 30 / 50 / 75°C ใช้กับทุกงานได้ไหม?
ไม่ ค่าเหล่านี้เป็น Developer-defined Configuration ใน Code ตัวอย่างของ Project ไม่ใช่มาตรฐานสำหรับทุก Thermal Application
15. ตรวจคนในป่าได้ไกลแค่ไหน?
Source ไม่ได้ระบุ Human Detection Range หรือผล Field Test ที่ยืนยันระยะดังกล่าว
16. ใช้ตรวจ Solar Panel ได้แม่นแค่ไหน?
Source เสนอ Solar Farm Inspection เป็น Use Case แต่ไม่ได้ให้ Detection Accuracy, Inspection Altitude หรือ Field Benchmark
17. มีไฟล์ 3D Print ไหม?
มีทั้ง STL และ 3MF สำหรับ Mount, Case, Holder และชิ้นส่วนประกอบหลายรายการ
18. Source ให้ Print Settings ไหม?
Source รอบนี้ไม่ได้ระบุ Layer Height, Infill, Nozzle, Support, Material หรือ Print Temperature สำหรับไฟล์ทั้งหมดที่แนบมา
19. มี Source Code ไหม?
มี Hackster ให้ Code Download และบทความต้นฉบับมีตัวอย่าง THRESHOLD_CONFIG ของ Thermal Pipeline
20. พร้อมเอาไปบิน Autonomous ได้เลยไหม?
Source อธิบาย Architecture และ Capability ของ Prototype แต่ไม่ได้ให้ Flight Controller Parameters, Mission Configuration, Regulatory Setup หรือ Safety Procedure ครบสำหรับการนำไปบินทันที
References / แหล่งข้อมูลต้นฉบับ
Thermal Project ที่ดี เริ่มจากเลือก Data ให้ตรงกับสิ่งที่ต้องตัดสินใจ
AeroTherm เป็นตัวอย่างที่น่าสนใจของการเอา Raspberry Pi ไปทำ Edge Processing บน Drone: แยก Flight Control ออกจาก Compute Payload, ใช้ Radiometric Data แทน Visual Brightness และให้ระบบ Capture Event อัตโนมัติเมื่อเข้าเงื่อนไข
หากกำลังทำ Raspberry Pi, Sensor, Thermal, LiDAR, Computer Vision หรือ Embedded Project สามารถสอบถามทีม Globalbyte เรื่องบอร์ดหรืออุปกรณ์ที่เหมาะกับ Project ได้
และหากมีไฟล์ STL / 3MF สำหรับ Case หรือ Mount อยู่แล้ว สามารถส่งไฟล์ให้ทีม Globalbyte ช่วยประเมินบริการพิมพ์ 3D ได้