โปรโตคอลการสื่อสาร SR226 V3.26
คู่มือผู้ใช้งาน API
บริษัท อู่ฮั่น เล่ยเคด้า วิทยาศาสตร์และเทคโนโลยี จำกัด (Wuhan Lakeda Science And Technology Co., Ltd.)
สารบัญ
1. ภาพรวม
โปรโตคอลการสื่อสาร SR226 ใช้กำหนดอินเทอร์เฟซ UDP ระหว่าง เรดาร์ และ เทอร์มินัล PC
สำหรับชุดเรดาร์รักษาความปลอดภัย “XW/SR226-6000XP”
โปรโตคอลนี้ครอบคลุม:
- คำสั่งเชื่อมต่อ (Link Command)
- การควบคุมพารามิเตอร์
- ข้อมูลการติดตาม (Track Data)
- แพ็กเก็ต Heartbeat
- ข้อมูลพารามิเตอร์
2. โปรโตคอลการสื่อสาร
- เรดาร์และพีซีต้องอยู่ใน Subnet เดียวกัน
- ใช้โปรโตคอล UDP datagram โดยใช้รูปแบบไบต์ Little Endian
- ลำดับการสื่อสาร:
- พีซีส่ง คำสั่งเชื่อมต่อ (Link Command)
- เรดาร์บันทึก IP/Port ของพีซี
- เรดาร์ส่งข้อมูล Track Data และ Heartbeat Packets
ประเภทของข้อความมีสองแบบ:
- PC → Radar: คำสั่งควบคุม (Link, Parameter Control)
- Radar → PC: ข้อมูลรายงาน (Track Data, Heartbeat, Parameter Data)
2.1 คำสั่งควบคุม (PC → Radar)
2.1.1 คำสั่งเชื่อมต่อ (Link Command)
- พีซีจะส่งคำสั่งคงที่ 10 ไบต์
- เรดาร์จะตอบกลับด้วย Track Data และ Heartbeat Packets
- IP เริ่มต้นของเรดาร์คือ
192.168.0.100
พอร์ต12580
- ควรส่งคำสั่งนี้ ทุก 1 นาที
รูปแบบคำสั่งเชื่อมต่อ (10 ไบต์):
Byte Offset | ฟิลด์ | ความยาว | รูปแบบ | คำอธิบาย |
---|---|---|---|---|
0–9 | FrameHead | 10 | char | ค่าคงที่: 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA |
2.1.2 การควบคุมพารามิเตอร์ (Parameter Control)
ใช้สำหรับ การเรียกดูหรือแก้ไขพารามิเตอร์ของเรดาร์
รูปแบบข้อความทั่วไป (32 ไบต์):
Byte Offset | ฟิลด์ | ความยาว | รูปแบบ | คำอธิบาย |
---|---|---|---|---|
0–3 | FrameHead | 4 | uint | ค่าคงที่ 0xAA 0xAA 0xAA 0xAA |
4 | InfoType | 1 | byte | ค่าคงที่ 0x0B |
5–7 | Reserved | 3 | byte | ค่าเริ่มต้น 0x00 |
8 | ParameterType | 1 | byte | 1–255 (ดูรายการด้านล่าง) |
9 | DeviceType | 1 | byte | 0x01 |
10 | FaceID | 1 | byte | 0x00 |
11 | Checksum | 1 | byte | ผลรวมของไบต์ 9–24 |
12–15 | Reserved | 4 | byte | ค่าเริ่มต้น 0x00 |
16–19 | Parameter1 | 4 | varies | ขึ้นอยู่กับประเภท |
20–23 | Parameter2 | 4 | varies | ขึ้นอยู่กับประเภท |
24–27 | Parameter3 | 4 | varies | ขึ้นอยู่กับประเภท |
28–31 | Parameter4 | 4 | varies | ขึ้นอยู่กับประเภท |
รายการประเภทพารามิเตอร์ (Parameter Type List):
1 – สถานะอุปกรณ์ (Status Query)
- Param1: ประเภทอุปกรณ์ (คงที่
0x01
) - Param2: ประเภทสถานะ (0–255, ดู Section 2.2.3 Table 5-1)
- Param3/4:
0
- Param1: ประเภทอุปกรณ์ (คงที่
2 – ข้อมูล GPS และทิศทาง (GPS & Orientation)
- Param1: ละติจูด (float, -90° ถึง +90°)
- Param2: ลองจิจูด (float, -180° ถึง +180°)
- Param3: ความสูง (float, -500 ถึง +10,000m)
- Param4: มุมอะซิมุท (float, 0–360°)
11 – การตั้งค่า Threshold
- Param1: ระดับการตรวจจับ (float, 11.0–40.0 dB)
- Param2: ความเร็วสูงสุด (float, 1.0–40.0 m/s)
- Param3: ความเร็วต่ำสุด (float, 0.0–10.0 m/s)
- Param4: สำรอง
20 – คำสั่งเฟรมเดี่ยว (Single Frame Command)
- Param1: Header (0xA5), ID (0x10), Type (0x01)
- Param2–4: ข้อมูลเฟรมและเช็กซัม
21 – พารามิเตอร์มุมสแกน (Sector Parameters)
- Param1: มุมเริ่มต้น (0–255, หน่วยละ 1.4063°)
- Param2: มุมสิ้นสุด (0–255)
22 – พารามิเตอร์โซนเงียบ (Silence Zone)
- Param1–2: กำหนดได้สูงสุด 4 โซน (มุมเริ่ม/สิ้นสุด)
2.2 ข้อมูลรายงาน (Radar → PC)
2.2.1 ข้อมูลติดตามเป้าหมาย (Track Data)
หลังจากรับคำสั่งเชื่อมต่อ เรดาร์จะส่ง ข้อมูลการติดตามแบบต่อเนื่อง
รูปแบบข้อมูลต่อแพ็กเก็ต (ขนาดแปรผัน):
Byte Offset | ฟิลด์ | ความยาว | รูปแบบ | คำอธิบาย |
---|---|---|---|---|
0–3 | FrameHead | 4 | uint | 0xAA 0xAA 0xAA 0xAA |
4 | InfoType | 1 | byte | 0x01 |
5–6 | Reserved | 2 | byte | / |
7 | DeviceType | 1 | byte | 0x01 |
8–9 | TrackCount | 2 | ushort | จำนวนเป้าหมาย (0–999) |
10–11 | Reserved | 2 | byte | / |
ข้อมูลต่อเป้าหมาย (79 ไบต์):
ฟิลด์ | ความยาว | รูปแบบ | คำอธิบาย |
---|---|---|---|
Batch ID | 4 | uint | หมายเลขชุดข้อมูล |
Azimuth | 4 | float | 0–360° |
Range | 4 | float | ระยะ (เมตร) |
Latitude | 4 | float | -90° ถึง +90° |
Longitude | 4 | float | -180° ถึง +180° |
Radial Velocity | 4 | float | m/s |
Exist Flag | 2 | byte | 0=หายไป, 1=มีอยู่ |
Elevation | 4 | float | ° |
Heading | 4 | float | ° |
Speed | 4 | float | m/s |
Altitude | 4 | float | m |
Timestamp | 4 | uint | มิลลิวินาทีจากต้นวัน |
Amplitude | 2 | ushort | 0.1 dB |
Category | 1 | byte | 0=เรือ, 10=คน, 20=UAV, 30=รถ, 40=นก, 99=ไม่ทราบ |
Noise Amplitude | 2 | ushort | 0.1 dB |
Reserved | 21 | byte | / |
Checksum | 1 | byte | ผลรวมข้อมูล |
2.2.2 แพ็กเก็ตตรวจจับการทำงาน (Heartbeat Packet)
รูปแบบ (16 ไบต์):
Byte Offset | ฟิลด์ | ความยาว | รูปแบบ | คำอธิบาย |
---|---|---|---|---|
0–3 | FrameHead | 4 | uint | 0xAA 0xAA 0xAA 0xAA |
4 | InfoType | 1 | byte | 0x04 |
5–6 | Reserved | 2 | byte | / |
7 | DeviceType | 1 | byte | 0x01 |
8–9 | Reserved | 2 | ushort | / |
10 | AzimuthCode | 1 | byte | 0–255 → 0–360° |
11–14 | Timestamp | 4 | uint | มิลลิวินาทีจากต้นวัน |
2.2.3 ข้อมูลพารามิเตอร์ (Parameter Data)
ส่งกลับเมื่อมีการเรียกดูสถานะเรดาร์
รูปแบบ (32 ไบต์):
Byte Offset | ฟิลด์ | ความยาว | รูปแบบ | คำอธิบาย |
---|---|---|---|---|
0–3 | FrameHead | 4 | uint | 0xAA 0xAA 0xAA 0xAA |
4 | InfoType | 1 | byte | 0x03 |
5–7 | Reserved | 3 | byte | / |
8 | StatusType | 1 | byte | 1–255 |
9 | DeviceType | 1 | byte | 0x01 |
10 | FaceID | 1 | byte | 0x00 |
11 | Checksum | 1 | byte | ผลรวมของไบต์ 9–24 |
12–15 | Reserved | 4 | byte | / |
16–19 | Status1 | 4 | varies | ขึ้นอยู่กับประเภท |
20–23 | Status2 | 4 | varies | ขึ้นอยู่กับประเภท |
24–27 | Status3 | 4 | varies | ขึ้นอยู่กับประเภท |
28–31 | Status4 | 4 | varies | ขึ้นอยู่กับประเภท |
ตัวอย่างประเภทสถานะ (Status Type Examples):
1
: สถานะ BIT (สุขภาพของช่องรับ/ส่ง)2
: ข้อมูล GPS และทิศทาง3
: พารามิเตอร์การทำงาน (โหมด, ความถี่, Face ID)11
: ค่าธรreshold (dB/m/s)12
: ข้อมูลเฟิร์มแวร์ (Device ID, เวอร์ชัน)21
: พารามิเตอร์มุมสแกน22
: พารามิเตอร์โซนเงียบ
หมายเหตุ
- ช่วงเวลาขั้นต่ำ ระหว่างคำสั่งควบคุม: 100 มิลลิวินาที
- Checksum: คำนวณจากผลรวมของไบต์ตามฟิลด์ที่กำหนด
- Sector & Silence Zones: ใช้ได้เฉพาะกับเรดาร์ที่หมุนกลไก
- Elevation/Height: ค่าเริ่มต้นเป็น 0 หากเรดาร์ไม่มีโมดูลวัดความสูง