Bối cảnh và vấn đề nghiên cứu

Lý do chọn đề tài và bối cảnh thực tiễn

Trong bối cảnh phát triển của khoa học và công nghệ, việc tự động hóa giám sát và quản lý đang dần thay thế lao động thủ công trong nhiều lĩnh vực sản xuất và đời sống. Lịch sử phát triển của các hệ thống camera giám sát đã trải qua ba thế hệ:

  • Thế hệ thứ nhất: Sử dụng camera tương tự (CCTV), tín hiệu hình ảnh được truyền trực tiếp về trung tâm và xuất ra màn hình hoặc lưu trữ bằng băng từ.
  • Thế hệ thứ hai: Xuất hiện các thiết bị số tại trung tâm, cho phép phân tích và xử lý dữ liệu hình ảnh tự động theo thời gian thực để đưa ra các cảnh báo.
  • Thế hệ thứ ba: Thế hệ mạng giám sát kỹ thuật số hiện đại, thay thế hoàn toàn camera tương tự bằng camera số, truyền tải dòng video đã qua nén thông qua hạ tầng mạng IP (Ethernet hoặc Wireless LAN).

Xu hướng hiện nay tập trung vào các hệ thống camera linh hoạt, có khả năng kết nối và điều khiển từ xa qua mạng máy tính, tích hợp cảm biến và hỗ trợ quản lý tập trung. Xuất phát từ nhu cầu bảo đảm an ninh tại các trường học và doanh nghiệp với chi phí thấp, nhóm tác giả đã thực hiện đề tài nhằm xây dựng một mô hình camera giám sát truyền dữ liệu qua môi trường mạng máy tính, kết nối đồng thời nhiều thiết bị ghi hình về máy chủ trung tâm.

Mục tiêu và nhiệm vụ nghiên cứu

Đề tài xác định 5 mục tiêu kỹ thuật cụ thể:

  1. Thiết lập kết nối đồng thời 2 camera về máy chủ.
  2. Xử lý tập trung luồng dữ liệu hình ảnh từ các camera trên một máy tính điều khiển.
  3. Thực hiện chức năng chụp ảnh tĩnh và ghi video trực tiếp từ các camera tại giao diện máy chủ.
  4. Điều khiển góc quay cơ khí cho các camera từ giao diện phần mềm máy chủ.
  5. Xây dựng giao thức và cơ chế truyền thông giữa các camera và máy chủ qua môi trường mạng mạng cục bộ (LAN/IP).

Đối tượng và phạm vi nghiên cứu

  • Đối tượng nghiên cứu: Nguyên lý hoạt động và phương thức truyền thông của hệ thống camera giám sát kỹ thuật số; cơ chế điều khiển phần cứng ngoại vi và truyền nhận hình ảnh qua giao thức mạng.
  • Phạm vi nghiên cứu:
    • Đề tài dừng lại ở quy mô mô hình thực nghiệm phục vụ học tập và nghiên cứu trong ngành Công nghệ Kỹ thuật Máy tính.
    • Cấu hình hệ thống giới hạn ở 02 camera chuẩn giao tiếp USB kết nối qua kit nhúng Raspberry Pi.
    • Góc quay cơ khí của camera được giới hạn trong phạm vi $0^\circ - 180^\circ$.
    • Môi trường truyền dẫn dữ liệu thử nghiệm trong mạng nội bộ thông qua giao thức TCP/IP.
    • Thời gian thực hiện: Từ ngày 18/03/2015 đến ngày 20/07/2015.

Cơ sở lý thuyết và phương pháp

Khung lý thuyết và công nghệ sử dụng

