两步实现在ThinkLink平台上的告警功能

1. 功能概述

ThinkLink 的告警通知功能是基于平台强大的 RPC (Remote Procedure Call) 机制 实现的。通过将告警逻辑封装在触发联动模型中,平台能够根据设备上报的数据实时判断是否达到告警条件,并调用预设的 alarm 类型 RPC 消息,实现告警的触发和消除,并通知相关用户或系统。

ThinkLink 平台已内置默认的 ALARM RPC 实现。用户可以基于此默认实现进行修改,以满足特定的告警通知需求。

2. 核心机制:RPC 与数据流

2.1 告警 RPC 消息类型

告警功能通过特定的 RPC 消息类型 alarm 来实现。该 RPC 负责将告警事件(包括触发、消除、告警详情等)发送给平台的告警处理模块,进而触发邮件、短信等通知动作。

关于 alarm RPC 的具体参数配置和实现方法,请参考平台官方文档:

https://mensikeji.yuque.com/staff-zesscp/gqdw7f/lyh7hfbvi9sumrs2#kHHGt

2.2 告警数据流逻辑

告警的触发是一个完整的链式数据处理过程,确保了从原始数据到最终告警通知的准确性和实时性。

|---------------------|----------------------------------------------|--------------------|
| 步骤 | 描述 | 关键组件 |
| 1. 数据上行 | 设备将遥测数据 (Telemetry Data) 上报至 ThinkLink 平台。 | 设备 |
| 2. 物模型解析 | 平台根据设备的物模型 (Thing Model) 对上行数据进行解析和标准化。 | 物模型 |
| 3. 调用触发模型 | 平台调用与设备/资产关联的触发联动模型 (Trigger Linkage Model)。 | 触发联动模型 |
| 4. 条件判断与 RPC 调用 | 触发模型中的脚本判断数据是否达到预设的告警或消除条件,并调用 alarm RPC。 | 触发脚本 / alarm RPC |

3. 告警功能配置流程

用户需要通过以下两个主要步骤来实现自定义告警功能:

步骤一:建立触发联动模型 (Trigger Linkage Model)

告警的触发和消除逻辑完全由触发联动模型中的 JavaScript 脚本控制。

配置建议:

  • 触发阈值 :建议将告警阈值(如 alarm_depthalarm_weight)和通知接收组(如 group)等信息配置在设备的服务端属性 (Server Attributes) 中。这样可以通过修改设备属性来实现告警逻辑的动态配置,无需修改脚本。
  • RPC 方法 :脚本中必须调用 alarm 方法,并传递必要的参数。

触发脚本示例:

以下示例展示了如何根据设备的遥测数据 (depthweight1) 与服务端属性 (alarm_depthalarm_weight) 进行比较,从而决定是触发新告警 (new) 还是消除告警 (clear)。

复制代码
function trigger_script(device, thingModelId) {
    // 定义告警动作常量
    const ACTION = {
        no: "no",     // 无动作
        new: 'new',   // 触发新告警
        clear: 'clear' // 消除告警
    };
    // 定义告警级别常量
    const LEVEL = {
        low: 'low',
        mid: 'mid',
        high: 'high',
        urgent: 'urgent'
    };

    let name = "alarm_bin"; // 告警名称,用于唯一标识
    let title = "Alarming : [" + device.name + "]"; // 告警标题
    let desc = ""; // 告警描述
    let level = LEVEL.high; // 默认告警级别
    // 从服务端属性获取通知组,如果未定义则为空数组
    let group = device.server_attrs?.group ?? [];
    let action = ACTION.clear; // 默认动作为消除告警

    let tdata = device?.telemetry_data[thingModelId]; // 获取遥测数据

    // 检查关键数据是否存在,若不存在则不处理
    if (tdata?.depth === undefined && tdata?.weight1 === undefined) {
        return null;
    }

    // 告警触发逻辑 1: 深度低于阈值
    if (tdata?.depth <= device.server_attrs.alarm_depth) {
        desc = "[" + device.name + "]" + " warning, please process ";
        action = ACTION.new;
    }

    // 告警触发逻辑 2: 重量高于阈值
    if (tdata?.weight1 >= device.server_attrs.alarm_weight) {
        desc = "[" + device.name + "]" + " caution!!!!";
        action = ACTION.new;
    }

    // 如果 action 仍为 clear,则表示告警条件已消除
    // 如果 action 为 new,则表示触发新告警

    // 返回 RPC 调用指令
    return {
        delayms: 0,
        abort_previous_timer: true,
        actions: [{
            method: "alarm", // 调用告警 RPC
            params: {
                _eui: device.eui, // 设备 EUI
                action: action, // 告警动作 (new/clear)
                name: name, // 告警名称
                title: title, // 告警标题
                level: level, // 告警级别
                desc: desc, // 告警描述
                group: group // 通知组
            }
        }]
    }
}

