Skip to content

Commit 0e6e605

Browse files
committed
🚧 add BACnet read test
1 parent 18368dd commit 0e6e605

File tree

1 file changed

+50
-6
lines changed

1 file changed

+50
-6
lines changed

IOT-Guide-Bacnet/src/main/java/iot/technology/bacnet/BacnetYabeReadTest.java

Lines changed: 50 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,69 @@
44
import com.serotonin.bacnet4j.RemoteDevice;
55
import com.serotonin.bacnet4j.exception.BACnetException;
66
import com.serotonin.bacnet4j.npdu.ip.IpNetwork;
7+
import com.serotonin.bacnet4j.type.Encodable;
8+
import com.serotonin.bacnet4j.type.enumerated.ObjectType;
9+
import com.serotonin.bacnet4j.type.enumerated.PropertyIdentifier;
710
import com.serotonin.bacnet4j.type.primitive.ObjectIdentifier;
11+
import com.serotonin.bacnet4j.type.primitive.UnsignedInteger;
12+
import com.serotonin.bacnet4j.util.PropertyValues;
13+
import com.serotonin.bacnet4j.util.ReadListener;
814
import com.serotonin.bacnet4j.util.RequestUtils;
915
import iot.technology.bacnet.util.BACnetUtil;
1016
import lombok.extern.slf4j.Slf4j;
1117

18+
import java.util.Arrays;
1219
import java.util.List;
1320

1421
@Slf4j
1522
public class BacnetYabeReadTest {
1623

1724
public static void main(String[] args) throws BACnetException {
18-
IpNetwork ipNetwork = BACnetUtil.initIpNetwork("172.30.176.1", 47808);
25+
IpNetwork ipNetwork = BACnetUtil.initIpNetwork("172.20.16.1", 47808);
1926
LocalDevice localDevice = BACnetUtil.initLocalDevice(123, ipNetwork);
2027

21-
RemoteDevice remoteDevice = localDevice.getRemoteDeviceBlocking(2130082);
28+
try {
29+
RemoteDevice remoteDevice = localDevice.getRemoteDeviceBlocking(3309642);
2230

23-
List<ObjectIdentifier> objectList = RequestUtils.getObjectList(localDevice, remoteDevice).getValues();
24-
objectList.forEach(objectIdentifier -> {
25-
log.info("objectIdentifier: {}", objectIdentifier);
26-
});
31+
log.info("modelName: {}", remoteDevice.getDeviceProperty(PropertyIdentifier.modelName));
32+
log.info("analogInput2: {}", RequestUtils.readProperty(localDevice, remoteDevice,
33+
new ObjectIdentifier(ObjectType.analogInput, 2),
34+
PropertyIdentifier.presentValue, null));
35+
36+
List<ObjectIdentifier> objectList = RequestUtils.getObjectList(localDevice, remoteDevice).getValues();
37+
objectList.forEach(objectIdentifier -> {
38+
log.info("objectIdentifier: {}", objectIdentifier);
39+
});
40+
ObjectIdentifier oid = new ObjectIdentifier(ObjectType.analogInput, 0);
41+
ObjectIdentifier oid1 = new ObjectIdentifier(ObjectType.analogInput, 1);
42+
ObjectIdentifier oid2 = new ObjectIdentifier(ObjectType.analogInput, 2);
43+
44+
//获取指定的presentValue
45+
PropertyValues pvs = RequestUtils.readOidPresentValues(localDevice, remoteDevice, Arrays.asList(oid,oid1,oid2), new ReadListener(){
46+
@Override
47+
public boolean progress(double progress, int deviceId,
48+
ObjectIdentifier oid, PropertyIdentifier pid,
49+
UnsignedInteger pin, Encodable value) {
50+
System.out.println("========");
51+
System.out.println("progress=" + progress);
52+
System.out.println("deviceId=" + deviceId);
53+
System.out.println("oid="+oid.toString());
54+
System.out.println("pid="+pid.toString());
55+
System.out.println("UnsignedInteger="+pin);
56+
System.out.println("value="+value.toString() + " getClass =" +value.getClass());
57+
return false;
58+
}
59+
60+
});
61+
Thread.sleep(3000);
62+
System.out.println("analogInput:0 == " + pvs.get(oid, PropertyIdentifier.presentValue));
63+
//获取指定的presentValue
64+
PropertyValues pvs2 = RequestUtils.readOidPresentValues(localDevice, remoteDevice, Arrays.asList(oid,oid1,oid2),null);
65+
System.out.println("analogInput:1 == " + pvs2.get(oid1, PropertyIdentifier.presentValue));
66+
} catch (Exception e) {
67+
e.printStackTrace();
68+
} finally {
69+
localDevice.terminate();
70+
}
2771
}
2872
}

0 commit comments

Comments
 (0)