【问题标题】:How to use BAC0 read value in Python?如何在 Python 中使用 BAC0 读取值?
【发布时间】:2022-10-22 02:11:51
【问题描述】:

我试图使用 BAC0 来获取 BACnet 系统中多个点的值,我尝试了所有的海报和入门,但没有一个工作....

我可以从 BACnet 工具中获得价值,这意味着连接应该是正确的: enter image description here

然后我转到 BAC0,我想使用这个命令:

bacnet.read('地址对象 object_instance 属性')

在我的例子中,BACnet (10.192.62.15/24) 和我的树莓派 (10.192.62.18/24) 连接到同一个路由器,设备 ID 应该是 2039307,目标名称是“occupied_cool_setpoint_1”,目标类型是“AnalogValue”目标 ID 为 1。我对“object and object_instance”有点困惑,在我的情况下这是什么?

另一个问题是关于“设备”:enter image description here,我不知道为什么它总是告诉我未知的目标......

我也尝试使用这个例子:

        ***import BAC0
        myIPAddr = '192.168.1.10/24'
        bacnet = BAC0.connect(ip = myIPAddr)
        bacnet.read('2:5 analogInput 1 presentValue')***

但是这里的 2:5 是什么,IP 地址应该是:192.168.1.1,对吧?

就我而言,当我运行“发现”时: enter image description here 我想知道设备 ID 2039307 的要点,我应该使用“20393:10.192.62.15/24”代替 ”2:5"

感谢您的耐心帮助!!!!

【问题讨论】:

    标签: python-3.x iot building bacnet bacnet4j


    【解决方案1】:

    我既不知道“BAC0”也不知道“Python”,但我会尽力为您提供一个可能的开端。

    BACnet 定义了一个“对象标识符”——它由两部分组成,左侧/前导/高阶部分是“对象”类型,右侧/尾随/低阶部分是“对象实例#";所以我猜“对象”实际上是对象类型的(名称)。

    我猜“2:5”是 DNET(目标网络#)和 DADR(目标地址)- 2 和 5,其中(子)设备需要它自己的(附加)地址,因为它被路由到/网关-通过 BACnet 路由器/网关设备访问/访问。然而,如果您的目标是独立设备或(父)路由器/网关设备(而不是其子/子设备之一),那么我猜您可能只需要/而不是指定目标 IP(v4)地址这个 DNET:DADR/"2:5" 组合/值。

    如果您需要指定/定位远程子设备,那么我猜测(在“BAC0”的情况下)您可能必须使用这两个地址,例如可能是这样的“2:5@10.192.62.15”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-25
      • 1970-01-01
      • 1970-01-01
      • 2021-06-22
      • 1970-01-01
      • 2013-05-11
      • 2021-12-17
      • 2016-10-20
      相关资源
      最近更新 更多