ESP32 กับระบบตรวจจับการมีอยู่ของมนุษย์ ด้วยสัญญาณ Wi-Fi (ESP-CSI)

ESP32 กับระบบตรวจจับการมีอยู่ของมนุษย์ ด้วยสัญญาณ Wi-Fi (ESP-CSI)

ESP32 กับระบบตรวจจับการมีอยู่ของมนุษย์ ด้วยสัญญาณ Wi-Fi (ESP-CSI)

ลองนึกดูสิ - มีวิธีที่จะบอกว่ามีคนอยู่ในห้องได้ โดยไม่ต้องใช้กล้อง ไม่ต้องมีเซนเซอร์พิเศษ เพียงแค่อาศัยสัญญาณ Wi-Fi ที่อยู่รอบตัวเราทุกวัน นี่คือพลังของ ESP-CSI (Channel State Information) - เทคโนโลยีที่เปิดโอกาสให้ ESP32 เห็นสิ่งที่มองไม่เห็นด้วยตาเปล่า

Things Used in This Project

Hardware Components

  • ESP32 Development Board - ไมโครคอนโทรลเลอร์หลักที่มีสัญญาณ Wi-Fi ในตัว สามารถวิเคราะห์ Channel State Information ได้
  • Router Wi-Fi 2.4GHz - สร้างสัญญาณ Wi-Fi ที่ ESP32 จะใช้ในการวิเคราะห์ (โปรดใช้ความถี่ 2.4GHz สำหรับ CSI)
  • USB Cable (Type-C หรือ Micro USB) - สำหรับโปรแกรม ESP32 และดูผลลัพธ์ผ่าน Serial Monitor
  • Antenna Wi-Fi (Optional) - เสาอากาศเพิ่มเติมเพื่อให้การรับสัญญาณดีขึ้น โดยเฉพาะในห้องที่มีกำแพงหลายชั้น
  • Power Supply - ไฟเลี้ยง ESP32 อาจใช้ USB ขนาด 5V 1A ขึ้นไป หรือถ่านไฟฉาย 9V (แนะนำใช้ USB)
  • Breadboard และสายจัมเปอร์ (Optional) - สำหรับการต่อวงจรเพิ่มเติม เช่น LED หรือเซนเซอร์อื่นๆ
ESP32 Setup with Wi-Fi Components

การตั้งค่า ESP32 พร้อมอุปกรณ์ Wi-Fi สำหรับระบบตรวจจับ CSI

Story: ต้นกำเนิด

ที่สำนักงานใหญ่ของ Espressif Systems (บริษัทผู้พัฒนา ESP32) ทีมวิศวกรและนักวิจัยได้ค้นพบว่า Wi-Fi ไม่ได้มีเพียงแค่การเชื่อมต่ออินเทอร์เน็ตเท่านั้น โลกของสัญญาณไร้สายนั้นเต็มไปด้วยข้อมูลที่ลึกลับและหนาแน่น ซึ่งเราสามารถนำมาใช้ประโยชน์ได้ในหลายวิธีที่นอกเหนือจากเดิม

Channel State Information (CSI) คือข้อมูลที่ซ่อนอยู่ลึกๆ ในทุกเฟรม Wi-Fi ที่บินมาบินไป มันบอกเราว่าสัญญาณเดินทางผ่านสภาพแวดล้อมอย่างไร หักเหไปกึ่งกลาง ดูดซับ และสะท้อนจากวัตถุต่างๆ รวมถึงตัวมนุษย์ด้วย

ด้วยการวิเคราะห์ CSI ผ่านเทคนิค Machine Learning และ Signal Processing คณะวิจัยนี้สามารถบอกได้ว่า:

  • มีคนอยู่ในห้องหรือไม่ (บางครั้งแม้ว่าห้องปิดสนิท)
  • อยู่ตรงไหนในห้องโดยประมาณ (ใน 1-2 เมตร)
  • กำลังเคลื่อนไหวหรือนั่งนิ่ง (ระบุกิจกรรมได้)
  • มีกี่คนอยู่ในห้องเดียวกัน

ผลการค้นพบนี้ได้เปิดทำให้เกิด ESP-CSI - โปรเจกต์โอเพนซอร์สที่ให้นักพัฒนารายเล็กและผู้สนใจสามารถทดลองใช้เทคโนโลยีนี้ได้ด้วยตัวเอง

Introduction: The Rise of the "Sixth Sense" for IoT

