bacnet - 如何创建虚拟 bacnet 设备和实现 python 库
问题描述
我对 bacnet 协议非常陌生。我在 python 中工作,所以我需要关于名为 BAC0 的 python 库的帮助。我已经阅读了互联网上的 BAC0 文档并尝试了他们的示例,但我无法获得正确的输出。请帮助我提供一些示例,例如如何创建虚拟 bacnet 设备以及如何使用 python 编程对其执行读写操作。提前致谢。
我尝试了 BAC0 文档中提到的示例
my_obj_list = [('file', 1),
('analogInput', 2),
('analogInput', 3),
('analogInput', 5),
('analogInput', 4),
('analogInput', 0),
('analogInput', 1)]
bacnet = BAC0.connect(ip='192.168.42.226/24')
mycontroller = BAC0.device('2:5',5,bacnet, object_list = my_obj_list)
print(mycontroller)
mycontroller.points
mycontroller['point_name']
2019-07-22 15:49:31,169 - WARNING | Offline: provide database name to load stored data.
2019-07-22 15:49:31,169 - WARNING | Offline: provide database name to load stored data.
2019-07-22 15:49:31,169 - WARNING | Offline: provide database name to load stored data.
2019-07-22 15:49:31,169 - WARNING | Offline: provide database name to load stored data.
2019-07-22 15:49:31,169 - WARNING | Offline: provide database name to load stored data.
also im getting an error :
--- Logging error ---
Traceback (most recent call last):
File "C:\Users\DELL\Anaconda3\lib\site-packages\BAC0\core\devices\Device.py", line 688, in connect
self.properties.address, self.properties.device_id
File "C:\Users\DELL\Anaconda3\lib\site-packages\BAC0\core\io\Read.py", line 184, in read
"APDU Abort Reason : {}".format(reason)
BAC0.core.io.IOExceptions.NoResponseFromController: APDU Abort Reason : noResponse.```
解决方案
mycontroller = BAC0.device('2:5',5,bacnet, object_list = my_obj_list)
您的网络上必须有一个带有这些参数的 BACnet 控制器才能读取它们。您正在运行的代码不是创建虚拟 BACnet 网络。它用于连接到真实设备。
如果你想创建一个虚拟设备,你可以在这里获得灵感: https ://github.com/ChristianTremblay/BAC0/blob/master/tests/conftest.py
与在测试套件中一样,我创建了可以相互通信的虚拟设备。
推荐阅读
- json - 将带有字符串的列表转换为json pyspark
- javascript - 如何在adonisjs中进行动态授权?
- json - VB.Net_Having 从 JSON 读取令牌时出现问题
- kotlin - CharBuffer 到字符串?
- docker - Docker-compose 卷模式选项
- spring - propertySources 显示为空(Spring Cloud Config)
- c++ - 具有 3 个点的平面的欧拉角:围绕 x、y 和 z 旋转
- java - 如何修复 Java Mail 在 while 循环中不显示新电子邮件
- docker - 是否可以将多操作系统映像从一个 docker 注册表复制到 linux 机器上的另一个注册表?
- cloud - InfluxDb 查询,包括查询过滤器中的字段和值