Nghiên cứu xây dựng trên nền tảng các lý thuyết kỹ thuật máy tính và mạng truyền thông:

  • Hệ thống máy tính đơn bo (Single Board Computer - SBC): Khảo sát cấu trúc vi xử lý tích hợp trên một vi mạch (System on Chip - SoC), tiêu biểu là Broadcom BCM2835 trên nền tảng kiến trúc vi xử lý ARM.
  • Hệ điều hành nhúng: Nhân Linux và hệ điều hành chuyên dụng Raspbian (tối ưu hóa trên nền Debian) dành cho kit Raspberry Pi.
  • Lý thuyết điều khiển động cơ Servo: Cơ chế hồi tiếp vòng kín sử dụng biến trở (vôn kế bên trong) để xác định vị trí trục quay. Kỹ thuật điều chế độ rộng xung (PWM - Pulse Width Modulation) với tần số 50 Hz (chu kỳ 20 ms), độ rộng xung biến đổi từ 1 ms đến 2 ms để xác định góc quay từ $0^\circ$ đến $180^\circ$.
  • Kỹ thuật thu nhận hình ảnh và cảm biến: Phân loại camera theo công nghệ cảm biến (CCD - Charge-Coupled Device và CMOS - Complementary Metal-Oxide-Semiconductor) và phương thức truyền dẫn (camera có dây cáp đồng trục, camera không dây vô tuyến RF, và IP Camera).
  • Mạng máy tính và mô hình Client-Server: Mô hình truyền thông khách - chủ qua tầng giao vận, cấu trúc địa chỉ IP, cổng ứng dụng (Port) và giao thức TCP (Transmission Control Protocol) với quy trình bắt tay 3 bước (SYN, SYN-ACK, ACK) để bảo đảm tính toàn vẹn dữ liệu.

Phương pháp nghiên cứu

Tác giả kết hợp hai nhóm phương pháp chính:

  1. Phương pháp tham khảo tài liệu: Tổng hợp lý thuyết từ sách chuyên ngành, tài liệu hướng dẫn kỹ thuật điện tử, hệ điều hành Linux, tài liệu mạng máy tính và các mã nguồn mở trực tuyến.
  2. Phương pháp thực nghiệm và kiểm tra: Lắp ráp mô hình phần cứng gồm kit nhúng, động cơ và webcam; lập trình phần mềm truyền nhận dữ liệu; đo đạc và hiệu chỉnh các thông số góc quay, tốc độ đáp ứng và độ ổn định của hệ thống.

Nguồn dữ liệu

Dữ liệu nghiên cứu thu thập trực tiếp từ quá trình đo kiểm thực nghiệm mô hình phần cứng tại phòng thí nghiệm, dữ liệu gói tin truyền nhận qua cổng mạng và các tập tin hình ảnh/video ghi nhận từ webcam A4-TECH PK635E.


Thiết kế và triển khai hệ thống

Kiến trúc phần cứng và lựa chọn linh kiện

Hệ thống phần cứng được chia làm ba khối chức năng:

  • Khối xử lý trung tâm (Kit Raspberry Pi): Tiếp nhận dữ liệu video từ webcam, đóng gói và gửi qua mạng đến máy tính; đồng thời nhận lệnh điều khiển từ máy tính để điều khiển khối ngoại vi.
  • Khối giao tiếp ngoại vi: Gồm webcam thu nhận tín hiệu hình ảnh qua chuẩn USB 2.0 và động cơ servo điều khiển hướng quay.
  • Khối giao tiếp máy tính: Máy tính trung tâm đóng vai trò máy khách/máy chủ tiếp nhận và hiển thị hình ảnh, điều khiển thiết bị qua cổng Ethernet.