ระบบ IoT ทั่วไปที่เราใช้อยู่ในปัจจุบันใช้เซนเซอร์แบบเดิมๆ เช่น PIR (Passive Infrared) เพื่อตรวจจับการมีตัวมนุษย์ แต่เซนเซอร์เหล่านี้มีข้อจำกัดค่อนข้างมาก - ต้องมองเห็นโดยตรง ทำงานไม่ดีในที่มืดหรือในห้องที่มีแสงแดดแรง และต้องติดตั้งตรงตำแหน่งที่เหมาะสมเท่านั้น

ESP-CSI เปลี่ยนเกมส์ทั้งหมดเพราะมันใช้ประโยชน์จากสัญญาณ Wi-Fi ที่มีอยู่แล้วในบ้านหรือสำนักงานของคุณ - ไม่ต้องเซนเซอร์เพิ่มเติมที่แพง Wi-Fi สามารถผ่านผนัง ผ้า เฟอร์นิเจอร์ และสิ่งกีดขวางต่างๆ ได้ ทำให้เป็นเครื่องตรวจจับที่อ่อนไหวและเชื่อถือได้อย่างมาก

คิดว่านี่คือ "สัมผัสที่หก" สำหรับอุปกรณ์ IoT ของคุณ - ความสามารถในการรู้สึกและตอบสนองต่อสิ่งที่เกิดขึ้นรอบตัวในลักษณะที่ไม่เคยเป็นไปได้มาก่อน ระบบอาจรู้ว่า:

  • คุณกำลังนั่งที่เก้าอี้ทำงาน
  • คุณเดินเข้ามาในห้องหนึ่ง
  • คุณกำลังนอนหลับ
  • มีการเคลื่อนไหวผิดปกติในบ้าน

ทั้งหมดนี้ทำได้โดยไม่ต้องติดกล้อง ไม่ต้องใช้ไมโครโฟน และไม่ต้องรับอนุญาต - เป็นมิตรกับความเป็นส่วนตัวจริงๆ

The Theory: What Exactly is CSI?

ลองนึกถึงสัญญาณ Wi-Fi เป็นคลื่นน้ำที่ไหลออกมาจากเราเตอร์ เมื่อมันออกจากตัวเราเตอร์ มันจะเดินทางผ่านห้องและชนกับวัตถุต่างๆ - เก้าอี้ โต๊ะ ตู้ คน ผนัง และอื่นๆ คลื่นจะหักเห ดูดซับ และสะท้อนกลับมาในทิศทางต่างๆ

Channel State Information (CSI) คือการบันทึกรายละเอียดของสิ่งที่เกิดขึ้นกับคลื่นทั้งหมด - ได้รับแอมพลิจูดเท่าไหร่ (ความแรงของสัญญาณ) เฟสเปลี่ยนไปแค่ไหน (มุมของคลื่น) และใช้เวลากี่นาโนวินาที เมื่อรวมข้อมูลนี้ทั้งหมดเข้าด้วยกัน เราจะได้ "ลายนิ้วมือ" ของสภาพแวดล้อมที่ไม่ซ้ำใคร

เมื่อมีคนเดินเข้าห้อง "ลายนิ้วมือ" นี้ก็จะเปลี่ยนไปตั้งแต่ทันที สิ่งที่สำคัญที่สุดคือ ESP32 สามารถจับการเปลี่ยนแปลงนี้ได้ด้วยความแม่นยำสูง

ตัวอย่างง่ายๆ: ถ้าห้องว่างเปล่า CSI จะมีลักษณะเดียวกันตลอดเวลา (สัญญาณสะท้อนจากผนังเดิม) แต่เมื่อคุณเดินเข้าไป ตัวคุณจะบดบังและดูดซับสัญญาณบางส่วน ทำให้ CSI เปลี่ยนไปอย่างเห็นได้ชัด ESP32 จับการเปลี่ยนแปลงนี้และแจ้งให้เรารู้ว่า "มีคนเข้าห้องแล้ว"

CSI Data Visualization

ข้อมูล CSI ที่แสดงการเปลี่ยนแปลงของสัญญาณ Wi-Fi ตามเวลา

Phase 1: The "Hello World" and the Initial Frustration

เมื่อคุณเริ่มต้นครั้งแรกกับ ESP-CSI คุณจะได้รับชุดของข้อมูล CSI ที่ดูเหมือนจะสับสนและไม่มีเหตุผล นี่คือข้อมูลดิบ (raw data) - ตัวเลขเรขาคณิตที่ลึกลับ ตัวเลขเชิงซ้อน แอมพลิจูด เฟส และการกระจัดกระจาย ที่ดูเหมือนมีความหมายไม่ชัดเจน

