News

See all ›
Products from Elec2rak Store
…

Latest News

We post the latest news and updates from the world of automotive, electronics, technology, etc weekly. Stay tuned!

Transform VStarcam IP Camera into a Smart AI Camera with Node-RED and TensorFlow

เปลี่ยนกล้อง 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

ขั้นตอนการตั้งค่าโดยทั่วไปมีดังนี้

  1. เตรียม MicroSD Card สำหรับกล้อง
  2. สร้าง Configuration File ตามรูปแบบที่ Firmware ของกล้องรุ่นนั้นรองรับ
  3. กำหนดค่าที่จำเป็นสำหรับเปิดใช้งาน RTSP
  4. บันทึกไฟล์ลงในตำแหน่งที่กล้องกำหนดบน SD Card
  5. นำ SD Card ใส่กล้อง
  6. 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 จะทำหน้าที่สร้างและส่งคำสั่งไปยังกล้อง

ตัวอย่างฟังก์ชันที่สามารถสร้างเป็นปุ่มควบคุมได้ ได้แก่

CommandFunction
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 โดยมีหลักการดังนี้

  1. เริ่มต้นจาก Preset ที่กำหนด
  2. ส่งคำสั่งเรียกตำแหน่งไปยังกล้อง
  3. รอจนถึงเวลาที่กำหนด
  4. เพิ่มหมายเลข Preset ไปยังตำแหน่งถัดไป
  5. เมื่อครบตำแหน่งสุดท้ายให้วนกลับไปเริ่มต้นใหม่

ตัวอย่างการตั้งเวลา:

ModeInterval
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:

  1. กล้องหมุนไปยัง Preset 1
  2. Node-RED สั่งเปิดไฟบริเวณนั้น
  3. กล้องเปลี่ยนไปยัง Preset 2
  4. ระบบปิดไฟบริเวณแรกและเปิดไฟบริเวณใหม่
  5. ทำงานต่อเนื่องตามลำดับ 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 DetectionAutomation
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:

TopicPayload
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

เมื่อรวมทุกส่วนเข้าด้วยกัน ระบบจะมีองค์ประกอบหลักดังนี้

ComponentResponsibility
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 โดยไม่จำเป็นต้องเปลี่ยนฮาร์ดแวร์

FeatureCapability
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.



Phone: +669 4004 5061
Line ID: elec2rak
Social icon

We have 2372 guests and 0 members online

  • Articles View Hits 1576290
  • Web Links 12