糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > java读取BACnet协议的设备信息-demo

java读取BACnet协议的设备信息-demo

时间:2020-08-03 21:44:53

相关推荐

java读取BACnet协议的设备信息-demo

鉴于目前网上对于BACnet协议的相关文章比较少,所以写出这段时间对于java对接该协议的一个demo程序,供参考。

一、代码简介

本代码 gitee地址:/Simon-Alexs/demo.git 仓库中的bacnet-demo

所使用的jar包为:

BACnet6.0.0sero-scheduler1.1.0sero-warp1.1.0

BACnet sdk源码github地址:/MangoAutomation/BACnet4J/

本文章内代码曾参考此文章的内容:

java代码读取设备属性:BACnet/IP之BACnet4j学习java代码例子属性读写01_夢_殤的博客-CSDN博客_bacnet4j

二、BACnet协议相关的工具

VTS自定义创建虚拟设备及点位:BACnet/IP之BACnet4j学习VTS创建虚拟设备及点位测试03_夢_殤的博客-CSDN博客_bacnet4j设备可视化工具:Yet Another Bacnet Explorer download |

三、代码包含demo内容

扫描网段内所有的设备;读取设备的所有对象信息;读取设备对象的属性值;修改设备对象的属性值;订阅设备对象的属性值的变化(COV);失败:想尝试订阅事件,但是并没有发现相关的api,在Yabe工具中也没有看到相关的事件信息。

四、代码运行前必看

此代码基于Yabe这个可视化工具及其附带的设备模拟器进行编写。 Yabe下载地址:https://liquidtelecom./project/yetanotherbacnetexplorer/SetupYabe_v1.2.2.exeYabe安装后将自动带有模拟器 Bacnet.Room.Simulator.exe。(模拟器文件路径:模拟器在Yabe软件安装路径的/AddOn文件夹下。我的文件路径为:D:\ProgramFiles\Work\Others\BACnet\Yabe\AddOn\Bacnet.Room.Simulator.lnk) 运行此代码前:需在本机或者与本机同网段的其他机器上,运行Yabe软件附带的 Bacnet.Room.Simulator.exe ,代码里将访问此设备 tips:该模拟器支持多开(多次打开此模拟器,会启动多个设备id不同的设备) 运行此代码前:需关闭 Yabe、InneaBACnetExplorer Free Edition等所有的浏览设备信息的可视化工具,否则代码里将无法请求到设备(当初只关了Yabe忘记了曾经安装过的InneaBACnetExplorer Free Edition,导致浪费了半天多的时间QAQ)若要运行TestBACnetForSubscribe.java,则需将其内的 int remoteDeviceIdForSubscribeCOV = 1425616; 修改为你实际要访问的设备id值(Bacnet.Room.Simulator模拟器的设备id)

五、jar包加载

所需使用的三个jar包,需要指定仓库(pom文件中已写好相关说明)

ps:未对其进行完整验证,但是大致上是正确的。

附:其他资料

我自己所了解到的一些网站和文章,仅供参考:

BACnetIntroduction.pdf,是一个人对于BACnet协议的介绍,写的很正式,有点官方的意思。该文章基于的协议版本为135-:链接:/s/1gzDSShLJe0wSX0_wD_3Mrw 提取码:26f4BACnet Standard - BACnet International协议购买地址(协议就是ASHRAE制定的,也是他们在维护和迭代):ASHRAE 135- | ASHRAE Store ()这里的项目好像是开发BACnet协议的实现的,应该是给设备服务商用的开源项目网站(bacnet官方维护)OPC和BACnet在智能建筑系统集成中的比较研究.pdf ()

已知协议版本:

135-(10月发布,1428页)135-(01月发布,1378页)135-(01月发布,1052页)135-(01月发布)135-(01月发布)135-(01月发布)135-2001(2001年01月发布)135-1995(1995年01月发布)

如果觉得《java读取BACnet协议的设备信息-demo》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。