有人在BACnet服务器上使用bacnet4j构建过多个虚拟本地设备吗?要实现这一点,必须做些什么?
这基本上是可能的吗?
发布于 2015-06-04 21:34:58
是的,您可以使用bacnet4j创建一个BACnet服务器。以下示例显示如何使用模拟值BACnet对象设置设备:
IpNetwork network = new IpNetwork("10.78.20.255", 0xBAC5);
Transport transport = new Transport(network);
// create device with random device number
int localDeviceID = 10000 + (int) ( Math.random() * 10000);
LocalDevice localDevice = new LocalDevice(localDeviceID, transport);
localDevice.initialize();
System.out.println("Local device is running with device id " + localDeviceID);
// create sample BACnet object
ObjectIdentifier objectId = new ObjectIdentifier(ObjectType.analogValue, 1);
BACnetObject object = new BACnetObject(localDevice, objectId);
localDevice.addObject(object);请注意,您必须确保对象标识符(示例中的模拟值1)在设备上是唯一的。
发布于 2021-08-24 21:30:25
我的建议是考虑使用回送地址,或者更确切地说(通常不知道)回送地址范围。
换句话说,尽管很多人都熟悉127.0.0.1的IP(v4)地址是环回地址,但没有多少人知道/停下来意识到它是A类地址,换句话说,在这个127.x.y.z环回范围内有许多(本地) IP(v4)地址可用,例如,除了典型的/默认的127.0.0.1地址之外,还有127.0.0.2/等-两者(范围内的/all地址)都将(/should)解析到您的本地计算机,因此,允许您的所有(虚拟)设备具有相同的(BACnet)端口号,但所有设备都分配/使用唯一的IP地址。
https://stackoverflow.com/questions/30622691
复制相似问题