1. 传感器简介
模型清单
可使用下列名称或 ID 在 ThinkLink 中搜索对应模型。
| 模型类型 | 名称 | id_name | 平台模型 ID |
|---|---|---|---|
| RPC | [CT30xLF-A0 ACT] 21308 | ct30xlfa0_action_21308 | 841830626125414403 |
| RPC | [CT30xLF-A0 GET] 21308 | ct30xlfa0_get_21308 | 841830626125414402 |
| RPC | [CT30xLF-A0 SET] 21308 | ct30xlfa0_set_21308 | 841830626125414401 |
| Template | CT30xLF-A0 | ct30xlfa0_21308 | 841830626125414404 |
| Thing Model | [CT30xLF-A0] | ct30xlfa0_21308 | 841827660052037632 |
| Thing Model | [REJEEE-21308-CT30xLF-A0资产] 区域聚合 | ct30xlfa0_asset_21308 | 119677174411063300 |
| Parameter Thing Model | [CT30xLF-A0-PARA] | ct30xlfa0_para_21308 | 841830626125414400 |
CT30x-LF-A0 是南京芮捷电子科技有限公司(REJEEE)生产的一款 LoRa 智能开关面板,采用 86 型墙壁开关盒设计,可在不改变室内布线的情况下,通过火线串联接入实现灯具的远程无线控制。设备支持 1~3 路开关控制(CT301 单控、CT302 双控、CT303 三控),适用于仓库、机房、办公楼等室内物联网场景。
本次对接方案中,设备型号为 CT30x-LF-A0,业务代码为 21308,模板名称为 CT30xLF-A0。
2. 产品特点
根据厂家资料,CT30x-LF-A0 具备以下特点:
- LoRa/LoRaWAN 通信,支持远程 + 本地手动控制
- 86 型标准面板,可直接替代老式机械开关
- 零火线接入,单路最大负载 400W
- 支持单控、双控、三控面板,灵活适配不同场景
- 内置天线,安装方便
- Class C 常在线,下行控制无延迟
3. 适用范围
CT30x-LF-A0 可广泛应用于以下场景:
- 仓库照明远程开关控制
- 机房设备电源远程管理
- 办公楼灯光集中控制
- 工厂车间照明智能化改造
4. 产品规格
| 参数 | 值 |
|---|---|
| 通信方式 | LoRa / LoRaWAN |
| 通信频率 | 470~510MHz(CN470) |
| 发射功率 | 最大 22dBm |
| 接收灵敏度 | -141dBm(SF12, BW125kHz) |
| 供电 | 火线 AC85V~265V |
| 单路最大负载 | 400W |
| 待机功耗 | ≤0.22W |
| 产品尺寸 | 86mm × 86mm × 34mm |
| 工作环境 | -30℃ ~ +70℃, ≤95%RH |
5. 数据采集
5.1 协议概述
CT30x-LF-A0 采用 自定义 TLV 变长帧协议,通过 LoRaWAN 的 FRMPayload 承载传感器数据。数据格式不依赖端口号区分——所有数据在同一端口上通过 Type 字段区分。
5.2 TLV 帧结构
| Type 范围 | 格式 | 说明 |
|---|---|---|
| 0x00~0x0F, 0xFF | T+V(固定长度) | 基础传感器类型,省略长度字节 |
| 0x10 以上 | T+L+V(可变长度) | 含长度字节,支持扩展 |
5.3 上行数据类型
| Type | 名称 | 长度 | 说明 |
|---|---|---|---|
| 0x00 | 设备信息 | 2 字节 | version(3b) + battery_level(5b) + reserve(1B) |
| 0x09 | 开关状态 | 1 字节 | 每 bit 代表一路开关状态 |
| 0x1A | 电流电压 | 2~4 字节 | current(int16BE, mA) [+ voltage(int16BE, 0.1V)] |
| 0x1B | 功率电能 | ≥4 字节 | active power(uint32BE, W) |
5.4 上行示例
FRMPayload (hex): 003300 0901 1A04011D08D1 1B040000003F解析结果:
- 设备信息: version=1, battery_level=19
- 开关: 通道1=ON
- 电流=285mA, 电压=225.7V
- 功率=63W
6. 物模型
6.1 物模型基本信息
数据物模型
- 名称:
[CT30xLF-A0] - id Name:
ct30xlfa0_21308
参数物模型
- 名称:
[CT30xLF-A0-PARA] - id Name:
ct30xlfa0_para_21308
6.2 数据物模型脚本
let payload = msg?.userdata?.payload;
if (!payload) return null;
let bytes = Buffer.from(payload, 'base64');
let data = {};
let i = 0;
while (i < bytes.length) {
let type = bytes[i++];
if ((type >= 0x00 && type <= 0x0F) || type === 0xFF) {
// T+V format
switch (type) {
case 0x00: // Device Info
let info = bytes[i++];
data.version = (info >> 5) & 0x07;
data.battery_level = info & 0x1F;
data.reserve = bytes[i++];
break;
case 0x09: // Switch Status
let sw = bytes[i++];
data.switch_1 = (sw & 0x01) === 0x01;
data.switch_2 = (sw & 0x02) === 0x02;
data.switch_3 = (sw & 0x04) === 0x04;
data.switch_status = sw;
break;
default: i = bytes.length; break;
}
} else {
// T+L+V format
let len = bytes[i++];
let value = bytes.slice(i, i + len);
i += len;
switch (type) {
case 0x1A:
if (len >= 2) data.current = value.readInt16BE(0);
if (len >= 4) data.voltage = value.readInt16BE(2) / 10.0;
break;
case 0x1B:
if (len >= 4) data.power = value.readUInt32BE(0);
break;
}
}
}
return {
telemetry_data: data,
server_attrs: null,
shared_attrs: null
};7. 第三方平台数据订阅
7.1 MQTT Topic
/v32/{Organization Account}/tkl/up/telemetry/{eui}
7.2 上报示例数据
{
"eui": "0123456789abcdef",
"active_time": "2026-05-11T09:00:00.000Z",
"thingModelId": "21308",
"thingModelIdName": "ct30xlfa0_21308",
"telemetry_data": {
"snr": 10.5,
"rssi": -45,
"switch_1": true,
"switch_2": false,
"switch_3": true,
"switch_status": 5,
"current": 285,
"voltage": 225.7,
"power": 63,
"version": 1,
"battery_level": 19
}
}8. RPC
8.1 参数配置 RPC(SET)
上报周期配置
- 名称:
[CT30xLF-A0 SET] 21308 - id Name:
ct30xlfa0_set_21308
参数定义
| 参数 | 类型 | 说明 |
|---|---|---|
| period_up | number | 上报周期(秒),范围 1-65535 |
RPC 代码
const rpcName = "ct30xlfa0_set_21308";
let classMode = (device && device.shared_attrs && device.shared_attrs.class_mode) || "ClassC";
let dnBuffer = Buffer.alloc(4);
dnBuffer[0] = 0x02;
dnBuffer[1] = 0x11;
dnBuffer.writeUInt16BE(params.period_up, 2);
let paraDef = {
app_11: {name: "period_up", field_name: "period_up", unit: "s", type: "uint16BE"}
};
let readBuffer = Buffer.alloc(2);
readBuffer[0] = 0x01;
readBuffer[1] = 0x81;
let paraDownBuffer = Buffer.alloc(dnBuffer.length + readBuffer.length);
dnBuffer.copy(paraDownBuffer, 0);
readBuffer.copy(paraDownBuffer, dnBuffer.length);
let msgQue = Utils.makeParaSetMSG({
device: device,
classMode: classMode,
rpcName: rpcName,
params: params,
paraDownBuffer: paraDownBuffer,
});
if (msgQue.length === 0) return null;
return msgQue;下行报文格式:0x02 0x11 + period_up(uint16BE),通过 LoRaWAN 透传端口(51)下发。
8.2 参数读取 RPC(GET)
用户配置读取
- 名称:
[CT30xLF-A0 GET] 21308 - id Name:
ct30xlfa0_get_21308
无参数,读取后设备返回包含 period_up、period_read 等字段的配置数据。
RPC 代码
let dnBuffer = Buffer.alloc(2);
dnBuffer[0] = 0x01;
dnBuffer[1] = 0x81;
let msg = RPCHelper.makeMSG({
msgType: Utils.msgType.transParent,
device: device,
dnBuffer: dnBuffer,
sleepTime: 2000
});
return [msg];下行报文格式:0x01 0x81,通过 LoRaWAN 透传端口(51)下发。
8.3 开关控制 RPC(ACTION)
多通道开关控制
- 名称:
[CT30xLF-A0 ACT] 21308 - id Name:
ct30xlfa0_action_21308
参数定义
| 参数 | 类型 | 说明 |
|---|---|---|
| switch_1 | boolean | 通道 1 开关(true=开, false=关) |
| switch_2 | boolean | 通道 2 开关 |
| switch_3 | boolean | 通道 3 开关 |
RPC 代码
let mask = 0x00;
let action = 0x00;
if (params.switch_1 !== undefined) { mask |= 0x01; if (params.switch_1) action |= 0x01; }
if (params.switch_2 !== undefined) { mask |= 0x02; if (params.switch_2) action |= 0x02; }
if (params.switch_3 !== undefined) { mask |= 0x04; if (params.switch_3) action |= 0x04; }
if (mask === 0x00) return null;
let dnBuffer = Buffer.alloc(3);
dnBuffer[0] = 0x23;
dnBuffer[1] = mask;
dnBuffer[2] = action;
let msg = RPCHelper.makeMSG({
msgType: Utils.msgType.transParent,
device: device,
dnBuffer: dnBuffer,
sleepTime: 2000
});
return [msg];下行报文格式:0x23 + mask(1B) + action(1B),通过 LoRaWAN 透传端口(51)下发。
9. 模板选择
在 ThinkLink 平台中搜索模板: CT30xLF-A0
或按业务类型查找: 21308 / LoRa 智能开关 / REJEEE 灯控面板
补充说明
- 设备默认运行参数可通过 SensorTool 桌面工具配置(需拆机、断电操作)。
- CT301/CT302/CT303 共用同一套物模型,通道数由设备型号决定。
- 设备为 Class C 常在线,下行控制可随时下发,无延迟。
- 零线为可选接入——正常接零线不影响功能,可在单火接入灯微量发光时解决灯闪问题。
- 接线时禁止带电操作。