Thành phần phần cứng Model / Thông số kỹ thuật Vai trò trong hệ thống
Bo mạch xử lý Raspberry Pi Model B+ (SoC Broadcom BCM2835, ARM11 700 MHz, 512 MB RAM, 4 cổng USB, 40 chân GPIO) Xử lý hình ảnh, phát luồng mạng và tạo tín hiệu điều khiển
Cảm biến hình ảnh Webcam A4-TECH PK635E (Cảm biến 1/6” CMOS, độ phân giải 640x480, chuẩn giao tiếp USB 2.0) Thu nhận hình ảnh thời gian thực
Cơ cấu chấp hành Động cơ Servo SG90 (Trọng lượng 9g, tốc độ vận hành 0.1s/60°, góc quay $0^\circ - 180^\circ$) Xoay góc quan sát của camera
Mạch điều khiển đệm Module mạch cầu H Cấp nguồn độc lập cho servo, điều khiển đóng/ngắt nguồn qua GPIO để khử nhiễu và chống rung
+-------------------------------------------------------------+
|                      MÁY TÍNH TRUNG TÂM                     |
|  - Giao diện điều khiển (GUI Python)                        |
|  - Giải mã hình ảnh, hiển thị luồng dữ liệu                 |
|  - Ghi video, chụp ảnh và gửi lệnh xoay góc                 |
+------------------------------+------------------------------+
                               | (TCP/IP qua mạng LAN)
                               v
+-------------------------------------------------------------+
|                  KIT XỬ LÝ RASPBERRY PI                     |
|  - Bộ xử lý SoC Broadcom BCM2835 (ARM11, 700 MHz)           |
|  - Tiến trình 1: Đọc Webcam & truyền chuỗi dữ liệu ảnh       |
|  - Tiến trình 2: Lắng nghe lệnh & tạo xung PWM qua GPIO     |
+---------------+-----------------------------+---------------+
                | (USB 2.0)                   | (GPIO)
                v                             v
+-------------------------------+   +-------------------------+
|      Webcam A4-TECH PK635E    |   |     Module Mạch Cầu H   |
|   (Cảm biến CMOS 640x480)     |   +------------+------------+
+-------------------------------+                | (Nguồn & Xung)
                                                 v
                                    +-------------------------+
                                    |     Động cơ Servo SG90  |
                                    |   (Xoay góc 0 - 180 độ) |
                                    +-------------------------+

Kiến trúc phần mềm và lưu đồ giải thuật

Hệ thống phần mềm được xây dựng bằng ngôn ngữ lập trình Python, bao gồm hai chương trình độc lập hoạt động theo kiến trúc Socket TCP:

  1. Chương trình trên Kit Raspberry Pi (Server):

    • Luồng dữ liệu hình ảnh: Khởi tạo kết nối mạng, đọc tín hiệu từ webcam, mã hóa khung hình thành dạng chuỗi dữ liệu (string/bytes) và truyền liên tục tới địa chỉ IP của máy tính đã kết nối.
    • Luồng điều khiển động cơ: Lắng nghe lệnh trên cổng điều khiển riêng biệt; khi nhận được chuỗi tín hiệu, tiến hành giải mã, kích hoạt mạch cầu H và xuất xung PWM tương ứng ra chân GPIO để xoay servo tới vị trí chỉ định.
  2. Chương trình trên Máy tính (Client/Master GUI):

    • Khởi tạo kết nối socket đến địa chỉ IP và cổng của từng kit Raspberry Pi.
    • Tiếp nhận chuỗi dữ liệu liên tục, giải mã ngược lại thành tệp hình ảnh để hiển thị trực tiếp lên giao diện người dùng.
    • Hỗ trợ các chức năng chụp ảnh (lưu tệp ảnh tĩnh) và quay video (ghi nhận chuỗi khung hình liên tiếp).
    • Giải pháp quản lý luồng: Để tránh xung đột khi giao tiếp cùng lúc với hai tiến trình ngoại vi trên kit, chương trình máy tính áp dụng cơ chế hoạt động tương tự ngắt: khi người dùng kích hoạt lệnh điều khiển góc quay, luồng nhận dữ liệu hình ảnh tạm dừng trong tích tắc để gửi chuỗi lệnh điều khiển góc, sau đó lập tức kết nối lại để tiếp tục duy trì luồng hình ảnh.

Nội dung chính theo từng chương

Chương 1: Tổng quan

Chương này phân tích bối cảnh phát triển của kỹ thuật camera giám sát từ thế hệ analog (CCTV) đến camera IP kỹ thuật số. Nội dung nêu rõ sự cần thiết của việc xây dựng hệ thống giám sát tự động hóa có thể quản lý từ xa. Tác giả xác định rõ mục tiêu thiết kế mô hình 2 camera giao tiếp máy tính qua mạng, xác lập đối tượng nghiên cứu trong phạm vi an ninh/giám sát, phương pháp tham khảo tài liệu và thực nghiệm kiểm tra.

