前言
本文章参考了很多博主的案列 收获很多很感谢他们 我把他们的文章标注出来 可能我的方法并不适合你 使用感兴趣伙伴们可以的效仿他们的一下
(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文章来源:https://www.toymoban.com/news/detail-454137.html
3.写demo代码
创建maven项目,pom.xml引入B文章来源地址https://www.toymoban.com/news/detail-454137.html
到了这里,关于使用java代码实现BacNet协议通过设备IP与设备ID同网段获取到对方设备数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!