35 Hình 3.6 biểu diễn lưu đồ thuật tốn được lập trình và cài đặt lên Raspberry Pi 4.
Chương trình sau khi khởi động được chia thành 4 luồng xử lý hoạt động song song:
• Flir Lepton: Luồng đọc dữ liệu từ camera FLIR Lepton qua giao tiếp SPI, xử lý và tổng hợp dữ liệu để tạo ra ảnh nhiệt và ma trận chứa giá trị nhiệt
độcamera đo được.
• DHT22: Luồng đọc dữ liệu nhiệt độ và độ ẩm môi trường do cảm biến nhiệt độđộẩm DHT22 đo được.
• Radiometry: Luồng xử lý chính, chịu trách nhiệm thực hiện nhiệm vụđo
nhiệt độ vật thể trong khung hình dựa vào dữ liệu được cung cấp từ 2 luồng Flir Lepton và DHT22. Ngồi ra, luồng này cịn thực hiện đọc ảnh từcamera thường, đồng bộ với camera nhiệt để hiển thị hình ảnh.
• Display: Luồng hiển thị hình ảnh. Hình ảnh từ camera nhiệt và camera
thường sẽ được luồng này thực hiện truyền về máy tính ở mặt đất và hiển thị.
Mô tả chi tiết quy trình xử lý cho từng luồng được mơ tảở các phần dưới đây.
Xử lý dữ liệu từ camera FLIR Lepton
Đọc dữ liệu thô từ camera
Camera FLIR Lepton sử dụng phương thức VoSPI để truyền dẫn dữ liệu hình
ảnh [18]. Phương thức VoSPI này được xây dựng dựa trên một tập hợp các đối
tượng được định nghĩa như sau:
• VoSPI Packet: VoSPI là phương thức giao tiếp dựa trên những gói tin cơ
bản được gọi là VoSPI Packet – một giao dịch nhỏ nhất giữa master và slave. Mỗi gói tin VoSPI sẽ bao gồm dữ liệu cho một hàng trong một khung hình video. Ngồi ra, VoSPI Packet cịn bao gồm những gói tin “bỏ qua” được truyền đi qua đường SPI khi camera đang không tồn tại dữ liệu cần truyền.
• VoSPI Segment: Một VoSPI Segment được định nghĩa là một tập hợp nối tiếp các VoSPI Packet bao gồm dữ liệu của một phần tư số điểm ảnh có trong một khung hình video.Để đảm bảo dự đồng bộ trên đường truyền, toàn bộ số dữ liệu của một VoSPI Segment cần được đọc hết trước khi Segment tiếp theo được tạo ra.
• VoSPI Stream: VoSPI Stream được định nghĩa là một tập hơn nối tiếp của các VoSPI Segment.
Ngồi việc truyền hình ảnh qua đường SPI, camera FLIR Lepton 3.5 còn hỗ trợ
thêm thư viện phát triển phần mềm qua giao tiếp I2C cho phép người lập trình thực hiện cấu hình được các thông số hoạt động của camera. Chi tiết các hàm có
trong thư viện phát triển phần mềm được liệt kê trong tài liệu [19].
Để có thể giao tiếp được với camera, ta thực hiện kết nối camera nhiệt FLIR Lepton 3.5 với Raspberry Pi 4 theo thứ tựchân như Bảng 3.4.
36
Bảng 3.4: Sơ đồ kết nối Pin giữa FLIR Lepton 3.5 với Raspberry Pi 4
Chức năng Lepton Pin Pi Pin
GND Pin 1 Pin 6
Power 3 – 5.5V Pin 2 Pin 4
I2C SDA Pin 5 Pin 3
I2C SCL Pin 8 Pin 5
SPI CS Pin 10 Pin 24
SPI CLK Pin 7 Pin 23
SPI MOSI Pin 9 Pin 19
SPI MISO Pin 12 Pin 21
VSYNC Pin 15 Pin 11
GND Pin 19 Pin 25
Sau khi đã thực hiện kết nối xong, ta thực hiện kích hoạt 2 giao tiếp SPI và I2C trên Raspberry Pi 4.
Tại giao diện màn hình chính của Raspberry Pi 4, chọn Menu > Preferences >
Raspberry Pi Configuration - Hình 3.7.