Chương 2: Cơ sở lý thuyết

Chương 2 trình bày chi tiết về cấu trúc phần cứng và lý thuyết vận hành:

  • Kit Raspberry Pi: Khảo sát kiến trúc SoC Broadcom BCM2835, đối chiếu thông số phần cứng giữa bản Model B+ (được sử dụng) và bản Pi 2.
  • Động cơ Servo: Phân tích cấu tạo 10 bộ phận, nguyên lý hồi tiếp góc thông qua vôn kế nội suy, kỹ thuật cấp xung PWM 50 Hz (xung $1 - 2\text{ ms}$) và các yếu tố giới hạn góc quay từ $90^\circ$ đến $180^\circ$.
  • Camera: Trình bày cấu tạo quang học/điện tử, so sánh cảm biến CCD và CMOS, phân loại đường truyền (có dây, không dây RF và IP).
  • Mạng máy tính & Giao thức: Phân tích các đồ hình mạng (sao, tuyến tính, vòng), mô hình Client-Server và chi tiết cấu trúc gói tin TCP (Source/Destination Port, Sequence/Ack Number, Data Offset, Flags, Checksum).

Chương 3: Thiết kế phần cứng

Nội dung chương tập trung vào việc hiện thực hóa sơ đồ khối hệ thống:

  • Phân tích chức năng ba khối: Xử lý trung tâm, giao tiếp ngoại vi và giao tiếp máy tính.
  • Lựa chọn linh kiện thực tế: Webcam A4-TECH PK635E (giao tiếp USB), Servo SG90 (9g, quay $0^\circ - 180^\circ$).
  • Xử lý vấn đề sụt áp và nhiễu: Nhận định chân GPIO của Raspberry Pi không đủ dòng điện để nuôi trực tiếp servo và việc duy trì xung liên tục gây hiện tượng rung giật, tác giả đã tích hợp module mạch cầu H trung gian để cấp nguồn có điều khiển cho servo.

Chương 4: Thiết kế phần mềm

Chương này mô tả chi tiết giải thuật phần mềm viết bằng Python:

  • Thiết kế giao diện máy tính với các khối chức năng kết nối socket, hiển thị 2 khung hình, nút chụp ảnh, ghi hình và các nút điều khiển góc quay.
  • Thiết kế hai chương trình chạy ngầm trên Raspberry Pi để phân tách tiến trình truyền video và nhận lệnh điều khiển.
  • Xây dựng lưu đồ giải thuật cho quá trình bắt tay kết nối, đóng gói dữ liệu hình ảnh dạng chuỗi và giải thuật điều khiển đồng bộ luồng.

Chương 5: Kết quả

Chương 5 ghi nhận kết quả vận hành thực tế của mô hình:

  • Chế tạo thành công mô hình phần cứng hoàn chỉnh gồm 2 cụm camera xoay gắn kèm kit nhúng.
  • Kiểm thử các chế độ hoạt động: Chế độ quan sát bình thường, chế độ ghi hình video, chế độ chụp ảnh và chế độ kết nối đồng thời cả hai camera về cùng giao diện máy tính.
  • Đánh giá các ưu điểm và hạn chế trong quá trình vận hành thực tế.

Chương 6: Kết luận và hướng phát triển

Tổng kết mức độ hoàn thành so với mục tiêu đề ra ban đầu, khẳng định khả năng ứng dụng thực nghiệm của mô hình và đề xuất các hướng nâng cấp hệ thống trong tương lai.


Kết quả và đóng góp