步骤二:挂载告警规则

完成触发联动模型的创建后,需要将其与告警规则关联,并挂载到目标对象上。

  1. 关联规则 :将包含上述脚本的触发联动模型与 ALARM 规则进行关联。
  2. 挂载对象 :将该 ALARM 规则挂载到对应的 设备 (Device)资产 (Asset)子设备 (Sub-device) 上。

完成挂载后,当目标对象上报新的遥测数据时,系统将自动执行触发脚本,并根据脚本的返回结果调用 alarm RPC,从而实现告警通知功能。

TKL+EB组合方案重新定义了LoRaWAN在存量市场改造中的角色:
它不仅解决了传感器无线化接入的难题,更通过EB的灵活性与远程可控性,实现了 硬件先行、软件后置、快速迭代 的新型部署范式。对于广大缺乏技术积累的集成商而言,这是一条通往规模化、标准化物联网项目的捷径。

无论您是传感器厂商、系统集成商,还是智慧城市解决方案提供商,只要您有 将传统设备接入 LoRaWAN 网络的需求 ,我们都诚挚邀请您与门思科技合作。

  • 免费提供技术支持与对接服务;
  • 无需支付任何费用;
  • 只需提供设备样品、说明书及相关接入需求,即可启动对接流程。

ThinkLink 体验地址 :https://thinklink.manthink.cn

相关推荐
core5122 天前
使用 `ms-swift` 微调 Qwen3-VL-2B 详细指南
lora·微调·swift·qwen·qwen3·vl
core5122 天前
Swift SFT Qwen-VL LoRA 微调指令详解
lora·微调·swift·qwen·vl
亚里随笔5 天前
超越LoRA:参数高效强化学习方法的全面评估与突破
人工智能·深度学习·机器学习·lora·rl
SmartRadio9 天前
在CH585M代码中如何精细化配置PMU(电源管理单元)和RAM保留
linux·c语言·开发语言·人工智能·单片机·嵌入式硬件·lora
*星星之火*12 天前
【大模型进阶】视频课程2 LORA微调原理深度解析+LLaMA Factory实操指南:小白也能玩转大模型定制
lora·大模型·微调·llama·llama factory
SmartRadio14 天前
物联网云平台数据库选型与搭建全指南(NRF52840, CH585M,ESP32-S3的硬件资源要求选型对比、方案设计、搭建步骤)
c语言·数据库·物联网·lora·lorawan
SmartRadio17 天前
物联网云平台数据库选型与搭建全指南(LoRaWAN)
数据库·物联网·lora·lorawan
SmartRadio18 天前
计算 CH584M-SX1262-W25Q16 组合最低功耗 (1)
c语言·开发语言·物联网·lora·lorawan
Elaine33620 天前
基于 Qwen2.5 与 LLaMA-Factory 的 LoRA 微调实战
人工智能·lora·微调·llama·llama-factory