1 下载地址
https://sourceforge.net/projects/vts/files/
https://sourceforge.net/projects/vts/
https://github.com/JoelBender/bacpypes/issues
使用VTS分析bacnet协议的ReadProperty(一)
https://blog.youkuaiyun.com/u010604007/article/details/50946171
https://gitter.im/JoelBender/bacpypes/archives/2017/02/22
涉及到的地址:
http://bacnet.sourceforge.net/
visual test shell for Win32, used for Visually testing a BACnet implementation. It also includes a detailed network sniffer for BACnet messages, and the ability to send any BACnet services. The source code is in the public domain.
2 BACNET之VTS的配置过程
https://blog.youkuaiyun.com/qingtian506/article/details/18705809
3
:~/bacnet/bacpypes/samples$ python ReadProperty.py
read 20021:22 device:2200 objectName
ERROR:main.ReadPropertyConsoleCmd:exception: ValueError(‘need more than 3 values to unpack’,)
Traceback (most recent call last):
File “ReadProperty.py”, line 103, in do_read
addr, obj_type, obj_inst, prop_id = args[:4]
ValueError: need more than 3 values to unpack
read 20021:22 device 2200 objectName
abccccc-- 20021:22
obj-type- device
pduSource = <Address 20021:22>
pduExpectingReply = 0
pduNetworkPriority = 0
apduType = 7
apduSrv = False
apduInvokeID = 1
apduAbortRejectReason = 65
pduData = x’’
1
read 192.168.0.100:47808 device 0 objectName
abccccc-- 192.168.0.100:47808
obj-type- device
TD
https://github.com/JoelBender/bacpypes/issues
read 192.168.0.100:47808 analogInput 0 presentValue
abccccc-- 192.168.0.100:47808
obj-type- analogInput
55.0
代码补充:
grep -r “analogInput”
samples/ReadProperty.py.history:read 192.168.0.100:47808 analogInput 0 presentValue
build/lib.linux-x86_64-2.7/bacpypes/primitivedata.py: , ‘analogInput’:0
build/lib.linux-x86_64-2.7/bacpypes/object.py: objectType = ‘analogInput’
build/lib.linux-x86_64-2.7/bacpypes/basetypes.py: { ‘analogInput’:0
.svn/pristine/34/3469aebfe1ccdda48b679e8ba33e71f1368f62ab.svn-base: { ‘analogInput’:0
.svn/pristine/84/848f2afb78bf15fd801835938ad0cb5e5941b9f4.svn-base: objectType = ‘analogInput’
.svn/pristine/76/76ce898590ef1829c16a75fcc0af39938f6abf7d.svn-base: , ‘analogInput’:0
bacpypes/primitivedata.py: , ‘analogInput’:0
bacpypes/object.py: objectType = ‘analogInput’
bacpypes/basetypes.py: { ‘analogInput’:0
看一下文件:
bacpypes/basetypes.py:
class ObjectTypesSupported(BitString):
bitNames = \
{ 'analogInput':0
, 'analogOutput':1
, 'analogValue':2
, 'binaryInput':3
, 'binaryOutput':4
, 'binaryValue':5
, 'calendar':6
, 'command':7
, 'device':8
, 'eventEnrollment':9
, 'file':10
, 'group':11
, 'loop':12
, 'multiStateInput':13
, 'multiStateOutput':14
, 'notificationClass':15
, 'program':16
, 'schedule':17
, 'averaging':18
, 'multiStateValue':19
, 'trendLog':20
, 'lifeSafetyPoint':21
, 'lifeSafetyZone':22
, 'accumulator':23
, 'pulseConverter':24
, 'eventLog':25
, 'globalGroup':26
, 'trendLogMultiple':27
, 'loadControl':28
, 'structuredView':29
, 'accessDoor':30
, 'accessCredential':32
, 'accessPoint':33
, 'accessRights':34
, 'accessUser':35
, 'accessZone':36
, 'credentialDataInput':37
, 'networkSecurity':38
111
cpp@cpp-virtual-machine:~/bacnet/bacpypes/samples$ python ReadProperty.py
read 192.168.0.100:47808 device 0 objectName
abccccc-- 192.168.0.100:47808
obj-type- device
TD
read 192.168.0.100:47808 device 0 objectList
abccccc-- 192.168.0.100:47808
obj-type- device
[(‘analogInput’, 0), (‘device’, 0)]
(稍后补充)