Kết quả chính

  • Vận hành hệ thống: Xây dựng thành công hệ thống giám sát 2 camera hoạt động đồng thời, truyền tải dữ liệu hình ảnh trực tiếp về giao diện điều khiển trung tâm trên máy tính thông qua mạng LAN.
  • Chức năng điều khiển: Máy chủ thực hiện trơn tru các thao tác chụp ảnh tĩnh, lưu trữ tệp video và điều khiển góc quay servo từ $0^\circ$ đến $180^\circ$ theo thời gian thực.
  • Giao diện quản trị: Hiển thị song song hai khung hình video của 2 camera trên cùng một giao diện phần mềm, cho phép chuyển đổi linh hoạt giữa chế độ xem trực tiếp và ghi hình.

Giải pháp kỹ thuật tác giả đề xuất

  • Khắc phục hiện tượng rung nhiễu ở Servo: Trong quá trình thử nghiệm, việc cấp xung định vị liên tục khiến động cơ SG90 bị nhiễu xung, dẫn đến rung giật liên tục và làm nhòe hình ảnh camera. Tác giả đã đề xuất và áp dụng giải pháp: Chỉ cấp nguồn và xung điều khiển thông qua module mạch cầu H khi có lệnh xoay góc từ máy tính, sau đó ngắt nguồn cấp cho động cơ khi đã đạt góc quay.
  • Phân tách và điều phối tiến trình: Tách riêng cổng mạng điều khiển cơ cấu quay và cổng truyền luồng video; sử dụng cơ chế tạm ngắt luồng nhận ảnh trong thời gian ngắn để ưu tiên gửi lệnh xoay góc, giúp tránh xung đột socket trên đường truyền.

Đóng góp của đề tài

  • Hiện thực hóa thành công một mô hình IP Camera chi phí thấp sử dụng linh kiện phần cứng nguồn mở (Raspberry Pi, Webcam USB, Servo mini) và ngôn ngữ lập trình Python.
  • Cung cấp tài liệu thiết kế chi tiết từ sơ đồ khối phần cứng, mạch điều khiển đệm đến mã nguồn phần mềm truyền nhận dữ liệu qua socket mạng cho sinh viên ngành kỹ thuật máy tính tham khảo.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế của hệ thống

  • Độ trễ truyền dẫn: Do sử dụng giao thức truyền thông TCP với cơ chế bắt tay 3 bước và kiểm tra lỗi/truyền lại gói tin, tốc độ truyền nhận dữ liệu hình ảnh còn có độ trễ nhất định so với thời gian thực tuyệt đối.
  • Quy mô hệ thống: Đồ án mới chỉ thử nghiệm kết nối ở quy mô 02 camera trong phạm vi mạng cục bộ (LAN), chưa triển khai thử nghiệm trên diện rộng qua mạng diện rộng (WAN/Internet).
  • Tính năng phân tích thông minh: Hệ thống mới dừng lại ở việc hiển thị, chụp hình, lưu video và xoay góc cơ bản; chưa tích hợp các thuật toán xử lý ảnh thông minh như nhận diện khuôn mặt, phát hiện chuyển động tự động hay cảnh báo xâm nhập.

Hướng nghiên cứu và phát triển tiếp theo

  • Nâng cấp phần cứng máy chủ và tối ưu hóa thuật toán nén/truyền dữ liệu để giảm độ trễ luồng video.
  • Tích hợp thêm các cảm biến cảnh báo môi trường (cảm biến chuyển động, báo khói, báo gas) để phát triển thành camera an ninh thông minh.
  • Phát triển tính năng truy cập và điều khiển hệ thống camera từ xa thông qua ứng dụng trên thiết bị di động hoặc giao diện nền tảng web.

Giá trị tham khảo

Đối tượng phù hợp

  • Sinh viên ngành Kỹ thuật Máy tính, Điện tử - Viễn thông, Công nghệ Thông tin, IoT: Tài liệu học tập và nghiên cứu mẫu cho các đồ án môn học về Hệ thống nhúng, Lập trình mạng (Network Programming), và Thiết kế hệ thống nhúng với Linux/Raspberry Pi.
  • Người nghiên cứu các dự án tự làm (DIY): Tài liệu hướng dẫn thực tế về cách điều khiển ngoại vi (Servo, Camera) và ghép nối truyền thông mạng bằng Python.

