技术服务中心

概述

星纵物联LoRaWAN®网关能够对LoRaWAN®终端节点的上报数据进行解码,并将终端数据转发到BMS系统或BACnet设备使用的BACnet对象,从而便捷的将LoRaWAN®终端设备集成到楼宇管理系统中。本文以WT30X温控面板为例,测试如何通过BACnet实现数据上报和下发控制。

准备

步骤

1. 配置应用

  1. 进入“Network Server->应用”,若之前没有创建应用,则点击”+”添加应用。

  1. 创建“名称”和填写“描述”,两者均可自定义。

3.若之前已有创建应用,则点击”编辑”应用。

4.配置参数后先保存设置。

2. BACnet 对接(温控器)

  1. 进入Network Server–>载荷边解码器–>自定义载荷边解码器,点击

  1. 打开编解码器的代码链接https://github.com/Milesight-IoT/codec/tree/release/vendors/milesight-iot/wt301
    将decoder.js代码复制到解码函数里面,将encoder.js代码复制到编码函数里面。

  1. 进入“Network Server->设备”,点击添加,添加对应的设备信息,选择设备对应的载荷解码器。

  1. 进入Network Server–>数据流,点击“详情”查看解码后的结果。
  2. 进入Network Server–>应用,在数据传输选择类型为BACnet/IP,点击保存
  3. 进入“协议集成”–>BACnet Server–>Server,填写UDP端口、设备ID(需要注意ID的唯一性)、设备名称,点击保存。
  4. 进入“协议集成”–>BACnet Server–>BACnet对象,点击添加。
  5. 进入“协议集成”–>BACnet Server–>BACnet对象,生成可添加的对象,添加完成之后,查看当前温控面板上报的值。
    9.打开Yabe BACnet客户端工具读取对应数据与对节点写数据。
    (1)点击Add device,填入对应的本地电脑的地址,点击Start,就可以根据设备ID找到BACnet服务器设备并查看对象列表。
    (2)发现设备
    (3)传感器上报数据
    (4)下发数据给节点
    点击对应的BACnet对象,找到Present Value,修改Present Value的值,回车即可发送下行命令。

(5)在网关上即可收到通过BACnet下发的指令。

3. BACnet 对接(WS50x触摸式开关面板)

以解码器为例,1111全开,1101(1、3开,2关)、1001(1灯开,2,3关)。

function Encode(fPort, obj) {
var bytes = [];
bytes.push(0xff);
bytes.push(0x29);
if (obj.switch1 == 1111 ) {
bytes.push(0x77);
}
else if(obj.switch1 == 1011 ){
bytes.push(0x76);
}
else if(obj.switch1 == 1101 ){
bytes.push(0x75);
}
else if(obj.switch1 == 1110 ){
bytes.push(0x73);
}
else if(obj.switch1 == 1001 ){
bytes.push(0x74);
}
else if(obj.switch1 == 1010 ){
bytes.push(0x72);
}
else if(obj.switch1 == 1100 ){
bytes.push(0x71);
}
else if(obj.switch1 == 1000 ){
bytes.push(0x70);
}

return bytes;
}

下发内容:{“switch1”: 1000}

  1. 将上面的解码器函数复制到WS50x的编码函数中,下发内容复制到编解码测试中,点击”编码”—生成FF2970。
  2. 添加对象。
  3. 下发内容:1111全关。
  4. 在网关上即可收到通过BACnet下发的指令。

    备注:机械式解码函数,步骤同上。

    function Encode(fPort, obj) {
    var bytes = [];
    bytes.push(0x08);
    if (obj.switch1 == 1111 ) {
    bytes.push(0x77);
    }
    else if(obj.switch1 == 1011 ){
    bytes.push(0x76);
    }
    else if(obj.switch1 == 1101 ){
    bytes.push(0x75);
    }
    else if(obj.switch1 == 1110 ){
    bytes.push(0x73);
    }
    else if(obj.switch1 == 1001 ){
    bytes.push(0x74);
    }
    else if(obj.switch1 == 1010 ){
    bytes.push(0x72);
    }
    else if(obj.switch1 == 1100 ){
    bytes.push(0x71);
    }
    else if(obj.switch1 == 1000 ){
    bytes.push(0x70);
    }
    bytes.push(0xff);
    return bytes;
    }

样机试用

微信客服wechat code

在线客服

工业路由器 Lorawan®网关 LoRaWAN®传感器 数传终端DTU 智能安防产品 更多产品咨询
Baidu
map