1. 简介
Bacstack是一个用于构建BACnet IP的JavaScript库。BACnet是一种用于自动控制系统(HVAC,照明,安全等)的智能建筑网络通信协议。本文将介绍如何使用Bacstack npm包来构建BACnet IP并对设备进行通信。
2. 安装
可以使用npm安装Bacstack
npm install bacstack
也可将下面的script标签放入你的html中:
<script src="https://cdn.jsdelivr.net/npm/bacstack@1.7.3/bacstack.js"></script>
3. 使用方法
Bacstack需要一个选项对象来进行初始化。定义一个可供程序使用的选项对象如下:
var options = { port: 47808, // BACnet IP使用的默认端口 interface: '0.0.0.0', // 默认本地接口 broadcastAddress: '255.255.255.255', // 默认广播地址 adpuTimeout: 3000, // ADPU请求超时(ms) responseTimeout: 3000 // 响应超时(ms) };
1) 创建Bacstack对象
接下来,我们创建一个bacstack对象:
const bacnet = require('bacstack'); const client = new bacnet(options);
或者
import bacnet from 'bacstack'; const client = new bacnet(options);
2) 读取对象属性值(Object Properties)
我们将演示如何读取Remote Device对象的Object ID(30010)的Model Name(77)属性值。以下代码片段包括一个回调函数来处理响应:
-- -------------------- ---- ------- ----- -------- - ------ -- --------- -------- -- --------- ----- ------------- - -- -- ---------- ---------------------------------- --------- -------------- ----- ------ -- - -- ----- - ----------------- - ---- - ------------------ -- ------------ -- ------ --------------------- ----------- - ---展开代码
3) 写入对象属性值(Object Properties)
让我们来演示如何写入Remote Device对象的Object ID(30010)的Model Name(77)属性值。以下代码片段包括一个回调函数来处理响应:
-- -------------------- ---- ------- ----- -------- - ------ -- --------- -------- -- --------- ----- ------------- - -- -- --------- ----- ----- - ---- ------ -- ------- ----------------------------------- --------- -------------- ------ - ---------- - -- ----- ------ -- - -- ----- - ----------------- - ---- - ------------------ -- ------------ -- ------ --------------------- ----------- - ---展开代码
4. 示例代码
以下是完整的示例代码,其中包含获取所有已知设备的示例。
-- -------------------- ---- ------- ----- ------ - -------------------- ----- ------- - - ----- ------ -- ---- ---------- ---------- -- ------ ----------------- ------------------ -- ------ ------------ ----- -- ------------ ---------------- ---- -- -------- -- ----- ------------ - --- ---------------- -- -------- --------------------- ------ ----------------- -- -- - -- ----- ---------------------- -------- -- - ------------------ ------ ------ ---- ---------------- --- -- ------- ----- -------- - ------ -- --------- -------- -- --------- ----- ------------- - -- -- --------- ---------------------------------------- --------- -------------- ----- ------ -- - -- ----- - ----------------- - ---- - ------------------ -- ------------ -- ------ --------------------- ----------- - --- -- ------- ----- -------- - ---- ------ -- ------- ----------------------------------------- --------- -------------- --------- - ---------- - -- ----- ------ -- - -- ----- - ----------------- - ---- - ------------------------- -- ------ -------------------- --- ---- ------- --- ----------- - --- -- ---------- ---------------------展开代码
5. 结论
Bacstack是一个非常有用的JavaScript库,它可以帮助开发人员使用BACnet IP快速构建自动控制系统。本文介绍了如何使用npm安装Bacstack,以及如何使用其API读取和写入Remote Devices的Object Properties。我希望这篇文章对你有所帮助,并加深对Bacstack的理解,以及如何使用它来构建应用程序。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64986