有大佬会 BACNet 协议获取同网段下设备信息吗

2023-05-11 09:11:25 +08:00
 o1iver
怎样用 Java 通过 BACNet 协议获取同局域网下的所有设备信息,具体流程
621 次点击
所在节点    问与答
3 条回复
Eiden
2023-05-11 10:09:33 +08:00
发送 whois 消息, 这个消息是个广播, 正常设备收到后会回复 i-am 消息, 这个流程一般 bacnet 的包都实现了的, 看看文档吧
o1iver
2023-05-11 16:45:42 +08:00
@Eiden 我就是在 bacnet 包中找不到发送 whois 消息的方法,一般是用哪个版本的 bacnet 包呀
Eiden
2023-05-12 09:42:40 +08:00

https://github.com/Code-House/bacnet4j-wrapper
```
BacNetClient client = new BacNetIpClient("<bind ip>", "<broadcast ip>", <client device id>);
client.start();
Set<Device> devices = client.discoverDevices(5000); // given number is timeout in millis
for (Device device : devices) {
System.out.println(device);

for (Property property : client.getDeviceProperties(device)) {
System.out.println(property.getName() + " " + client.getPropertyValue(property));
}
}

client.stop();
```
这个 discoverDevices 就是

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/939077

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX