Protokół komunikacji temperatury kamery termowizyjnej

Some customers ask if our thermal imaging cameras can display the temperature of observed objects in the video. Odpowiedź brzmi: tak.

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, minuty, sekundy, and milliseconds for timestamps, and does not support years, miesięcy, dni, 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;

Wsparcie

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

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

Set calibration parameters

Set the calibration parameters of the movement, dystans, 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 (Która jest większa wartość). 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

ZrównoważyćPoleRozmiar(bajt)WartośćOpisUwaga
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
28rok2 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
36godzina2 Hour*/
38minuta2 minute*/
40druga2 Second*/
42milliSecond2 millisecond*/
44u32Width4 Raw data width
48u32Height4 High naked data
52u32Len498304Channel number fixed 0
56u32Fps425Real-time upload frame rate-Currently fixed25
60u32Chan40Numer kanału, naprawił 0
64u32TmDataMode410for4byte, 1for2byte*/
68u32TmScale4 Temperature measurement scaling ratio
72u32TmOffset40Temperature measurement offset, Currently fixed to 0
76bylsFreezedata4 Whether it is frozen data, 1-zamrażać, 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

ZamówieniePoleRozmiarValue typeOpisUwaga
0YUV_Data_Magic_Head4NumerThe magic word on the head is specified as0x050508e7
1HeaderLen4NumerHeader data length, in bytes, fixed to the maximum calculation
2TotalDataLen4NumerAll data lengths, including header data, are in bytes and are fixed to the maximum calculation.
3Channel number fixed 01NumerNumer kanału, naprawił 0
4skryty30reserved3bytes
5Rok20RokNieobsługiwany, displayed as 0
6Month20moon 1-12Nieobsługiwany, displayed as 0
7Day of Week20day of weekNieobsługiwany, displayed as 0
0-Sunday 1-MondayNieobsługiwany, displayed as 0
2-Tuesday 3-WednesdayNieobsługiwany, displayed as 0
4-Thursday 5-FridayNieobsługiwany, displayed as 0
6-SaturdayNieobsługiwany, displayed as 0
8Dzień20day 1-31Nieobsługiwany, displayed as 0
9Hour20Hour 0-23
10Minute20minuta 0-59
11Drugi20Drugi 0-59
12milisekundę20milisekundę 0-999
13TMInfoPosition1BoolTemperature measurement information display location:
0-follow the rules(Wartość domyślna)
1-Display in the upper left corner
14bShowMaxTemp1BoolWhether to display the highest temperature: 0-Do not show(Wartość domyślna),1-show
15bShowMinTemp1BoolWhether to display the lowest temperature: 0-Do not show(Wartość domyślna),1-show
16bShowAvgTemp1Bool0 stopni Celsjusza (zaniedbanie)
17tempUnit1Numertemperature unit
temp mode
1-Fahrenheit
2-Kelvin
18tempMode1NumerTemperature measurement mode:0-Expert temperature measurement,1-Ordinary temperature measurement
Number of temperature measurement areas
19pointTmpNum1NumerNumber of temperature measurement points, max.10
20boxTmpNum1NumerNumber of frame temperature measurements, max.10
21lineTmpNum1NumerNumber of line temperature measurement lines, max.1strip
22całkowity1NumerThe sum of the above three currently supports the most21For the sake of subsequent expansion, do not limit the range of this number.
23reserved118Numerreserved18bytes
The list of temperature measurement area results appears in a loop. Obecnie, it supports up to 21, and the number is determined by the total above.
24Region ID1NumerThe list of temperature measurement area results appears in a loop. Obecnie, it supports up to 21, which is determined by the total above.
25RegionEnabled1BoolZone enable
0-closure
1-turn on
26region type1NumerArea type
0-No zone type
1-Polygon area type
2-Linear area type
3-point area type
27Point_Num1Numernumber 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_X4NumerCurrent vertex level X Axis coordinates, normalized to0-1000
29Point_Y4Numerthe current vertex is Y vertical AND Axis coordinates, normalized to0-1000
30emission Rate4NumerEmissivity—-Floating point numbers:[0.00, 1.00]
31dystans4Numerdystans
0.3-3m
The protocol is transmitted in centimeters, and users interpret it in centimeters.
32reflectiveTemperature4NumerReflected temperature:
-100.0~1000.0℃ (accurate to decimal point1bit, when transmitting(actual value+100)*10Convert to non-negative integer
33min Tmp4Numerminimalna temperatura: [-40.0, 1000.0], unit Celsius
34minTmp_X4Numerminimum temperature levelXAxis coordinates, normalized to0-1000
35minTmp_Y4Numerlowest temperature verticalANDAxis coordinates, normalized to0-1000
36max Tmp4Numermaximum temperature: [-40.0, 1000.0], unit Celsius
37maxTmp_X4Numermaximum temperature levelXAxis coordinates, normalized to0-1000
38maxTmp_Y4Numermaximum temperature verticalANDAxis coordinates, normalized to0-1000
39avrTmp4Numeraverage temperature: [-40.0, 1000.0], unit Celsius

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

 PoleRozmiar(bajt)WartośćOpisUwaga
 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-zamrażać, 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
rok20Year*/Not supporteddisplayed as0
month20moon*/Not supporteddisplayed as0
dayOfWeek200:Sunday~6:SaturdayNot supporteddisplayed as0
day20day*/Not supporteddisplayed as0
godzina20Hour*/
minuta20minute*/
druga20Second*/
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
u32Chan41Numer kanału, 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
rok20Year*/Not supporteddisplayed as0
month20moon*/Not supporteddisplayed as0
dayOfWeek200:Sunday~6:SaturdayNot supporteddisplayed as0
day20day*/Not supporteddisplayed as0
godzina20Hour*/
minuta20minute*/
druga20Second*/
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 rezerwa
f32Distance4 Measure distance
refTemp4 Reflected temperature,Switch based on reflected temperature
emissionRate4 Emissivity, [0.00, 1.0]
envTemp4 temperatura otoczenia,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)
x4  
i4  
u32TempMode4 0:Expert temperature measurement, 1:Ordinary temperature measurement
resv[5]20 rezerwa
pointNum4 Number of temperature measurement points,maximum10indivual
boxNum4 Number of frame temperature measurements,maximum10indivual
lineNum4 Number of line temperature measurement lines,most1strip
całkowity4 The sum of the three parties
skryty[8]32 rezerwa
IFR_OUTCOME_INFO*21(temperature measurement result)
włączać1 //<Whether to enable: 0-Nie,1-tak
regionld1 //<areaID
skryty[2]   2 //<reserved fields
reftemp4                                    
reservedex[20]1 //<reserved fields
f32Distance4 //<dystans
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
Nazwa[32] 32 area name
emissionRate  //<Emissivity: [0.00, 1.00]                
minTmp  //<minimalna temperatura: [-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  
i4  
pointNum4 Actual number of vertices of the polygon (polygon area)
IFR_POINT*12(polygon area) coordinates
x4  
i4  
 uploadType11Real-time data upload type-Full-screen temperature measurement real-time upload data type 0-JPEG;1-YUV
 res[11]440skryty
 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, i 640 x 512.
The detection distance is 150 meters and 300 metrów.
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

Zadać pytanie

← Wstecz

Twoja wiadomość została wysłana