BACnet インターフェイスからオブジェクトとプロパティを読み込もうとしています。クライアント コードが LumInsight Desktop (Propriety Software) によって提供される BACnet インターフェイスと通信することが期待される BACnet4J のサンプル コードを使用しています。
したがって、私たちの場合、デバイスの検出は完了しましたが、BACnet インターフェイスからデバイス レベルとオブジェクト レベルの情報を読み取る方法に行き詰まっています。
これが私が現在得ている出力です:
SLF4J: クラスのロードに失敗しました
「org.slf4j.impl.StaticLoggerBinder」。SLF4J: 無操作 (NOP) ロガー実装へのデフォルト設定 SLF4J: 詳細については 、http: //www.slf4j.org/codes.html#StaticLoggerBinderを参照してください。初期化 印刷アドレス...Address [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:RemoteDevice(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);
}