Skip to content

1. 设备管理

ThinkLink (简称 TKL)支持多种设备类型的接入与统一管理,包括 LoRaWAN 设备、子设备、虚拟设备以及通过第三方协议接入的外部设备。系统提供灵活的设备生命周期管理能力,涵盖设备档案配置、物模型挂载、属性设置及设备间关联关系建立等功能。

  • 【注意1】 ThinkLink V2 支持 LoRaWAN 设备、子设备、虚拟设备和外部设备等多种类型。
  • 【注意2】 在新增设备时,若选择非 LoRaWAN 类型的第三方设备,其通信接口协议必须符合 TKL V2 的协议标准。
  • 【注意3】 对于通过 ThinkLink NS 接入的 LoRaWAN 设备,需先在“LoRaWAN设备档案”中完成设备注册,再将对应的 devEUI 添加至平台设备列表中。

1.1. LoRaWAN 设备档案

所有使用 OTAA 或 ABP 模式接入的 LoRaWAN 终端设备,均需在此模块预先创建设备档案。该档案用于网络服务器(NS)对设备的身份认证、密钥管理和通信调度。

1.1.1. 新增单个LoRaWAN 设备档案

字段名是否必填说明
devEui必填设备唯一标识符(EUI),全局唯一,不可重复。
devAddrABP 模式下必填设备地址,确保在网络中不冲突。
enable必填(默认值:TRUE是否启用该设备。TRUE 表示启用,FALSE 表示禁用。
down_enable必填(默认值:TRUE是否允许下行通信。TRUE 允许,FALSE 禁止。
lw_ver必填(建议值:1.0.2LoRaWAN 协议版本。推荐填写 1.0.2,兼容大多数 1.0.3 和部分 1.0.4 地区协议。
standard必填频段标准,可选: • CN470 • EU433 • EU868 • AS923 • AU915 • US902
class_mode必填(默认值:ClassA设备正常工作模式,可选:ClassAClassC
join_class_mode必填(默认值:ClassA重入网后的工作模式,应与设备实际行为一致。
app_keyOTAA 模式下必填OTAA 加密密钥(应用主密钥)。
apps_keyABP 模式下必填应用会话密钥。
nwks_keyABP 模式下必填网络会话密钥。
rx1dr_offset必填(默认值根据频段自动填充)下行窗口 RX1 的 DR 偏移量,不同地区标准有差异。
rx2dr必填(默认值根据频段自动填充)RX2 窗口的传输速率(Data Rate)。
rx_delay必填(默认值:1)上行数据后,第一个下行接收窗口的延迟时间(单位:秒)。
rx_delay_join必填(默认值:5)Join 流程中的下行响应延迟时间(单位:秒)。
rx2_freq必填(默认值根据频段自动填充)RX2 接收窗使用的固定频率,依地区标准而定。

📌提示:在添加新设备档案时,只需选定正确的 standard(频段)和 lw_ver(协议版本),其余参数将自动填充为对应标准的默认值,简化配置流程。

1.1.2. 批量导入 LoRaWAN 设备

对于大规模部署场景,支持通过 Excel 表格批量导入 LoRaWAN 设备档案。

  1. 下载标准模板文件(参考示例格式:mt_sdev_pf_macs--1756347416255.xlsx);
  2. 按照字段要求填写设备信息;
  3. 校验无误后上传至系统;
  4. 系统自动校验并导入设备档案。

1.2. 新增设备

1.2.1. 新增单个设备

在完成 LoRaWAN 设备档案配置后,可将其注册为平台管理设备。

字段说明
EUI设备的唯一编号,在 ThinkLink 系统内必须唯一。
名称用户自定义的设备名称,便于识别和管理。
设备类型可以为设备或者资产,资产为变量值重新组合后的虚拟体
配置模板可选择已预设的配置模板,快速绑定物模型、RPC 等功能配置。

操作建议:使用配置模板可大幅提高设备上线效率,特别适用于同型号设备批量部署。

1.2.2. 批量增加设备

可以通过 Excel 表格进行设备信息的批量导入。操作方法如下:

  1. 可先勾选一个已有设备,点击“导出”按钮,下载该设备的档案信息模板;
  2. 在此基础上填写或修改其他设备的信息,必须填写EUI字段(EUI 为设备的唯一标识);
  3. 若部分参数无需导入或修改,可直接删除对应列;
  4. 完成表格编辑后,执行批量导入操作:
  • 若系统中已存在相同 EUI 的设备:系统将更新该设备的对应参数;
  • 若系统中不存在该 EUI 的设备:系统将作为新设备进行添加。

⚠️ 请确保每个设备的 EUI 唯一且准确,以保证导入结果符合预期。

1.3. 设备详情

进入任一设备详情页面后,可进行以下高级配置与监控操作。

1.3.1. 新增物模型

  • 点击「新增」按钮,可为设备挂载一个物模型。 +一个设备可挂载多个物模型,以解析不同类型的数据报文(如传感器数据、状态上报、事件通知等)。
  • 物模型负责将原始二进制 payload 解析为结构化的应用层数据(如温度、湿度、开关状态等)。

1.3.2. 新增 RPC

  • 支持为设备挂载多个远程过程调用(RPC)模型。
  • 用于实现对设备的反向控制指令下发(如远程重启、参数修改、固件升级等)。

1.3.3. 服务端属性(Server Attributes)

  • 属于业务层逻辑参数,独立于设备上报的实际数据。
  • 示例:温湿度告警阈值、心跳检测周期、用户备注等。
  • 可在物模型脚本或 RPC 中被调用,参与逻辑判断。

🔧 用户可通过界面手动增删服务端属性。

1.3.4. 共享属性(Shared Attributes)

  • 存储于设备侧,但可在服务端和设备侧双向更新。
  • 典型用途:设备工作模式、采样间隔、OTA 更新标记等。
  • 可在物模型解析上行报文时提取并同步至平台。

1.3.5. 遥测数据(Telemetry Data)

  • 实时保存设备最新一次上报的遥测信息及其时间戳。
  • 包括温度、电压、位置、状态码等动态变化数据。

1.3.6. 设备关联

  • 支持为主设备添加从设备,或为从设备指定主设备,构建设备拓扑关系。
  • 关联类型支持:
    • 从设备 → 主设备
    • 主设备 ← 多个从设备

当关联设备的以下数据发生变化时,系统将自动触发通知至主设备:

变更类型触发条件
遥测数据从设备上报新的 telemetry
共享属性平台或设备修改 shared attributes
服务端属性业务系统修改 server attributes

主设备可通过物模型中的脚本处理这些变更数据,实现聚合计算、联动触发等功能。

1.3.7. 资产类物模型示例:多设备温湿度平均值计算

以下是一个典型的资产级物模型应用案例:主设备代表“空调区域”,下属四个温湿度传感器作为从设备。每当任一从设备上报数据时,主设备自动计算当前区域的平均温湿度。

场景说明:

  • 主设备关联了 4 个从设备;
  • 各从设备定期上报自身温湿度(t, h);
  • 主设备物模型脚本实时聚合数据并更新 avgT(平均温度)、avgH(平均湿度)。

示例脚本如下:

javascript
let preTelemetry = device.telemetry_data[thingModelId];
let tempetrature;
let humidity;
if (!noticeAttrs.telemetry_data) {
        return {
            telemetry_data: null,
            server_attrs: null,
            shared_attrs: null,
        }
  }
// 遍历所有从设备模型ID,提取最新温湿度
msg.thing_model.forEach((tid) => {
  if (msg.telemetry_data[tid].t != null) {
    tempetrature = msg.telemetry_data[tid].t;
    humidity = msg.telemetry_data[tid].h;
  }
});

let avgT = device.telemetry_data[thingModelId]?.avgT || 0;
let avgH = device.telemetry_data[thingModelId]?.avgH || 0;

// 构造服务端属性,记录各从设备最后一次数据
let attrs_server = {
  [msg.eui]: {
    "tempetrature": tempetrature,
    "humidity": humidity
  }
};

// 初始值判断
if (avgT === 0) avgT = tempetrature;
if (avgH === 0) avgH = humidity;

// 计算平均值(此处仅为简单累加示例,实际建议使用加权或滑动平均)
avgT = (avgT + tempetrature) / 2;
avgH = (avgH + humidity) / 2;

// 返回更新后的遥测数据
let attrs_telemetry = {
  "avgT": avgT,
  "avgH": avgH
};

return {
  telemetry_data: attrs_telemetry,
  server_attrs: attrs_server,
  shared_attrs: null,
};

此模型广泛应用于楼宇环境监测、冷链仓储、智慧农业等需要“区域级数据聚合”的场景。