我正在尝试从 BACnet 接口读取对象和属性。我们正在使用 BACnet4J 的示例代码,我们的客户端代码预计将与 LumInsight Desktop(专有软件)提供的 BACnet 接口进行通信。
所以,在我们的例子中,设备发现已经完成,但是我们被困在如何从 BACnet 接口读取设备级别和对象级别信息。
这是我目前得到的输出:
SLF4J:加载类失败
“org.slf4j.impl.StaticLoggerBinder”。SLF4J:默认为无操作 (NOP) 记录器实现 SLF4J:有关详细信息,请参阅 http://www.slf4j.org/codes.html#StaticLoggerBinder。初始化打印地址...地址 [networkNumber=0, macAddress=[a,2c,37,5,ba,c0]] RemoteDevice(instanceNumber=10001, address=Address [networkNumber=0, macAddress=[a,2c,37 ,5,ba,c0]]) ObjectIdentifier:Device 10001 getName:LumInsight Virtual Router getModelName:LIBI-01 Remote Device(instanceNumber=10001, address=Address [networkNumber=0, macAddress=[a,2c,37,5 ,ba,c0]]) 用户数据:模拟输入:模拟输入 12 模拟输入 12 com.serotonin.bacnet4j.exception.PropertyValueException
请找到随附的源代码供您参考。
ObjectIdentifier ai3 = new ObjectIdentifier(ObjectType.analogInput,12);
System.out.println("analog input:"+ai3);
List<ObjectIdentifier> oids = new ArrayList<ObjectIdentifier>();
oids.add(ai3);
System.out.println(ai3);
for (int i = 0; i < 10; i++) {
PropertyValues pvs = RequestUtils.readOidPresentValues(localDevice1, d1, oids, null);
// System.out.println(pvs);
//System.out.println(pvs.get(ai3, PropertyIdentifier.presentValue));
System.out.println(pvs.get(ai3, PropertyIdentifier.presentValue));
Thread.sleep(5000);
}