建议:下载一个ghelper或者集装箱直接去外网看
直接使用bacnet=BAC0.connect(‘192.168.251.6’)就是看本机的251.6的网卡和哪些bacnet设备连接到了
发现通路上有一个251.2的设备,而且网络号是1
然后只发现了网络1
其实什么网卡直接使用connect()也可以连接,不过使用的ip不确定,除非电脑只有一个网卡,不然还是指定一个网卡的ip建立bacnet连接比较好,一个ip只能建立一个连接,就和网络上不能同时有两个ip地址一样,同时两个bacnet连接使用一个ip地址的话是会产生冲突的
然后使用bacnet.devices命令可以看到251.2设备的一些具体信息,能看到它的名字是vav-e09西门子楼宇设备,还有生产厂商,以及设备的id 4003
直接发送bacnet.whois()可以看到该bacnet通路里搜索到的bacnet设备的ip和设备id 4003
如果已经知道了这条通路的路由的话会更节省广播时间并降低网络负载,在connect时是有网络信息的,知道当前发现的network也就是路由器是1,所以可以使用:bacnet.whois(‘1:*’)得到的结果和刚才的抑郁
bac0有一个不断ping已经连接的设备防止设备断联的机制,可以禁用该功能
bacnet = BAC0.lite(ping=False)
bacnet在建立连接时会试图尽可能的保存路由信息方便通过不同路径建立连接,可以使用一下方法查看bacnet通路发现的所有路由,不过完整版的bac0没有这个特性
bacnet.routing_table
想要从实例里读取bacnet对象的一些属性的话,可以去object.py文件里看一看一些例子,读取操作实际是也是在进行广
bacnet协议--BAC0使用
最新推荐文章于 2024-08-08 07:42:39 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)