DYP-A02-V2.0 Integration Guide (ThinkLink + EdgeBus)

1. Sensor Overview
The DYP-A02-V2.0 Series is a high-performance distance measurement module built with a sealed, split-type waterproof probe. It features dust- and water-resistance (IP-rated), making it suitable for humid or harsh operating environments.
- Minimal blind zone: 3cm
- Industrial-grade reliability
- Low power consumption
- Flexible output modes
2. Product Features
- Minimal blind zone: 3 cm
- Power supply: 3.3–5 V (RS-485 version: 5–24 V)
- Five selectable output modes
- Sealed split-type waterproof probe
- Operating temperature: −15°C to +60°C
- Storage temperature: −25°C to +80°C
- Standby current: < 5 µA
- ESD protection compliant with IEC 61000-4-2
3. Product Advantages
- Strong anti-interference capability
- Stable and reliable output
- Fast response time
- High measurement accuracy
- Wide operating temperature range
4. Applications
- Horizontal distance measurement
- Parking management systems
- Robot obstacle avoidance
- Object presence detection
5. Hardware Specifications
| Item | Value |
|---|---|
| Model | DYP-A02-V2.0 |
| Interface | RS-485 |
| Protocol | Modbus-RTU |
| Default Address | 0x01 |
| Baud Rate | 9600 (default) |
| Power Supply | 5–24 V |
| Standby Current | ≤ 5 µA |
| Avg Current | ≤ 15 mA |
| Peak Current | < 75 mA |
| Warm-up Time | 5 ms |
| Wiring | VCC / GND / A / B |
Test device:
- KC21 (A1 version)
6. Data Acquisition
6.1 Required Registers
0x0100— Distance0x0102— Temperature
6.2 Register Table
| Access | Address | Function | Type | Description |
|---|---|---|---|---|
| R | 0x0100 | Processed Distance | Uint16BE | Unit: mm, response ≈ 520 ms |
| R | 0x0101 | Real-time Distance | Uint16BE | Unit: mm, response ≈ 120 ms |
| R | 0x0102 | Temperature | Int16BE | Unit: 0.1°C |
| R/W | 0x0200 | Slave Address | Uint16 | 0x01–0xFE |
| R/W | 0x0201 | Baud Rate | Uint16 | See mapping below |
Baud Rate Mapping
| Value | Baud Rate |
|---|---|
| 0x0001 | 2400 |
| 0x0002 | 4800 |
| 0x0003 | 9600 |
| 0x0004 | 14400 |
| 0x0005 | 19200 |
| 0x0006 | 38400 |
| 0x0007 | 57600 |
| 0x0008 | 76800 |
| 0x0009 | 115200 |
7. EdgeBus Configuration
7.1 Basic Parameters
| Item | Value |
|---|---|
| bzType | 21305 |
| Battery | true |
| Upload Interval | app_70 |
| Acquisition Interval | app_74 |
| COV Threshold | app_110 |
7.2 EB Code
ts
import { Buffer } from "buffer";
import { buildOtaFile } from "@EBSDK/run";
import { EventInfoItem } from "@EBSDK/EBCompiler/all_variable";
import { getOtaConfig, HwTypeEnum, UpgrdTypeEnum } from "@EBSDK/otaConfig";
const eventInfo = [
{
name: "dyp-A02",
port: 22,
version: "0x83",
dataType: "0x37",
upPeriodIndex: 70,
quInfo: [
{
protocol: "modbus",
addr: "0x01",
code: "0x03",
periodIndex: 74,
isLast: false,
listVal: [
{ start: "0x0100", end: "0x0100", covType: "Uint16BE", covAppIndex: 110 },
{ start: "0x0102", end: "0x0102" }
]
}
]
}
];
let otaConfig = getOtaConfig({
UpgrdType: UpgrdTypeEnum.GW,
SwVersion: 31,
HwType: HwTypeEnum.OM822,
BaudRate: 9600,
StopBits: 1,
DataBits: 8,
Checkbit: 0,
Battery: true,
ConfirmDuty: 60,
BzType: 21305,
BzVersion: 11
});
buildOtaFile(__filename, otaConfig, () => {});8. Uplink Frame Structure
- Port: 22
| Field | Offset | Length | Description |
|---|---|---|---|
| version | 0 | 1 | 0x83 |
| dataType | 1 | 1 | 0x37 |
| battery | 4 | 1 | Voltage |
| addr | 5 | 1 | Slave ID |
| distance | 6 | 2 | mm |
| temperature | 8 | 2 | 0.1°C |
9. MQTT Subscription
Topic
text
/v32/{Organization Account}/tkl/up/telemetry/{eui}Sample Payload
json
{
"eui": "6353012af10a9331",
"telemetry_data": {
"snr": 13.5,
"rssi": -51,
"battery": 3.37,
"distance": 1,
"temperature": 23.3
}
}10. RPC Interface
Set Parameters
- RPC Name:
dyp_a02_set
| Parameter | App Address | Unit |
|---|---|---|
| period_up | 70 | s |
| period_read | 74 | s |
| cov_distance | 110 | mm |
11. Template
text
DYP-A02