เปลี่ยนกล้อง IP Camera ธรรมดาให้เป็น Smart Camera ด้วย Auto Pan, AI Object Detection และ IoT Automation โดยไม่ต้องพึ่ง Cloud Service กล้อง IP Camera ที่มีระบบ PTZ (Pan-Tilt-Zoom) อยู่แล้ว สามารถทำอะไรได้มากกว่าการควบคุมทิศทางผ่านแอปพลิเคชันบนมือถือ ด้วยการนำ Node-RED และ TensorFlow เข้ามาช่วยเพิ่มความสามารถในการควบคุม วิเคราะห์ภาพ และตอบสนองต่อเหตุการณ์แบบอัตโนมัติ
โปรเจกต์นี้เป็นการต่อยอดกล้อง VStarcam ที่มีอยู่ โดยไม่จำเป็นต้องเปลี่ยนฮาร์ดแวร์หรือซื้อกล้อง AI รุ่นใหม่ เพียงเปิดใช้งาน RTSP เพื่อดึงภาพวิดีโอจากกล้องโดยตรง แล้วนำ Node-RED มาเป็นศูนย์กลางในการควบคุมและเชื่อมต่อกับระบบ AI
สิ่งที่ได้คือระบบ Smart Surveillance ที่สามารถหมุนกล้องตรวจสอบพื้นที่อัตโนมัติ ตรวจจับวัตถุด้วย AI ควบคุมอุปกรณ์ภายนอกผ่าน Relay และเชื่อมต่อกับระบบ IoT ได้
ที่สำคัญคือสามารถทำงานภายใน Local Network ได้โดยไม่ต้องสมัคร Cloud Subscription เพื่อใช้งาน RTSP Streaming
1. Enable RTSP – เปิดใช้งานกล้องโดยไม่ต้องสมัคร Cloud Service
ขั้นตอนแรกคือการเปิดใช้งาน RTSP (Real Time Streaming Protocol) ซึ่งเป็นโปรโตคอลมาตรฐานสำหรับส่งภาพวิดีโอผ่านเครือข่าย
กล้อง VStarcam บางรุ่นไม่ได้เปิด RTSP มาให้ใช้งานตั้งแต่โรงงาน ผู้ใช้จึงต้องเปิดความสามารถนี้เพิ่มเติมผ่าน Configuration File
1.1 เปิดใช้งาน RTSP ผ่าน MicroSD Card
ขั้นตอนการตั้งค่าโดยทั่วไปมีดังนี้
- เตรียม MicroSD Card สำหรับกล้อง
- สร้าง Configuration File ตามรูปแบบที่ Firmware ของกล้องรุ่นนั้นรองรับ
- กำหนดค่าที่จำเป็นสำหรับเปิดใช้งาน RTSP
- บันทึกไฟล์ลงในตำแหน่งที่กล้องกำหนดบน SD Card
- นำ SD Card ใส่กล้อง
- Restart กล้องเพื่อให้ระบบอ่าน Configuration และเปิดใช้งาน RTSP
ข้อควรทราบคือชื่อไฟล์ รูปแบบ Configuration และตำแหน่งจัดเก็บอาจแตกต่างกันตามรุ่นและ Firmware ของ VStarcam ควรตรวจสอบเอกสารหรือไฟล์ตัวอย่างของรุ่นที่ใช้งานก่อน
1.2 เชื่อมต่อผ่าน RTSP URL
หลังจากเปิดใช้งาน RTSP แล้ว สามารถนำ URL ไปเปิดผ่าน VLC Media Player หรือซอฟต์แวร์อื่นที่รองรับ RTSP ได้
ตัวอย่างรูปแบบ URL:
rtsp://username:password@CAMERA_IP:554/
Path จริงขึ้นอยู่กับรุ่นของกล้องและการตั้งค่า
เมื่อเชื่อมต่อสำเร็จ เราจะสามารถรับภาพจากกล้องผ่านเครือข่ายภายในได้โดยตรง
1.3 Cloud Independent – ใช้งานโดยไม่ต้องพึ่ง Cloud
ข้อดีของการเปิด RTSP คือสามารถนำภาพจากกล้องมาใช้งานกับระบบภายในได้โดยตรง ไม่จำเป็นต้องส่งภาพผ่าน Cloud ของผู้ผลิต
ประโยชน์ที่ได้รับ ได้แก่
- ไม่ต้องสมัคร Cloud Subscription เพื่อรับ RTSP Stream ภายในระบบ
- ไม่ต้องเสียค่าบริการรายเดือนสำหรับการประมวลผลวิดีโอภายใน
- ลดความล่าช้าจากการส่งภาพผ่านอินเทอร์เน็ต
- สามารถประมวลผลภาพด้วย AI บนเครื่อง Server ของตัวเอง
- ควบคุมการจัดเก็บและประมวลผลข้อมูลได้เอง
- ไม่ต้องพึ่งพาบริการ Cloud ของผู้ผลิตสำหรับ Workflow ที่สร้างขึ้น
แนวทางนี้เหมาะกับผู้ที่ต้องการสร้างระบบ Surveillance แบบ Self-Hosted ซึ่งสามารถควบคุมโครงสร้างพื้นฐานทั้งหมดได้เอง
หากต้องการเข้าถึงกล้องจากภายนอกเครือข่าย แนะนำให้ใช้ VPN หรือ Secure Tunnel แทนการเปิด RTSP Port สู่ Internet โดยตรง
2. PTZ Control – ควบคุมทิศทางกล้องด้วย Node-RED
เมื่อสามารถเข้าถึงกล้องผ่านเครือข่ายได้แล้ว ขั้นตอนต่อไปคือการสร้างระบบควบคุม PTZ ด้วย Node-RED
VStarcam ที่รองรับ PTZ สามารถรับคำสั่งควบคุมทิศทางผ่าน HTTP Command ได้ โดย Node-RED จะทำหน้าที่สร้างและส่งคำสั่งไปยังกล้อง
ตัวอย่างฟังก์ชันที่สามารถสร้างเป็นปุ่มควบคุมได้ ได้แก่
| Command | Function |
|---|---|
| Up | หมุนกล้องขึ้น |
| Down | หมุนกล้องลง |
| Left | หมุนกล้องซ้าย |
| Right | หมุนกล้องขวา |
| Home Center | กลับตำแหน่งกึ่งกลาง |
| Zoom In | ซูมเข้า |
| Zoom Out | ซูมออก |
| Preset 1–8 | เรียกตำแหน่งที่บันทึกไว้ |
การทำงานของ Node-RED Flow
แนวคิดของระบบคือรวมคำสั่งจากปุ่มควบคุมทั้งหมดเข้าสู่ Function Node เพื่อสร้าง PTZ URL จากนั้นส่งผ่าน HTTP Request ไปยังกล้อง
โครงสร้างการทำงาน:
Dashboard Controls → Function Node → PTZ URL → HTTP Request → VStarcam
เมื่อกล้องได้รับคำสั่ง จะดำเนินการตามคำสั่งและส่ง Response กลับมายัง Node-RED เพื่อแสดงสถานะการทำงาน
ข้อดีของวิธีนี้คือสามารถรวมคำสั่งทั้งหมดไว้ใน Flow เดียว และเพิ่มเงื่อนไข Automation ได้โดยไม่ต้องสร้างระบบควบคุมแยกหลายชุด
3. Auto Pan & Preset Patrol – หมุนกล้องตรวจสอบพื้นที่อัตโนมัติ
หนึ่งในความสามารถที่ช่วยเพิ่มประโยชน์ให้กับกล้อง PTZ คือ Auto Pan หรือระบบหมุนกล้องตรวจสอบพื้นที่ตามตำแหน่งที่กำหนดไว้
แทนที่จะต้องควบคุมกล้องด้วยตัวเองตลอดเวลา เราสามารถบันทึกตำแหน่งที่ต้องการตรวจสอบไว้ใน Preset แล้วให้ Node-RED เรียกใช้งานตามลำดับโดยอัตโนมัติ
3.1 การกำหนด Preset
ตัวอย่างการตั้งค่าตำแหน่ง:
- Preset 1 – หน้าบ้าน
- Preset 2 – ประตูทางเข้า
- Preset 3 – ที่จอดรถ
- Preset 4 – ด้านข้างอาคาร
- Preset 5 – สวนหลังบ้าน
- Preset 6 – พื้นที่เก็บของ
- Preset 7 – ทางเดิน
- Preset 8 – จุดตรวจสอบเพิ่มเติม
เมื่อบันทึกตำแหน่งเรียบร้อยแล้ว สามารถเรียกกล้องกลับไปยังตำแหน่งเหล่านี้ได้ทันที
3.2 Automatic Preset Switching
ใน Node-RED สามารถสร้าง Function Node สำหรับจัดการลำดับ Preset โดยมีหลักการดังนี้
- เริ่มต้นจาก Preset ที่กำหนด
- ส่งคำสั่งเรียกตำแหน่งไปยังกล้อง
- รอจนถึงเวลาที่กำหนด
- เพิ่มหมายเลข Preset ไปยังตำแหน่งถัดไป
- เมื่อครบตำแหน่งสุดท้ายให้วนกลับไปเริ่มต้นใหม่
ตัวอย่างการตั้งเวลา:
| Mode | Interval |
|---|---|
| Normal Patrol | 5 นาที |
| Active Monitoring | 1 นาที |
| Power Saving | 15 นาที |
| Manual Mode | ควบคุมด้วยผู้ใช้ |
นอกจากนี้ยังสามารถออกแบบให้รับค่าเวลาจาก msg เพื่อปรับช่วงเวลาการทำงานได้แบบ Dynamic โดยไม่ต้องแก้ไข Function Node ทุกครั้ง
3.3 Smart Patrol
ระบบสามารถพัฒนาต่อให้รองรับเงื่อนไขพิเศษได้ เช่น
- หยุด Auto Pan เมื่อมีการควบคุมกล้องด้วยมือ
- หยุดการหมุนเมื่อ AI ตรวจพบวัตถุที่สนใจ
- กลับเข้าสู่ Auto Pan เมื่อไม่มีเหตุการณ์
- เปลี่ยนความถี่ในการตรวจสอบตามช่วงเวลา
- เลือก Preset เฉพาะพื้นที่ตามเงื่อนไขที่กำหนด
ทำให้กล้องสามารถตรวจสอบพื้นที่หลายจุดได้โดยไม่ต้องมีผู้ควบคุมตลอดเวลา
4. Relay Output Control – ควบคุมอุปกรณ์ภายนอก
อีกหนึ่งความสามารถที่เพิ่มเข้ามาคือ Relay Control ซึ่งช่วยให้ระบบกล้องสามารถเชื่อมต่อกับอุปกรณ์ไฟฟ้าและระบบ IoT ภายนอกได้
ตัวอย่างการควบคุมผ่าน Node-RED:
- ON – เปิด Relay
- OFF – ปิด Relay
เมื่อเชื่อมต่อกับ Relay Module ที่รองรับการควบคุมผ่านเครือข่ายหรือ MQTT ก็สามารถสั่งงานจาก Node-RED ได้โดยตรง
ตัวอย่างการนำไปใช้งาน:
- เปิดไฟส่องสว่างเมื่อกล้องหมุนไปยังพื้นที่ที่กำหนด
- เปิดไฟเตือนเมื่อพบความเคลื่อนไหว
- ควบคุมไซเรนหรือสัญญาณเตือน
- ควบคุมอุปกรณ์ไฟฟ้าภายในพื้นที่ตรวจสอบ
- เชื่อมต่อระบบควบคุมประตูหรืออุปกรณ์ IoT
Relay Automation
ตัวอย่างการทำงานร่วมกับ Auto Pan:
- กล้องหมุนไปยัง Preset 1
- Node-RED สั่งเปิดไฟบริเวณนั้น
- กล้องเปลี่ยนไปยัง Preset 2
- ระบบปิดไฟบริเวณแรกและเปิดไฟบริเวณใหม่
- ทำงานต่อเนื่องตามลำดับ Preset
การควบคุมอุปกรณ์ไฟฟ้าที่ใช้แรงดันสูงต้องใช้ Relay และวงจรป้องกันที่เหมาะสม รวมถึงติดตั้งโดยคำนึงถึงความปลอดภัยทางไฟฟ้า
5. TensorFlow AI Object Detection – เพิ่มความสามารถในการวิเคราะห์ภาพด้วย AI
เมื่อระบบสามารถรับภาพจากกล้องและควบคุม PTZ ได้แล้ว ขั้นต่อไปคือการเพิ่มความสามารถในการวิเคราะห์ภาพด้วย Artificial Intelligence
โปรเจกต์นี้สามารถนำ TensorFlow มาใช้เป็นระบบ AI สำหรับ Object Detection เพื่อให้กล้องไม่ได้ทำหน้าที่เพียงส่งภาพ แต่สามารถตรวจจับและจำแนกวัตถุที่ปรากฏอยู่ในภาพได้
ตัวอย่างวัตถุที่สามารถตรวจจับได้ ขึ้นอยู่กับโมเดลที่เลือกใช้ ได้แก่
- Person – บุคคล
- Car – รถยนต์
- Motorcycle – รถจักรยานยนต์
- Bicycle – จักรยาน
- Animal – สัตว์
- Other Objects – วัตถุประเภทอื่น
5.1 AI Processing Workflow
โครงสร้างการทำงานแบ่งออกเป็น 3 ส่วนหลัก
1. Video Streaming
รับภาพจากกล้อง VStarcam ผ่าน RTSP Stream โดยใช้ FFmpeg หรือ Python เพื่อแยกวิดีโอออกเป็น Frame สำหรับประมวลผล
2. TensorFlow Inference
ส่งภาพเข้าสู่ TensorFlow เพื่อวิเคราะห์และตรวจจับวัตถุ โดยผลลัพธ์สามารถประกอบด้วย
- Object Class – ประเภทของวัตถุ
- Bounding Box – ตำแหน่งของวัตถุในภาพ
- Confidence Score – ค่าความมั่นใจในการตรวจจับ
3. Node-RED Automation
ส่งผลลัพธ์จาก AI กลับมายัง Node-RED ผ่าน HTTP หรือ MQTT เพื่อประมวลผลตามเงื่อนไขและสั่งงานอุปกรณ์ต่าง ๆ
โครงสร้างโดยรวม:
VStarcam → RTSP → FFmpeg / Python → TensorFlow → Node-RED
5.2 AI Controlled PTZ
เมื่อ TensorFlow ตรวจพบวัตถุที่สนใจ Node-RED สามารถนำผลการตรวจจับมาใช้ควบคุมกล้องได้
ตัวอย่าง:
- Person Detected → หยุด Auto Pan และบันทึกเหตุการณ์
- Vehicle Detected → ส่ง Notification
- Motorcycle Detected → บันทึกภาพและเวลา
- Restricted Area Detection → สั่งเปิดไฟเตือน
- No Activity → กลับเข้าสู่ Auto Pan Mode
นอกจากนี้ยังสามารถพัฒนาต่อด้วย Object Tracking เพื่อให้ระบบติดตามตำแหน่งของวัตถุที่ตรวจพบ และคำนวณทิศทางการเคลื่อนที่เพื่อนำไปใช้ควบคุม PTZ
การติดตามวัตถุจริงจำเป็นต้องเพิ่ม Tracking Algorithm และระบบแปลงตำแหน่งของวัตถุในภาพให้เป็นคำสั่งควบคุมทิศทางกล้อง ไม่ใช่เพียงใช้ Object Detection อย่างเดียว
5.3 AI + Relay Control
เมื่อนำ TensorFlow มาทำงานร่วมกับ Relay Control ระบบจะสามารถตอบสนองต่อเหตุการณ์ที่ตรวจพบได้โดยอัตโนมัติ
| AI Detection | Automation |
|---|---|
| Person Detected | เปิดไฟส่องสว่าง |
| Car Detected | บันทึกเหตุการณ์ |
| Motorcycle Detected | ส่ง Notification |
| Restricted Area | เปิดไฟเตือน |
| No Activity | ปิดอุปกรณ์ตามเงื่อนไข |
สามารถกำหนด Confidence Threshold และตรวจสอบผลลัพธ์ต่อเนื่องหลาย Frame เพื่อลด False Positive ก่อนสั่งงานอุปกรณ์จริง
6. MQTT Integration – เชื่อมต่อกับระบบ IoT
นอกจากการควบคุมผ่าน HTTP แล้ว Node-RED ยังสามารถเชื่อมต่อกับระบบ IoT ผ่าน MQTT ได้อีกด้วย
MQTT ทำหน้าที่เป็นตัวกลางในการส่งข้อมูลระหว่างอุปกรณ์และระบบควบคุม เช่น
- ส่งสถานะการทำงานของกล้อง
- ส่งผลการตรวจจับจาก TensorFlow
- สั่งเปิดและปิด Relay
- แจ้งเตือนเมื่อพบวัตถุ
- เชื่อมต่อกับ Home Assistant
- ส่งข้อมูลไปยังระบบ Dashboard
ตัวอย่าง MQTT Topic:
| Topic | Payload |
|---|---|
| camera/ptz/command | left / right / up / down |
| camera/patrol/status | running / stopped |
| camera/ai/detection | person / car / motorcycle |
| camera/relay/control | ON / OFF |
| camera/system/status | online / offline |
การใช้ MQTT ทำให้สามารถแยกการทำงานของแต่ละส่วนออกจากกันได้ และช่วยให้เพิ่มอุปกรณ์หรือกล้องตัวอื่นเข้ามาในระบบได้ง่ายขึ้น
7. System Architecture – โครงสร้างระบบ Smart Surveillance
เมื่อรวมทุกส่วนเข้าด้วยกัน ระบบจะมีองค์ประกอบหลักดังนี้
| Component | Responsibility |
|---|---|
| VStarcam PTZ Camera | รับภาพและควบคุมทิศทาง |
| RTSP | ส่งภาพวิดีโอผ่านเครือข่าย |
| FFmpeg / Python | รับ Stream และแยก Frame |
| TensorFlow | AI Object Detection |
| Node-RED | ควบคุม Flow และ Automation |
| Relay Module | ควบคุมอุปกรณ์ภายนอก |
| MQTT Broker | สื่อสารระหว่างระบบ IoT |
| Home Assistant | Dashboard และ Smart Home Integration |
Recommended Architecture
สามารถแยกการทำงานออกเป็น 2 เครื่องได้
Camera & Automation Server
- Node-RED
- MQTT Broker
- PTZ Control
- Auto Pan
- Relay Automation
AI Processing Server
- RTSP Client
- FFmpeg / Python
- TensorFlow
- Object Detection
- Object Tracking
การแยก AI Processing ออกไปยังอีกเครื่องช่วยลดภาระของ Server ที่รัน Node-RED และสามารถเลือกใช้ CPU หรือ GPU สำหรับประมวลผล AI ได้ตามความเหมาะสม
นอกจากนี้ยังสามารถเพิ่มจำนวนกล้องได้โดยให้ AI Server ประมวลผลภาพจากหลาย Stream และส่งผลลัพธ์กลับมายัง Node-RED
8. From Conventional IP Camera to Smart AI Surveillance
สิ่งที่น่าสนใจของโปรเจกต์นี้คือการนำความสามารถที่มีอยู่ในกล้อง IP Camera มาต่อยอดด้วยซอฟต์แวร์ Open Source โดยไม่จำเป็นต้องเปลี่ยนฮาร์ดแวร์
| Feature | Capability |
|---|---|
| RTSP Streaming | รับภาพโดยตรงผ่าน Local Network |
| Cloud Independent | ไม่ต้องพึ่ง Cloud สำหรับระบบภายใน |
| PTZ Control | ควบคุมทิศทางกล้อง |
| Auto Pan | หมุนกล้องอัตโนมัติ |
| Preset Patrol | ตรวจสอบหลายตำแหน่ง |
| Relay Control | ควบคุมอุปกรณ์ภายนอก |
| TensorFlow | AI Object Detection |
| Object Tracking | ต่อยอดระบบติดตามวัตถุ |
| MQTT | เชื่อมต่อระบบ IoT |
| Smart Automation | ตอบสนองต่อเหตุการณ์อัตโนมัติ |
Conclusion
VStarcam IP Camera ที่มีระบบ PTZ อยู่แล้วไม่จำเป็นต้องเป็นเพียงกล้องสำหรับดูภาพผ่านแอปพลิเคชันอีกต่อไป
เพียงเปิดใช้งาน RTSP และนำ Node-RED เข้ามาช่วยจัดการระบบ ก็สามารถเพิ่มความสามารถ Auto Pan, Preset Patrol และ Relay Control ได้
เมื่อผสาน TensorFlow เข้ามา ระบบจะสามารถวิเคราะห์ภาพ ตรวจจับวัตถุ และส่งผลลัพธ์กลับมาเพื่อสั่งงานอุปกรณ์ต่าง ๆ ได้อย่างอัตโนมัติ
ทั้งหมดนี้สามารถทำงานบน Server ภายในบ้านหรือสำนักงาน โดยไม่จำเป็นต้องพึ่ง Cloud Subscription สำหรับการรับภาพและประมวลผลภายในระบบ
นี่คืออีกหนึ่งแนวทางในการเปลี่ยนอุปกรณ์ IoT ที่มีอยู่ให้กลายเป็นระบบ Smart Surveillance ที่สามารถพัฒนาและปรับแต่งได้อย่างอิสระ
Same Camera. Same Hardware. More Intelligence.
Powered by Node-RED, TensorFlow & Open Source Technology.
简体中文
ภาษาไทย
English
฿54.09
฿1,278.57