ความท้าทายในระยะนี้ของเรา: ทำให้มันมีความหมาย? คุณจะต้องเขียนโปรแกรมบน ESP32 เพื่อรับข้อมูล CSI จากทุกเฟรม Wi-Fi และบันทึกลงไป นอกจากนี้ยังต้องเตรียมพื้นที่เก็บข้อมูลเพียงพอ (SD Card หรือคลาวด์) เพราะข้อมูลมีปริมาณค่อนข้างมาก

ขั้นตอนอย่างเรียบง่าย:

  1. โปรแกรม ESP32 ให้ทำงานเป็น "sniffer" - จับเฟรม Wi-Fi ได้ทั้งหมด
  2. เปิดใช้งาน CSI callback และรับข้อมูล CSI จากแต่ละเฟรม
  3. ส่งข้อมูลนี้ไปยังคอมพิวเตอร์ผ่าน UART (Serial) หรือเก็บไว้ในหน่วยความจำ
  4. ตรวจสอบว่าข้อมูลมีความเสถียรและหนาแน่นพอที่จะทำการวิเคราะห์
  5. ทำความเข้าใจกับการออกแบบโครงสร้างข้อมูล CSI ของ ESP-IDF

นี่คือหนึ่งในความท้าทายของ Phase 1 - มีข้อมูลจำนวนมาก แต่คุณยังไม่รู้ว่าจะทำให้มันใช้ได้จริงอย่างไร

Phase 2: It's All About Physics

ตอนนี้มาถึงส่วนที่คุณต้องเข้าใจเรื่องฟิสิกส์ของคลื่นแม่เหล็กไฟฟ้า (Electromagnetic Waves) สัญญาณ Wi-Fi นั้นทำตัวเหมือนคลื่นแสง - มันสะท้อน หักเห ดูดซับ และเมื่อมีสิ่งกีดขวาง (เช่น คน) มันจะเปลี่ยนแปลง

ในระยะนี้คุณจะเรียนรู้:

  • Multipath Effect - สัญญาณมาถึงผ่านหลายเส้นทาง (โดยตรง สะท้อนจากผนัง หักเห) และทั้งหมดนี้รวมกันใน CSI
  • Doppler Shift - เมื่อมีการเคลื่อนไหว ความถี่จะเปลี่ยน (เหมือนเสียงเครื่องบินที่โหวแวว)
  • RSSI vs CSI - RSSI (Received Signal Strength Indicator) คือเพียงกำลังสัญญาณโดยทั่วไป แต่ CSI มีรายละเอียดมากกว่านั้นมาก (เหมือนความแตกต่างระหว่างรู้ว่ามีใครอยู่ vs รู้ว่า บุคคลนั้นกำลังทำอะไร)
  • Subcarrier Information - Wi-Fi ใช้หลายความถี่พร้อมกัน (เรียกว่า subcarrier) ประมาณ 52-128 ตัวขึ้นอยู่กับเวอร์ชัน CSI จะบอกเกี่ยวกับแต่ละตัว
  • Amplitude และ Phase - ข้อมูลทั้งสองนี้รวมกันบอกเราว่าคลื่นเดินทางอย่างไร

ความหมายคือ: ถ้าคุณเข้าใจฟิสิกส์ของคลื่นอยู่แล้ว คุณก็จะเข้าใจ CSI ได้ดีขึ้น และสามารถตีความข้อมูลได้ถูกต้อง

CSI Analysis Graph

กราฟวิเคราะห์ CSI แสดงการเปลี่ยนแปลงของแอมพลิจูดและเฟส

Phase 3: From Data to Detection (The "Tripwire")

ตอนนี้มาถึงสิ่งที่น่าตื่นเต้น - การแปลงข้อมูล CSI ที่บังหลวงให้เป็นการตัดสินใจที่ชัดเจน (Detection) เราต้องสร้างอัลกอริทึมที่สามารถบอกได้ว่า "มีคนอยู่ในห้องหรือไม่" หรือ "มีการเคลื่อนไหวหรือไม่"

