Cấu trúc dữ liệu một khung hình

Một phần của tài liệu Hệ thống giám sát tự động đường dây tải điện sử dụng uav và xử lý ảnh nhiệt (Trang 50 - 51)

Với mỗi Packet, phần đầu của gói tin sẽ bao gồm hai trường thơng tin là ID có

kích thước 2 bytes và CRC cũng có kích thước 2 bytes (Hình 3.10). Hai bytes

trường ID mã hóa cho số thứ tự Segment (1, 2, 3 hoặc 4) và số thứ tựPacket để

quyết định vị trí của Packet khi người lập trình tổng hợp dữ liệu và hình thành khung hình 160 x 120 pixel.

Mỗi khung hình 160 x 120 pixel thu được từ camera bao gồm 4 Segment, mỗi Segment gồm 60 Packet. Như vậy, tổng cộng có 240 Packet được sắp xếp lần

lượt từSegment 1 đến Segment 4 với mỗi hàng sẽ gồm 2 Packet như Hình 3.11.

Hình 3.12: Thơng tin được mà hóa ở phần đầu một Packet [18]

Hình 3.12 biểu diễn thơng tin được mã hóa ở phần đầu mỗi Packet với tổng cộng 32 bits. Bit đầu tiên ln ln có giá trị bằng không, ba bit tiếp theo được gọi là TTT bits, và theo sau là 12 bits biểu diễn số thứ tự Packet. Lưu ý rằng số thứ

Packet sẽđược đếm từ0 đến 59 cho một Segment và quay lại 0 khi đến Segment tiếp theo. Với tất cả Packet ngoại trừ Packet có số thứ tự 20 thì có thể bỏ qua

TTT bits. Còn riêng đối với Packet có số thứ tự 20, TTT bits biểu diễn số thứ tự

của Segment (1, 2, 3 hoặc 4) đang được camera truyền đi. Trong một vài trường hợp, camera có thể truyền đi một Segment có số thứ tựlà khơng, điều này này có

nghĩa là Segment này khơng có ý nghĩa, người lập trình hồn tồn có thể bỏ qua Segment này. Theo sau 16 bits mã hóa cho số thứ tự Segment và số thứ tự Packet là 16 bits cho phần CRC, tuy nhiên trong đồ án này, phần tính tốn và kiểm tra

CRC này được bỏqua để giảm khối lượng tính tốn cho Raspberry Pi 4.

Theo quy ước của FLIR Lepton thì dữ liệu cho mỗi pixel là một số 2 bytes (16 bits) lưu giá trị nhiệt độởđơn vị Kelvin và được nhân lên 100 lần, do đó để hình

thành được một hàng 160 pixel ta cần lấy ra phần payload của 2 Packet với tổng cộng 320 bytes dữ liệu rồi ghép lại. Cứnhư vậy, từ 240 Packet cho 4 Segment ta

39 tổng hợp được 120 hàng và tạo được một ma trận dữ liệu 160 x 120 tương ứng với một khung hình.

Lưu ý: Tại những thời điểm camera khởi động và thời điểm nghỉ giữa các khung hình, camera vẫn sẽ truyền đi những Packet, nhưng những Packet này không mang thông tin cần đọc và được bỏ qua. Để cho người lập trình có thể nhận ra những Packet bỏ qua này, FLIR Lepton sẽ mã hóa 2 bytes đầu của các Packet này ở dạng xFxx (trong đó ‘x’ là những dữ liệu “don’t care”) (Hình 3.13).

Hình 3.13: Định dạng một Packet bỏ qua [18]

Đọc d liu cm biến DHT22

Một phần của tài liệu Hệ thống giám sát tự động đường dây tải điện sử dụng uav và xử lý ảnh nhiệt (Trang 50 - 51)