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

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

一、代码简介

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

所使用的jar包为:

  • BACnet6.0.0
  • sero-scheduler1.1.0
  • sero-warp1.1.0
    BACnet sdk源码github地址:https://github.com/MangoAutomation/BACnet4J/

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

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

二、BACnet协议相关的工具

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

三、代码包含demo内容

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

四、代码运行前必看

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

五、jar包加载

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

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

附:其他资料

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

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

已知协议版本:

  • 135-2020(2020年10月发布,1428页)
  • 135-2016(2016年01月发布,1378页)
  • 135-2012(2012年01月发布,1052页)
  • 135-2010(2011年01月发布)
  • 135-2008(2009年01月发布)
  • 135-2004(2004年01月发布)
  • 135-2001(2001年01月发布)
  • 135-1995(1995年01月发布)
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值