使用java代码实现BacNet协议通过设备IP与设备ID同网段获取到对方设备数据

bacnet
摘要由CSDN通过智能技术生成

前言

本文章参考了很多博主的案列 收获很多很感谢他们 我把他们的文章标注出来 可能我的方法并不适合你 使用感兴趣伙伴们可以的效仿他们的一下

(13条消息) BacNet4j-跨网段-项目运用_森林猿的博客-CSDN博客

(13条消息) BACnet/IP之BACnet4j学习java代码例子属性读写01_夢_殤的博客-CSDN博客


在做一个项目的时候 需要采集一些数据例如:BA、照明
他们的协议是 bacnet,了解到这个协议是不支持跨网段的,如果需要夸网段的话则需要一种设备支持,那个设备就是BBMD,目前咨询过两个厂家

http://www.lmgateway.com/BBMD.html 当前厂家已经停产了…
https://ccontrols.com.cn/ 这家的贵,之前电话沟通过 4000 多…
http://www.opcmaster.com/news.asp?cl_id=148 木有应该是采用的这家,好像2000多吧

BBMD


BACnet/IP使用UDP/IP在现有的IP网络中进行通信,在多个IP子网中如果需要对BACnet的广播消息进行管理的时候就需要一种特殊的BBMD设备(Broadcast Management Device)。路由器将IP网络连接在一起,以便可以将来自一个网络的消息发送到另一个网络。大多数IP路由器不转发广播消息,这意味着发现无法发现另一个网络上的设备。为了解决此问题,BACnet提供了一种称为BBMD的技术-BACnet / IP广播管理设备。但是由于很多情况 对方并没有提供这个BBMD设备 我们只能通过同网段进行获取
 

下面就让我们来测试吧

网上有关这个协议资料很少 而且都是通过设备模拟器来模拟数据 有好处也有不好处 他们都是通过单独的一个设备ID进行获取数据 根本找不到通过设备IP与设备ID来同时获取数据的案例

下面这个案例是通过模拟器来操作的,也是通过参各大博主的 但是认为这个写的是最明白的 先让大家熟悉熟悉 我的代码则放在最后

1.下载Yabe设备模拟器

 链接: https://pan.baidu.com/s/1OK1uq-tfU-XoOH10h4Otag 提取码: 4eu4

安装后:先点击这个小太阳 在点击下面的放大镜

打开太阳的图标

 这是设备模拟器,Yabe还提供了一个客户端,打开放大镜图标

 

 可以在client端看到相关的数据信息。

2.下载BACnet4j

https://github.com/infiniteautomation/BACnet4J

下载需要的版本,这个博文的代码使用的是5.0.2版本,然后本地安装 mvn install -Dmaven.test.skip=true

3.写demo代码

创建maven项目,pom.xml引入B

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值