วิธีการง่ายๆ (สำหรับผู้เริ่มต้น): คุณสามารถใช้ threshold (เกณฑ์) แบบง่ายๆ ได้:

  • วัดความแปรปรวน (variance) ของข้อมูล CSI ในช่วงเวลาหนึ่ง
  • ถ้าความแปรปรวนสูง = มีคนเคลื่อนไหว = มีคนอยู่
  • ถ้าความแปรปรวนต่ำ = ห้องว่าง (ไม่มีใครเคลื่อนไหว)

นี่คือ "Tripwire" แบบดิจิทัล - เมื่อมีการเปลี่ยนแปลงบางอย่างเกิดขึ้น ระบบของคุณจะถูกเรียกใช้งาน อาจส่งการแจ้งเตือนไปยังมือถือ เปิดไฟ บันทึกข้อมูล หรือควบคุมอุปกรณ์อื่นๆ

ความซับซ้อนเริ่มเพิ่มขึ้นเมื่อคุณต้องจัดการกับ:

  • สัญญาณรบกวน (Noise) - จากวัตถุที่เคลื่อนไหวในห้องอื่น หรือการแกว่งไปมาเล็กน้อยของเฟอร์นิเจอร์
  • ตัวกรอง (Filtering) - ใช้ Low-pass Filter หรือ Moving Average เพื่อทำให้ข้อมูลเสถียรมากขึ้น
  • การปรับตัว (Adaptation) - เมื่อสภาพแวดล้อมเปลี่ยน (เช่น เปิดหน้าต่าง หรือเลื่อนเฟอร์นิเจอร์)
  • Time Series Analysis - วิเคราะห์รูปแบบการเปลี่ยนแปลงตามเวลา

Phase 4: Building the "Sensing Array"

ตอนนี้เราอยากขยายขอบเขต - ใช้หลาย ESP32 พร้อมกันเพื่อให้ได้ความแม่นยำสูงขึ้น นี่คือการสร้าง "Sensing Array" ซึ่งเป็นระบบตรวจจับขั้นสูงที่ใช้หลาย receiver กระจายอยู่ในห้องหรือพื้นที่

ด้วยหลาย receiver คุณสามารถ:

  • Trilateration - กำหนดตำแหน่งของคนในห้องได้อย่างแม่นยำ (ใช้ RSSI หรือ Time-of-Arrival)
  • Redundancy - ถ้า ESP32 ตัวหนึ่งรับสัญญาณไม่ดี ตัวอื่นก็ช่วยได้ ทำให้ระบบเชื่อถือได้มากขึ้น
  • Pattern Recognition - เห็นรูปแบบการเดิน การนั่ง การนอน จากหลายมุมมอง
  • Multi-person Detection - บอกได้ว่ามีกี่คนในห้อง (เพราะแต่ละคนมี "ลายนิ้วมือ" CSI ที่ต่างกัน)
  • Better Noise Rejection - โดยการเปรียบเทียบข้อมูลจาก receiver หลายตัว

ท้ายที่สุดแล้ว คุณสร้างระบบที่ฉลาดได้จริง - มันไม่เพียงรู้ว่ามีคนอยู่ แต่ยังรู้ว่าอยู่ตรงไหน กำลังทำอะไร และเปลี่ยนแปลงไปอย่างไร

Room Presence Detection System

ระบบตรวจจับการมีตัวในห้องแบบ Sensing Array ที่ใช้หลาย ESP32

Live CSI Detection Animation

ภาพเคลื่อนไหวแสดงการตรวจจับการมีตัวแบบเรียลไทม์

The Verdict: Is This Ready for the Real World?

คำตอบคือ: ขึ้นอยู่กับความต้องการของคุณ มันขึ้นอยู่กับว่าคุณต้องการให้ระบบมีความแม่นยำและเสถียรเพียงไหน

ข้อดี:

  • ไม่ต้องใช้กล้อง - เป็นมิตรกับความเป็นส่วนตัว ไม่มีการบันทึกภาพ
  • ราคาถูก - ใช้ ESP32 ที่ราคาเพียง 5-15 ดอลลาร์ต่อตัว (ถูกกว่าเซนเซอร์ PIR หลายชนิด)
  • ทำงานผ่านผนัง - ไม่ต้องมองเห็นโดยตรง สัญญาณผ่านกำแพง ประตู และอื่นๆ ได้
  • ป้องกันแมลง ฝุ่น และสิ่งปนเปื้อน - ไม่มีชิ้นส่วนเคลื่อนไหวหรือเลนส์
  • ใช้ไฟฟ้าน้อย - ESP32 กิน 5V ที่กระแส 80 mA โดยทั่วไป
  • โปรแกรมโอเพนซอร์ส - มีตัวอย่างและไลบรารีให้ใช้

