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.

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 1
thermal imaging camera temperature communication protocol 2

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, minutes, seconds, 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;

Support

  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 hours. In a stable process environment, the packaging will not be affected by heat sources, wind, etc.;

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, distance, 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

OffsetFieldSize(byte)ValueDescriptionRemark
0u32MagicNo   4the frame sequence number,The frame sequence number uploaded in real time is a continuously increasing even number.10001002, 1004, 10060x70827773 “FRMI”ofascllcode*/       
4u32HeaderSize4 HEADlength*/                         
8u32StreamType4 data typeRTData:SeeSTREAM_TYPE_E*/ 
12u32StreamLen 4 DATAlength(Including the front4byte) */           
16u32RTDataType4 1-14bitNaked data; 2-Full screen temperature measurement result data; 3-YUVdata*/                
20u32FrmNum    4 Not supported displayed as 0
24u32StdStamp  4 DSPrelative timestamp*/                                                Not supportedDisplayed as 0
28year       2 Year*/             Not supported displayed as 0
30month      2 moon*/             Not supported displayed as 0
32dayOfWeek  2 0:Sunday~6:SaturdayNot supported displayed as 0
34day        2 day*/             Not supported displayed as 0
36hour       2 Hour*/           
38minute     2 minute*/           
40second     2 Second*/             
42milliSecond2 millisecond*/           
44u32Width 4 Raw data width
48u32Height4 High naked data
52u32Len   498304Channel number fixed 0
56u32Fps   425Real-time upload frame rate-Currently fixed25
60u32Chan  40Channel number, fixed 0
64u32TmDataMode 410for4byte, 1for2byte*/           
68u32TmScale    4 Temperature measurement scaling ratio          
72u32TmOffset   40Temperature 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

OrderFieldSizeValue typeDescriptionRemark
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-Wednesday Not supported, displayed as 0
4-Thursday  5-Friday Not supported, displayed as 0
6-SaturdayNot supported, displayed as 0
8Day20day 1-31Not supported, displayed as 0
9Hour20Hour 0-23
10Minute20minute 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 (default)
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. Currently, 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. Currently, 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]
31distance4Numberdistance
0.3-3m
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

 FieldSize(byte)ValueDescriptionRemark
 u32MagicNo   4 0x70827773 “FRMI”ofascllcode*/    
 u32HeaderSize4 HEADlength*/                      
 u32StreamType4 data typeRTData:SeeSTREAM_TYPE_E
 u32StreamLen 4 DATAlength(Including the front4byte) */        
 bIFRYuv      4 Whether to carryYUVpicture*/               
STREAM_FS_SUPPLE_INFO_TEMP
Real-time temperature data additional information structure         
u32TmDataMode410for4byte, 1for2byte*/           
u32TmScale   4 Temperature measurement scaling ratio          
u32TmOffset  40Temperature 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*/                
u32FrmNum    4 frame sequence number,The frame sequence number uploaded in real time is a continuously increasing even number.10001002, 1004, 1006
u32StdStamp  40DSPrelative timestamp*/                                                Not supporteddisplayed as0
year       20Year*/             Not supporteddisplayed as0
month      20moon*/             Not supporteddisplayed as0
dayOfWeek  200:Sunday~6:SaturdayNot supporteddisplayed as0
day        20day*/             Not supporteddisplayed as0
hour       20Hour*/
minute     20minute*/
second     20Second*/
milliSecond20millisecond*/
u32Width 4 Raw data width*/ 
u32Height4 High naked data*/  
u32Len   498304The length of the real-time temperature measurement matrix,in bytes,Plus4bytes,like4BytesfloatThermometry matrix: 256*192*2
u32Fps   425Real-time upload frame rate-Currently fixed25
u32Chan  41Channel number, fixed1
RT_YUV_DATA_INFO_S
real timeYUVThe output structure of
u32FrmNum  4 frame sequence number,The frame sequence number uploaded in real time is a continuously increasing even number.1000, 1002, 1004, 1006
u32Width   4 YUVData width                   
u32Height  4 YUVHigh data          
u32Len     4 YUVData length(DATA2)
u32StdStamp40DSPrelative timestamp*/                                                      Not supporteddisplayed as0
year       20Year*/             Not supporteddisplayed as0
month      20moon*/             Not supporteddisplayed as0
dayOfWeek  200:Sunday~6:SaturdayNot supporteddisplayed as0
day        20day*/             Not supporteddisplayed as0
hour       20Hour*/           
minute     20minute*/           
second     20Second*/             
milliSecond20millisecond*/           
IFR_REALTIME_TM_OUTCOME_UPLOAD_INFOOutput structure of real-time temperature measurement information tempUnit4 temperature unit,Default Celsius,Mainly used for uploading
refTempkey1 Reflective temperature switch
res[3]3 reserve
f32Distance 4 Measure distance
refTemp     4 Reflected temperature,Switch based on reflected temperature
emissionRate4 Emissivity, [0.00, 1.0]
envTemp     4 ambient temperature,When there is no temperature sense, it is obtained from the temperature measurement algorithm library.
minTmp      4 Full screen minimum temperature
maxTmp      4 Full screen maximum temperature
avrTmp      4 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)
x4  
and4  
u32TempMode4 0:Expert temperature measurement, 1:Ordinary temperature measurement
resv[5]20 reserve
pointNum4 Number of temperature measurement points,maximum10indivual    
boxNum  4 Number of frame temperature measurements,maximum10indivual    
lineNum 4 Number of line temperature measurement lines,most1strip     
total   4 The sum of the three parties             
reserved[8]32 reserve
IFR_OUTCOME_INFO*21(temperature measurement result)
enable        1 //<Whether to enable: 0-no,1-yes             
regionld      1 //<areaID                          
reserved[2]   2 //<reserved fields                        
reftemp       4                                    
reservedex[20]1 //<reserved fields                        
f32Distance   4 //<distance                            
u8res         1 //<reserved fields                        
u8maxTmpStat  1 //See the maximum temperature stateTM_TEMP_STAT_E   
u8minTmpStat  1 //See the lowest temperature statusTM_TEMP_STAT_E   
u8avgTmpStat  1 //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)
x4  
and   4  
pointNum4 Actual number of vertices of the polygon (polygon area)
IFR_POINT*12(polygon area) coordinates
x4  
and   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 x 192, 384 x 288, and 640 x 512.
The detection distance is 150 meters and 300 meters.
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

Ask A Question

← Back

Thank you for your response. ✨