Bỏ qua tới nội dung
LSLab

Kết nối camera với bo nhúng ra sao?

  • Cơ bản
  • Bài viết
  • Từ 14 tuổi
  • 6 phút đọc
Minh họa biên tập về camera nhúng trong hệ thống drone.

Kết nối camera với bo nhỏ nghĩa là ghép đúng giao diện vật lý và driver của cảm biến, rồi chuyển khung ảnh qua phần mềm để ứng dụng đọc được ảnh. Raspberry Pi, Jetson và ESP32-CAM đi theo cùng đường tổng quát nhưng khác đầu nối, API chụp, driver và giới hạn tài nguyên. Ảnh xem trước thành công chứng minh đường thu ảnh, chưa chứng minh toàn bộ pipeline thị giác của drone.

Mục lục
Camera cung cấp khung hình cho bo xử lý qua giao tiếp phù hợp; bo camera và máy tính không phải cùng một vai.
  • Camera và ống kính
  • Bo xử lý nhận dữ liệu ảnh
  • Khung ảnh nhận được

Bạn sẽ học được gì

  • Lần theo ảnh từ cảm biến qua giao diện và driver tới đầu ra ứng dụng.
  • So sánh Raspberry Pi, Jetson và ESP32-CAM theo cùng tiêu chí tương thích.
  • Thử chụp ảnh an toàn và nhận biết điểm lỗi thường gặp.

Cần biết trước

Không cần kinh nghiệm bay; bài xem bo như máy tính cần tạo ra ảnh có thể đọc.

Đường dữ liệu camera gồm những bước nào?

Cảm biến ảnh biến ánh sáng thành dữ liệu pixel. Giao diện vật lý đưa dữ liệu đó tới bo; driver tương thích cấu hình cảm biến và chuyển khung ảnh vào hệ điều hành hoặc ứng dụng vi điều khiển. Thư viện chụp hoặc pipeline media sau đó cung cấp bộ đệm khung hình hay tệp ảnh cho chương trình. Nếu bất kỳ lớp nào không khớp đầu nối, cảm biến, định thời hoặc định dạng pixel, ứng dụng có thể không thấy camera, nhận pixel hỏng hoặc không có khung dùng được.

Chỉ biết tên camera chưa đủ để chọn linh kiện. Kiểm tra đầu nối và cáp của bo, hỗ trợ cảm biến trong phần mềm đích, định dạng đầu ra, nguồn và tài nguyên, cùng ứng dụng mẫu của đúng bo đó. Thử ảnh tĩnh hoặc xem trước trên bàn ổn định trước; chỉ thêm streaming hay xử lý thị giác sau khi khung ảnh đọc được tin cậy.

Đường này khác nhau giữa các bo ra sao?

Nhóm boGiao diện và đường driverKiểm tra phần mềm đầu tiênCâu hỏi tích hợp thường gặp
Raspberry PiCáp camera CSI vào đầu nối camera trên bo; ngăn xếp camera hỗ trợ dùng rpicam-apps hoặc thư viện như Picamera2Hoàn tất cấu hình rpicam-apps chính thức rồi kiểm tra ảnh tĩnh đọc được bằng tiện ích chụp đã càiĐúng bo và camera có dùng đầu nối tương ứng và xuất hiện trong ngăn xếp camera được hỗ trợ không?
JetsonCảm biến CSI có thể dùng camera stack Jetson và Argus/GStreamer; camera USB thường đi qua V4L2gst-launch-1.0 nvarguscamerasrc ! fakesink -e cho đường CSI được hỗ trợ, hoặc liệt kê thiết bị V4L2 cho USBCảm biến có driver, cấu hình device-tree và ISP tương thích với bản phần mềm Jetson này không?
ESP32-CAMTín hiệu cảm biến nối theo sơ đồ chân của đúng bo ESP32; driver esp32-camera của Espressif thu khung và có thể phục vụ đầu ra JPEGBiên dịch ví dụ camera chính thức cho đúng module, rồi kiểm tra kết quả chụpCảm biến, sơ đồ chân, PSRAM và định dạng pixel được chọn có được hỗ trợ cùng nhau không?

Chi tiết đầu nối rất quan trọng. Tài liệu Raspberry Pi nói bo Raspberry Pi 5 và Pi Zero dùng đầu nối mini 22 chân, còn các bo flagship trước đó đến Raspberry Pi 4 dùng đầu nối chuẩn 15 chân. Dùng đúng cáp cho đúng bo. Trên Jetson, API phụ thuộc đường camera: NVIDIA mô tả Argus/GStreamer cho camera CSI được hỗ trợ và V4L2 cho camera USB. Kiến trúc tham chiếu không có nghĩa mọi cảm biến bên thứ ba đều sẵn driver. Driver Espressif hỗ trợ một số dòng ESP32 và cảm biến ảnh cụ thể; sơ đồ chân và cấu hình bộ nhớ của bo phải khớp module camera.

