跳至主要內容

将开关量属性下发自动转化为模块 AT 指令

约 267 字小于 1 分钟

将开关量属性下发自动转化为模块 AT 指令

用户使用某个 4G 模块自带继电器,需要通过 AT 指令来控制继电器通断。

通过 ThingsCloud 属性下发规则云函数,可以自动生成 AT 指令,通过自定义数据下发到设备。这样一来,我们可以在控制台、可视化看板、用户 App 中,通过拨动开关来直接控制继电器。

我们创建一个属性下发规则,使用 自定义数据下发函数 操作,在云函数中使用如下示例代码,请通过代码中的注释进行学习。

module.exports = function (push_attributes) {
    /**
     * push_attributes:   下发的属性对象,作为函数参数传入。
     * data:                构造下发的自定义数据对象,下发到硬件。
     */

    const attrs = Cloud.getCurrentAttributes();
    let relay1 = attrs.relay1 || false;
    let relay2 = attrs.relay2 || false;

    var data = {
        type: "text",
        msg: ''
    }

    if (push_attributes.relay1 !== undefined) {
        relay1 = push_attributes.relay1;
        data.msg = `AT*GPO=1,${relay1 ? '1' : '0'}#`;
    }
    if (push_attributes.relay2 !== undefined) {
        relay2 = push_attributes.relay2;
        data.msg = `AT*GPO=2,${relay2 ? '1' : '0'}#`;
    }

    return data;
}

详细了解 ThingsCloud 消息规则,请浏览 消息规则