thermal imaging camera temperature communication protocol

Some customers ask if our thermal imaging cameras can display the temperature of observed objects in the video. The answer is yes.

Youtube video

The following pictures show the highest, lowest, and average temperatures in the video from the thermal imaging camera.

thermal imaging camera temperature communication protocol Maximum minimum average temperature
thermal imaging camera temperature communication protocol
USB interface thermal imaging camera to monitor temperature

thermal imaging camera temperature communication protocol docking guide

Communication identification

According to the own development environment, complete the access of the device and realize communication(If the time stamp needs to be aligned in the plan, it needs to be corrected every time the computer is turned on, and it needs to be corrected at least once a day);

Time calibration

To find the full-screen temperature measurement data of a certain frame of the movement, it is necessary to access the device to perform time calibration on the module to ensure real-time performance;

It should be noted this movement only supports hours, الدقائق, ثواني, and milliseconds for timestamps, and does not support years, months, days, and days of the week (displayed as 0 in the corresponding data format).

Data acquisition

The module provides different video streaming and temperature measurement data acquisition methods. According to your own needs, you can select the corresponding data type and process and present it on the host;

الدعم

  1. Full-screen temperature measurement real-time data;
  2. YUV real-time streaming data;
  3. Full-screen temperature measurement + YUV real-time streaming data;

(see attached page for details)

Temperature measurement calibration

After integration and deployment into the whole machine, the temperature rise may affect the temperature measurement accuracy of the temperature measurement movement. It is necessary to place the temperature measurement module in the device after the heat engine has stabilized, and then perform temperature measurement calibration to ensure The accuracy of the whole machine product.

[One-click calibration]

Electric heating engine

The equipment is integrated into the whole machine. The electric heating engine needs to be stabilized before calibration. It is recommended to take more than 2 ساعات. In a stable process environment, the packaging will not be affected by heat sources, wind, إلخ;

It is necessary to use a black body to set four temperatures of 35°C, 60°C, 100°C, and 200°C as subsequent temperature measurement calibration points;

Set calibration parameters

Set the calibration parameters of the movement, مسافة, blackbody emissivity, calibration point temperature

Calibration temperature acquisition

Take the complete product, at the set distance, align the center of the thermal imaging screen with the black body at different temperature points to obtain the temperature, and wait for the return to complete (once for each temperature point);

One-click correction

After obtaining the calibration point, perform a one-click correction operation;

Accuracy inspection

After completing the correction, inspect each calibration temperature point to see if the measurement accuracy is within ±1.5°C or ±1.5% of the reading (whichever is the larger value). If it is out of range, repeat steps ③, , and ⑤.

thermal imaging camera temperature Integration communication protocol selection

UVC protocol supplement

1. Full-screen temperature measurement real-time data

OffsetFieldبحجم(بايت)ValueوصفRemark
0u32MagicNo4the frame sequence number,The frame sequence number uploaded in real time is a continuously increasing even number.10001002, 1004, 10060x70827773FRMIofascllcode*/
4u32HeaderSize4 HEADlength*/
8u32StreamType4 data typeRTData:SeeSTREAM_TYPE_E*/
12u32StreamLen4 DATAlength(Including the front4byte) */           
16u32RTDataType4 1-14bitNaked data; 2-Full screen temperature measurement result data; 3-YUVdata*/
20u32FrmNum4 Not supported displayed as 0
24u32StdStamp4 DSPrelative timestamp*/Not supportedDisplayed as 0
28سنة2 Year*/Not supported displayed as 0
30month2 moon*/Not supported displayed as 0
32dayOfWeek2 0:Sunday~6:SaturdayNot supported displayed as 0
34day2 day*/Not supported displayed as 0
36ساعة2 Hour*/
38دقيقة2 minute*/
40ثانية2 Second*/
42milliSecond2 millisecond*/
44u32Width4 Raw data width
48u32Height4 High naked data
52u32Len498304Channel number fixed 0
56u32Fps425Real-time upload frame rate-Currently fixed25
60u32Chan40Channel number, fixed 0
64u32TmDataMode410for4byte, 1for2byte*/
68u32TmScale4 Temperature measurement scaling ratio
72u32TmOffset40Temperature measurement offset, Currently fixed to 0
76bylsFreezedata4 Whether it is frozen data, 1-freeze, 0Not frozen
124res[12]  480reserved bytes
128u32CrcVal4 The structure check code verifies the data in front of the structure

2. YUV real-time streaming data