Ví dụ: chứng minh ứng dụng nhận được một ảnh

Kế hoạch tích hợp minh họa; chưa phải kết quả thử.

Chọn một cặp camera-bo được hỗ trợ và đọc ví dụ chính thức. Với Pi, dùng tiện ích chụp để ghi ảnh tĩnh; thành công là lệnh kết thúc bình thường và tệp mở được. Với camera CSI Jetson được hỗ trợ, chạy pipeline GStreamer có sink nhận khung; thành công là bộ đệm đến mà không báo lỗi cảm biến hoặc pipeline. Với ESP32-CAM, biên dịch ví dụ chính thức theo sơ đồ chân đúng bo; thành công là esp_camera_fb_get() trả bộ đệm khung hình để ứng dụng kiểm tra hoặc phục vụ dưới dạng JPEG.

Nếu không thấy thiết bị, kiểm loại đầu nối, chiều cáp và hỗ trợ driver trước khi đổi thông số ảnh. Nếu khởi tạo thành công nhưng không thu được khung, kiểm cấu hình cảm biến, xung nhịp, sơ đồ chân và hỗ trợ bo. Nếu ảnh lỗi hoặc thiếu bộ nhớ, xem định dạng pixel, kích thước khung và bộ nhớ còn; ảnh độ phân giải thấp hơn hoặc nén có thể vừa hơn, nhưng vẫn phải đo chất lượng cần cho ứng dụng. Giữ ảnh thử chuẩn đã biết và ghi lại bo, module camera, driver cùng bản phần mềm để so sau khi cập nhật.

Phép thử camera thành công chứng minh điều gì?

Ảnh tĩnh đọc được chứng minh ánh sáng đã tới cảm biến và đường chụp đã tạo ra tệp hoặc khung. Nó không chứng minh tốc độ khung mong muốn, độ trễ, chất lượng ảnh khi rung, truyền hình qua mạng, độ chính xác thị giác máy hay tương thích với máy tính bay. Hãy thử riêng các yêu cầu đó trong kiến trúc phần mềm dự kiến.

Hiểu lầm thường gặp

Đầu nối cắm vừa nghĩa là camera được hỗ trợ. Đầu nối chỉ là một lớp; driver, cấu hình cảm biến và định dạng đầu ra cũng phải khớp.

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

Có thể dùng cùng một cáp camera cho mọi bo không?

Không. Kích thước đầu nối, chân tín hiệu và cách truyền dữ liệu khác nhau. Xác nhận đầu nối, sơ đồ chân và giao tiếp của đúng cặp bo và camera.

Vì sao Jetson cần nhiều hơn cáp CSI đúng loại?

Cảm biến còn có thể cần driver kernel, cấu hình device-tree và hỗ trợ xử lý ảnh tương thích. Cáp không cung cấp các phần mềm này.

Vì sao ESP32-CAM cần kiểm tra bộ nhớ?

Driver đệm khung ảnh; tài liệu cho biết một số định dạng và chế độ chụp gây áp lực đáng kể lên bộ nhớ và xử lý của chip. Xác nhận bộ nhớ và định dạng đầu ra được module cụ thể hỗ trợ.

Tóm tắt

  • Ảnh đi từ cảm biến qua giao diện điện và driver vào bộ đệm khung hoặc tệp ảnh.
  • Pi, Jetson và ESP32-CAM cần kiểm tra khác nhau về đầu nối, phần mềm và hỗ trợ cảm biến.
  • Chứng minh ảnh đọc được trước, rồi thử hiệu năng và chất lượng ảnh cho ứng dụng dự kiến.

Thuật ngữ trong bài

Tên tiếng Việt, tên tiếng Anh và nghĩa dùng trong bài. Di chuột, chạm hoặc dùng phím Tab tới từ có gạch chân chấm để xem giải thích ngay khi đọc.

giao diện cameracamera interface
Đường kết nối vật lý và tín hiệu đưa dữ liệu cảm biến ảnh tới bo.
cảm biến ảnhimage sensor
Linh kiện thu ánh sáng và chuyển thành dữ liệu pixel.
driver cameracamera driver
Phần mềm cấu hình cảm biến và chuyển khung hình cho ứng dụng.
bộ đệm khung hìnhframe buffer
Vùng bộ nhớ tạm chứa dữ liệu của một khung ảnh đã thu.

Bài này chưa được đánh dấu là đã xem

Thấy nội dung sai hoặc chưa an toàn?

Báo cho quản trị viên qua email. Thư có sẵn tên bài và đường dẫn.

Báo lỗi bài này
Xem tất cả bài của chủ đề

Nguồn

Các nguồn này viết cho người đọc lớn hơn. Nếu thấy khó, hãy đọc cùng người lớn.