# bacnet-example **Repository Path**: lorchr/bacnet-example ## Basic Information - **Project Name**: bacnet-example - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-01-19 - **Last Updated**: 2025-01-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README - [BACnet服务器demo连接演示](https://blog.csdn.net/zhongcaogen/article/details/128631770) - [BACNet4j,BBMD,跨网段,BACNet协议](https://blog.csdn.net/qq_33384191/article/details/129708251) - [Bacnet IP协议和Java实现](https://blog.csdn.net/m0_46690280/article/details/125840622) - [Java对接bacnet](https://blog.csdn.net/qq_39432715/article/details/112986340) - [springboot java 对接 bacnet ip 楼宇自控传感器,跨网段](https://blog.csdn.net/cui1022771623/article/details/143645481) - [获取楼宇系统的温湿度,BACnet/IP之BACnet4j学习java代码例子属性读写同网段跨主机](http://www.anool.net/?id=23) ## 环境搭建 - [服务端 bacnet-stack](https://github.com/bacnet-stack/bacnet-stack) - [服务端 文档](https://bacnet.sourceforge.net/) - [Windows 客户端](https://github.com/dechamps/yabe) [YABE](https://sourceforge.net/projects/yetanotherbacnetexplorer/) - [Java客户端 BACnet4J](https://github.com/MangoAutomation/BACnet4J) [/empeeoh/BACnet4J](https://github.com/empeeoh/BACnet4J) ### 搭建服务端 编译服务端,参考仓库内的 Dockerfile ```shell git clone https://github.com/bacnet-stack/bacnet-stack sudo apt update sudo apt upgrade -y sudo apt --purge autoremove -y sudo apt install -y build-essential curl sudo apt autoclean -y sudo apt clean -y cd bacnet-stack make ``` 启动服务端 ```shell cd /bacnet-stack # 其中12345为设备编号,不设置时默认为 260001 apps/server/bacserv 12345 ``` ## 注意事项 ### IP与子网掩码设置问题 如果客户端有多个网段,需要把IP地址设置为与服务端同网段的那个IP,子网掩码设置为服务端的子网掩码,否则可能会连不上服务端 例如: 本地WSL启动服务端,本地WSL网卡ip为172.19.36.1,WSL ip为172.19.36.187,子网掩码为 172.19.47.255,此时需要将ip设置为 172.19.36.1,子网掩码设置为 172.19.47.255 如果在存在跨网段,可以将ip设置为 0.0.0.0, ### 属性读取失败 读取属性值时,如果该ObjectIdentifier 没有对应的属性,会报错 unknown-property,需要进行异常处理。 特别注意设备相关的属性没有 presentValue ### 属性写入失败 - https://github.com/bacnet-stack/bacnet-stack/issues/769 - https://github.com/bacnet-stack/bacnet-stack/issues/482 按照规范,部分属性的值是只读的,或者需要进行一些设置后才可以写入,直接写入会报错 write-access-denied,属性添加时需要进行确认