Можно ли создавать виртуальные локальные устройства с bacnet4j?

Кто-нибудь создал несколько виртуальных локальных устройств с bacnet4j на сервере BACnet? Что нужно сделать, чтобы этого добиться?

Это в принципе возможно вообще?

2 ответа

Да, вы можете создать сервер BACnet, используя bacnet4j. В следующем примере показано, как настроить устройство с объектом 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 в примере) является уникальным на устройстве.

Я бы порекомендовал рассмотреть возможность использования адреса обратной связи или, скорее, диапазона адресов ретроспективного анализа (который не является общеизвестным).

Другими словами, насколько многие люди знают, что IP(v4) адрес 127.0.0.1 является адресом обратной связи, немногие люди знают / останавливаются, чтобы понять, что это адрес класса A, другими словами, существует много (локальных ) IP-адреса (v4), которые вы можете использовать / которые доступны в пределах этого диапазона обратной связи 127.xyz, например, 127.0.0.2/etc в дополнение к стандартному / стандартному адресу 127.0.0.1 - оба (/ все адреса в диапазоне) будут (/ должен) разрешаться на вашем локальном компьютере, что позволяет всем вашим (виртуальным) устройствам иметь один и тот же порт (BACnet) #, но всем назначен / используется уникальный IP-адрес.

Другие вопросы по тегам