OrderFieldبحجمValue typeوصفRemark
0YUV_Data_Magic_Head4NumberThe magic word on the head is specified as0x050508e7
1HeaderLen4NumberHeader data length, in bytes, fixed to the maximum calculation
2TotalDataLen4NumberAll data lengths, including header data, are in bytes and are fixed to the maximum calculation.
3Channel number fixed 01NumberChannel number, fixed 0
4reserved30reserved3bytes
5Year20YearNot supported, displayed as 0
6Month20moon 1-12Not supported, displayed as 0
7Day of Week20day of weekNot supported, displayed as 0
0-Sunday 1-MondayNot supported, displayed as 0
2-Tuesday 3-WednesdayNot supported, displayed as 0
4-Thursday 5-FridayNot supported, displayed as 0
6-SaturdayNot supported, displayed as 0
8Day20day 1-31Not supported, displayed as 0
9Hour20Hour 0-23
10Minute20دقيقة 0-59
11Second20Second 0-59
12millisecond20millisecond 0-999
13TMInfoPosition1BoolTemperature measurement information display location:
0-follow the rules(default value)
1-Display in the upper left corner
14bShowMaxTemp1BoolWhether to display the highest temperature: 0-Do not show(default value),1-show
15bShowMinTemp1BoolWhether to display the lowest temperature: 0-Do not show(default value),1-show
16bShowAvgTemp1Bool0 degrees Celsius (الافتراضي)
17tempUnit1Numbertemperature unit
temp mode
1-Fahrenheit
2-Kelvin
18tempMode1NumberTemperature measurement mode:0-Expert temperature measurement,1-Ordinary temperature measurement
Number of temperature measurement areas
19pointTmpNum1NumberNumber of temperature measurement points, max.10
20boxTmpNum1NumberNumber of frame temperature measurements, max.10
21lineTmpNum1NumberNumber of line temperature measurement lines, max.1strip
22total1NumberThe sum of the above three currently supports the most21For the sake of subsequent expansion, do not limit the range of this number.
23reserved118Numberreserved18bytes
The list of temperature measurement area results appears in a loop. حالياً, it supports up to 21, and the number is determined by the total above.
24Region ID1NumberThe list of temperature measurement area results appears in a loop. حالياً, it supports up to 21, which is determined by the total above.
25RegionEnabled1BoolZone enable
0-closure
1-turn on
26region type1NumberArea type
0-No zone type
1-Polygon area type
2-Linear area type
3-point area type
27Point_Num1Numbernumber of valid vertices, Most supported10 coordinates of valid vertices
 Within a single temperature measurement rule, the vertex coordinates of the temperature measurement rule, here according to the abovePoint_NumDetermine how many vertex coordinates to send