Các nội dung có giá trị tham khảo nổi bật

  • Quy trình phân tích và thiết kế hệ thống giao tiếp Client-Server qua Socket TCP bằng ngôn ngữ Python (Phụ lục 1 và Chương 4).
  • Giải pháp phần cứng sử dụng module mạch cầu H để xử lý dòng và triệt tiêu rung nhiễu cho động cơ servo điều khiển bằng xung PWM (Chương 3).
  • Cẩm nang so sánh phần cứng vi xử lý SoC Broadcom BCM2835 và ARMv7 trên Raspberry Pi (Chương 2).

Câu hỏi thường gặp

1. Tại sao hệ thống phải dùng thêm module mạch cầu H mà không điều khiển trực tiếp động cơ servo từ chân GPIO của Raspberry Pi?

Chân GPIO của kit Raspberry Pi chỉ xuất tín hiệu logic mức cao và không cung cấp đủ dòng điện để vận hành trực tiếp động cơ servo SG90. Ngoài ra, việc cấp xung điều khiển liên tục dễ làm servo bị nhiễu và rung lắc. Mạch cầu H đóng vai trò là mạch đệm công suất trung gian, cho phép Raspberry Pi điều khiển đóng/ngắt nguồn cung cấp cho servo, chỉ cấp điện khi thực hiện lệnh quay để giữ camera ổn định.

2. Giao thức truyền dữ liệu giữa Camera (Raspberry Pi) và Máy tính trung tâm là gì?

Hệ thống sử dụng giao thức TCP (Transmission Control Protocol) trên nền mạng IP. Giao thức này bảo đảm truyền dữ liệu không lỗi, đúng thứ tự gói tin và loại bỏ dữ liệu trùng lặp nhờ cơ chế bắt tay ba bước (Three-way handshake) và tin báo nhận ACK.

3. Chương trình máy tính giải quyết vấn đề điều khiển đồng thời việc nhận hình ảnh và gửi lệnh xoay góc như thế nào?

Do việc nhận dữ liệu hình ảnh diễn ra liên tục theo dạng vòng lặp, mỗi khi người dùng nhấn nút điều khiển góc quay, chương trình máy tính sẽ tạm thời ngắt tiến trình nhận luồng ảnh trong một khoảng thời gian ngắn để gửi chuỗi lệnh điều khiển vị trí đến kit, sau đó tự động tái kết nối lại luồng nhận ảnh ngay khi lệnh gửi hoàn tất.

4. Phần cứng camera được sử dụng trong khóa luận có thông số kỹ thuật ra sao?

Khóa luận sử dụng webcam rời A4-TECH PK635E, kết nối qua cổng USB 2.0 của Raspberry Pi. Webcam trang bị cảm biến $1/6\text{ inch}$ CMOS, độ phân giải hình ảnh $640\times 480\text{ pixels}$, tốc độ khung hình lý thuyết 30 fps tại các độ phân giải $160\times 120$, $320\times 240$ và $640\times 480$, góc nhìn quang học đạt $60^\circ$.


Kết luận

Khóa luận tốt nghiệp "Xây dựng hệ thống Camera giám sát" của sinh viên Trần Hoàng Gia và Nguyễn Vũ Thái Hoàng đã hoàn thành trọn vẹn mục tiêu thiết kế và chế tạo mô hình giám sát 2 camera kỹ thuật số trên nền tảng Raspberry Pi và Python. Hệ thống đáp ứng tốt các yêu cầu chức năng về truyền luồng hình ảnh tập trung, chụp ảnh tĩnh, lưu trữ video và điều khiển xoay góc cơ khí từ xa qua mạng nội bộ. Công trình là tài liệu tham khảo kỹ thuật hữu ích về phương pháp tích hợp phần cứng máy tính đơn bo với lập trình mạng truyền thông socket phục vụ cho công tác nghiên cứu, đào tạo trong lĩnh vực kỹ thuật máy tính.