BAC0:基于Python的BACnet自动化脚本库
BAC0是一个开源项目,旨在为BACnet应用程序构建自动化脚本。该项目主要使用Python 3编程语言,依赖BACpypes3库来实现BACnet/IP通信。
项目基础介绍
BAC0库采用异步编程模式,使得在处理BACnet消息时更为高效。通过简单的命令,用户可以轻松浏览BACnet网络、读取设备属性或向其写入数据。Python作为一种易学且强大的数据处理工具,与BACnet结合后,成为测试设备和与控制器交互的理想选择。项目名称BAC0来源于BACnet/IP通信默认使用的IP端口47808,十六进制表示为0xBAC0。
核心功能
- 网络浏览与数据读取:用户可以方便地浏览BACnet网络,读取或写入设备属性。
- 测试驱动开发(TDD):BAC0为楼宇自动化系统(BAS)程序员提供了统一的测试方式,使用Python语言和BACnet/IP通信与控制器交互。
- 模拟输入与手动输出命令:通过设置
out_of_service
属性,用户可以模拟输入信号,进行手动输出命令(通常称为覆盖)。 - 数据采集与历史数据访问:BAC0默认每10秒记录一次控制器内所有变量的数据,便于进行数据分析和性能监控。
- InfluxDB原生支持:可以直接将BAC0的历史数据连接到InfluxDB v2.0实例,并通过Grafana进行数据探索。
最近更新的功能
BAC0的最新版本在以下方面进行了功能更新:
- 性能优化:对库的性能进行了全面优化,提高了处理BACnet消息的效率。
- 新功能添加:新增了几个实用功能,如更便捷的网络浏览工具和改进的数据读取/写入功能。
- 错误修复:修复了已知的一些错误和问题,提高了库的稳定性和可靠性。
- 文档更新:更新了项目文档,提供了更详细的用户指导和示例。
BAC0项目不断进化,为BACnet应用程序的开发者提供了强大的工具和库。