我正在尝试使用nodejs连接到bacnet网络。能够使用代码更新日期。
const bacnet = require('node-bacnet');
const client = new bacnet();
client.timeSync('192.168.74.9', new Date('2020/08/23'));但我无法从
client.whoIs("192.168.74.9");
client.on('iAm', (msg) => {
console.log(
'address: ', msg.header.address,
' - deviceId: ', msg.payload.deviceId,
' - maxApdu: ', msg.payload.maxApdu,
' - segmentation: ', msg.payload.segmentation,
' - vendorId: ', msg.payload.vendorId
);
});发布于 2022-09-06 09:29:23
是不是因为没有指定正确的(非默认的)?端口#(尽管这可能无法解释日期同步工作的原因);例如,如果目标设备运行在默认端口#47808/0xBAC 0以外的端口上(以下示例中为'47810‘):
client.whoIs("192.168.74.9:47810");或者目标设备被“I-Am”禁用--这通常是(在我有限的经验中)。
您的客户端是否绑定到具有公共(/非私有) IP地址的NIC (网络接口卡)(而不是192.168.n.h地址)?
对我来说-通过以下2项更改,您的代码可以工作:
client.whoIs("127.1.2.2:47810");&
'address: ', msg.header.sender.address,并给我输出:
address: 127.1.2.2:47810 - deviceId: 999 - maxApdu: 1476 - segmentation: 3 - vendorId: 260https://stackoverflow.com/questions/73483524
复制相似问题