28Point_X4NumberCurrent vertex level X Axis coordinates, normalized to0-1000
29Point_Y4Numberthe current vertex is Y vertical AND Axis coordinates, normalized to0-1000
30emission Rate4NumberEmissivity—-Floating point numbers:[0.00, 1.00]
31مسافة4Numberمسافة
0.3-3م
The protocol is transmitted in centimeters, and users interpret it in centimeters.
32reflectiveTemperature4NumberReflected temperature:
-100.0~1000.0℃ (accurate to decimal point1bit, when transmitting(actual value+100)*10Convert to non-negative integer
33min Tmp4Numberminimum temperature: [-40.0, 1000.0], unit Celsius
34minTmp_X4Numberminimum temperature levelXAxis coordinates, normalized to0-1000
35minTmp_Y4Numberlowest temperature verticalANDAxis coordinates, normalized to0-1000
36max Tmp4Numbermaximum temperature: [-40.0, 1000.0], unit Celsius
37maxTmp_X4Numbermaximum temperature levelXAxis coordinates, normalized to0-1000
38maxTmp_Y4Numbermaximum temperature verticalANDAxis coordinates, normalized to0-1000
39avrTmp4Numberaverage temperature: [-40.0, 1000.0], unit Celsius

3.Full-screen temperature measurement + YUV real-time streaming data

 Fieldبحجم(بايت)ValueوصفRemark
 u32MagicNo4 0x70827773FRMIofascllcode*/
 u32HeaderSize4 HEADlength*/
 u32StreamType4 data typeRTData:SeeSTREAM_TYPE_E
 u32StreamLen4 DATAlength(Including the front4byte) */        
 bIFRYuv4 Whether to carryYUVpicture*/
STREAM_FS_SUPPLE_INFO_TEMP
Real-time temperature data additional information structure
u32TmDataMode410for4byte, 1for2byte*/
u32TmScale4 Temperature measurement scaling ratio
u32TmOffset40Temperature measurement offset,Currently fixed to0
bylsFreezedata4 Whether it is frozen data, 1-freeze, 0Not frozen
STREAM_RT_DATA_INFO_S
Real-time temperature data output structure
u32RTDataType4 1-14bitNaked data; 2-Full screen temperature measurement result data; 3-YUVdata*/
u32FrmNum4 frame sequence number,The frame sequence number uploaded in real time is a continuously increasing even number.10001002, 1004, 1006
u32StdStamp40DSPrelative timestamp*/Not supporteddisplayed as0
سنة20Year*/Not supporteddisplayed as0
month20moon*/Not supporteddisplayed as0
dayOfWeek200:Sunday~6:SaturdayNot supporteddisplayed as0
day20day*/Not supporteddisplayed as0
ساعة20Hour*/
دقيقة20minute*/
ثانية20Second*/
milliSecond20millisecond*/
u32Width4 Raw data width*/
u32Height4 High naked data*/
u32Len498304The length of the real-time temperature measurement matrix,in bytes,Plus4bytes,like4BytesfloatThermometry matrix: 256*192*2
u32Fps425Real-time upload frame rate-Currently fixed25
u32Chan41Channel number, fixed1
RT_YUV_DATA_INFO_S
real timeYUVThe output structure of
u32FrmNum4 frame sequence number,The frame sequence number uploaded in real time is a continuously increasing even number.1000, 1002, 1004, 1006
u32Width4 YUVData width
u32Height4 YUVHigh data
u32Len4 YUVData length(DATA2)
u32StdStamp40DSPrelative timestamp*/Not supporteddisplayed as0
سنة20Year*/Not supporteddisplayed as0
month20moon*/Not supporteddisplayed as0
dayOfWeek200:Sunday~6:SaturdayNot supporteddisplayed as0
day20day*/Not supporteddisplayed as0
ساعة20Hour*/
دقيقة20minute*/
ثانية20Second*/
milliSecond20millisecond*/
IFR_REALTIME_TM_OUTCOME_UPLOAD_INFOOutput structure of real-time temperature measurement informationtempUnit4 temperature unit,Default Celsius,Mainly used for uploading
refTempkey1 Reflective temperature switch
res[3]3 reserve
f32Distance4 Measure distance
refTemp4 Reflected temperature,Switch based on reflected temperature
emissionRate4 Emissivity, [0.00, 1.0]
envTemp4 ambient temperature,When there is no temperature sense, it is obtained from the temperature measurement algorithm library.
minTmp4 Full screen minimum temperature
maxTmp4 Full screen maximum temperature
avrTmp4 Full screen average temperature
IFR_POINT*3(Save the highest and lowest temperature coordinates in the test results,normalized to0-1000,array subscript: 0-maximum temperature, 1-lowest temperature, 2-average temperature)
س4  
و4  
u32TempMode4 0:Expert temperature measurement, 1:Ordinary temperature measurement
resv[5]20 reserve
pointNum4 Number of temperature measurement points,maximum10indivual
boxNum4 Number of frame temperature measurements,maximum10indivual
lineNum4 Number of line temperature measurement lines,most1strip
total4 The sum of the three parties
reserved[8]32 reserve
IFR_OUTCOME_INFO*21(temperature measurement result)
enable1 //<Whether to enable: 0-no,1-نعم
regionld1 //<areaID
reserved[2]   2 //<reserved fields
reftemp4                                    
reservedex[20]1 //<reserved fields
f32Distance4 //<مسافة
u8res1 //<reserved fields
u8maxTmpStat1 //See the maximum temperature stateTM_TEMP_STAT_E
u8minTmpStat1 //See the lowest temperature statusTM_TEMP_STAT_E
u8avgTmpStat1 //Average temperature temperature status seeTM_TEMP_STAT_E
regiontype4 Area type
name[32] 32 area name
emissionRate  //<Emissivity: [0.00, 1.00]                
minTmp  //<minimum temperature: [-40.0, 1000.0],Unit Celsius
maxTmp  //<maximum temperature: [-40.0, 1000.0],Unit Celsius
avrTmp  //<average temperature: [-40.0, 1000.0],Unit Celsius
diffTmp  //<temperature difference: [0.0, 1040.0],Unit Celsius
IFR_POINT*2(Save the highest and lowest temperature coordinates in the test results,normalized to0-1000,array subscript:0-maximum temperature, 1-lowest temperature)
س4  
و4  
pointNum4 Actual number of vertices of the polygon (polygon area)
IFR_POINT*12(polygon area) coordinates
س4  
و4  
 uploadType11Real-time data upload type-Full-screen temperature measurement real-time upload data type 0-JPEG;1-YUV
 res[11]440reserved
 u32CrcVal4 The structure check code verifies the data in front of the structure

Thermal imaging cameras are now also used on drones.
They find targets hidden at night, in the grass, or in the forest.
There are three main types of pixels: 256 س 192, 384 س 288, و 640 س 512.
The detection distance is 150 meters and 300 متر.
The thermal imaging camera also has a normal video output interface and a USB output interface.
There is usually also a serial port interface for sending commands to the camera to adjust parameters. such as zoom in, zoom out, and video color.
It is small in size and can replace common visible light cameras.

Post from File VF-202401

طرح سؤال

← رجوع

شكرًا لردكم ✨