ข้อด้อย:

  • ต้องปรับแต่ง (Calibration) สำหรับแต่ละห้อง - สภาพแวดล้อมต่างกัน ต้องเก็บข้อมูลพื้นฐานใหม่
  • สภาพแวดล้อมที่เปลี่ยนแปลง (เช่น หน้าต่างเปิด วัตถุเคลื่อนไหวนอก) จะทำให้ผลลัพธ์คลาดเคลื่อน
  • ต้องใช้ Machine Learning สำหรับความแม่นยำที่สูงมาก (เพื่อบอกความแตกต่างระหว่างคนนั่งกับคนยืน)
  • ไม่เหมาะสำหรับสภาพแวดล้อมที่มีสัญญาณรบกวน Wi-Fi มาก (เช่น ห้องบอก 50+ Wi-Fi Networks)
  • ต้อง Router ที่รองรับ Monitor Mode (ส่วนใหญ่รองรับแล้ว)
  • เสถียรภาพยังไม่เต็มร้อย - บางครั้งอาจเกิดสัญญาณปลอม (False Positive หรือ False Negative)

สรุป: สำหรับการใช้งาน DIY ที่ต้องการตรวจจับการมีตัวแบบง่ายๆ ในบ้าน ระบบนี้ใช้ได้แล้ว! แต่ถ้าคุณต้องการความแม่นยำเหมือนกับเซนเซอร์พาณิชย์ที่ปลูกด้วย IR Thermography คุณอาจต้องลงทุนเพิ่มเติมในการพัฒนา Machine Learning Model

Conclusion

ESP-CSI นั้นสุดท้ายแล้ว เป็นเทคโนโลยีที่ยอดเยี่ยมและน่าสนใจ - มันเปิดประตูใหม่ให้กับโปรเจกต์ IoT และ Smart Home ที่เราไม่เคยคิดว่าจะเป็นไปได้มาก่อน ด้วยคุณค่า ความง่าย และศักยภาพของมัน

ไม่ว่าคุณสนใจ:

  • ระบบการสั่งสอน (Gesture Recognition) - ใช้ท่าทางมือหรือสำหรับควบคุมอุปกรณ์
  • การตรวจจับการพลัดตกหรือการหล่นของผู้สูงอายุ - ช่วยเหลือเบื้องต้น
  • ระบบการบันทึกของมีคนเข้าห้อง - ระบบการจดทะเบียนเข้าออก
  • การควบคุมไฟอัตโนมัติตามการมีตัว - Smart Light ที่จริงจัง
  • ระบบเตือนภัยเพื่อความปลอดภัย - ตรวจจับการบุกรุก
  • การวิเคราะห์พฤติกรรมผู้อยู่อาศัย - ทำความเข้าใจรูปแบบการใช้ห้อง

ทั้งหมดนี้เป็นไปได้ด้วย ESP-CSI และ ESP32 ของคุณ หัวใจสำคัญคือ:

  1. เข้าใจว่ามันทำงานอย่างไร - อ่านเอกสารและศึกษา Datasheet
  2. เรียนรู้ฟิสิกส์ที่อยู่เบื้องหลัง - Signal Processing และคลื่นแม่เหล็กไฟฟ้า
  3. ทดลองเล่นกับข้อมูล - เก็บ CSI แล้ววิเคราะห์ในคอมพิวเตอร์
  4. ปรับแต่งและปรับปรุง - จนกว่าจะได้ผลลัพธ์ที่คุณต้องการ
  5. แบ่งปันผลลัพธ์ - บอกคน IoT อื่นๆ ว่าคุณทำไทได

ยินดีต้อนรับสู่ "สัมผัสที่หก" ของอุปกรณ์ IoT ของคุณ! 🚀

ลิงค์อ้างอิงสำหรับเรียนรู้เพิ่มเติม

พร้อมที่จะเริ่มสร้างระบบตรวจจับการมีตัวของคุณเองแล้วหรือ?

แท็ก


Blog posts

© 2026 บริษัท โกลบอลโทรนิค อินเตอร์เทรด จํากัด, ขับเคลื่อนโดย Shopify

    • PayPal

    เข้าสู่ระบบ

    ลืมรหัสผ่านใช่ไหม?

    ยังไม่มีบัญชีใช่ไหม?
    สร้างบัญชี