用C#编写的图形化资源管理器程序,用于浏览BACnet设备(在Windows和Linux上运行)。 当前同时支持BACnet IPv4,IPv6 + BACnet MSTP + BACnet PTP + BACnet以太网。 用于读取,写入,读取多个,写入多个,iam,whois,subscribeCOV,notify,WriteFile,ReadFile等的基本功能。包括三个演示服务器应用程序:通用服务器,壁挂式房间控制器模拟器,天气服务器(从中获取数据互联网网络服务)。 包括许多示例C#源代码。 Raspberry Pi服务器示例代码,也已在Beaglebone和Intel Edison上进行了测试。 Bacnet / Mstp捕获工具(仅需要Wireshark和Rs485适配器)有关更多信息,请参见Readme.txt。 开发人员/贡献者团队:Morten Kvistgaard(2014-2016),FrédéricChaxel(2015-2021),Adam Guzik(2015),ChristopherGünther(2015,2019),Thamer Al-Salek(20
2025-07-25 18:25:58 6.15MB 开源软件
1
软件平台:stm32cubemx keil5 使用hal库生成基础代码,然后添BACnet mtsp部分,已经成功和电脑BACnet模拟软件Yabe通讯成功。 硬件平台:基于正点原子stm32f407探索者开发板硬件。 在自动化控制领域中,BACnet协议作为一种广泛应用的楼宇自控网络通信协议,对于实现建筑设备之间的通信起到了至关重要的作用。BACnet MTSP(BACnet消息传输协议)是BACnet协议的传输层协议之一,负责在不同的BACnet设备间建立和维护数据传输通道。本文将详细介绍基于STM32硬件平台,通过HAL库生成基础代码,并添加BACnet MTSP部分以实现与电脑BACnet模拟软件Yabe通讯的过程。 软件平台的选择是实现这一过程的关键。在这里,开发者选用了STM32CubeMX和Keil MDK-ARM作为开发工具。STM32CubeMX是一个图形化的软件配置工具,用于初始化STM32微控制器的配置并生成初始化代码。Keil MDK-ARM则是ARM公司推出的针对基于ARM处理器的嵌入式系统开发环境,它集成了代码编辑器、编译器、调试器等开发所需工具。通过这两个工具的配合使用,开发者能够更高效地进行代码编写、编译和调试工作。 接下来,硬件平台的选择对整个系统性能有着直接的影响。本案例中,硬件平台为正点原子的STM32F407探索者开发板。STM32F4系列微控制器以其高性能和丰富的外设支持而著称,适用于复杂和实时性要求高的应用场合,非常适合用来开发楼宇自控系统中的控制单元。 在实现BACnet通讯的过程中,HAL库发挥了基础性的代码生成作用。HAL(硬件抽象层)库是ST公司为其STM32系列微控制器提供的固件库,它提供了一组标准化的API函数,这些函数实现了对STM32硬件外设的初始化、配置和控制。通过使用HAL库,开发者能够避免直接操作硬件寄存器,从而降低了编程难度,缩短了开发周期。 在代码中添加BACnet MTSP部分是实现通讯的核心。开发者需要实现BACnet协议栈的相关功能模块,包括网络层、应用层等,并通过HAL库提供的串口通信接口(如USART2)来实现数据的发送和接收。BACnet MTSP协议涉及诸多细节,如建立连接、发送和接收数据包、处理超时和重传机制等,开发者需要仔细设计并编码这些功能模块以确保通讯的稳定性和可靠性。 而RS485接口在BACnet通讯中扮演了物理层的角色。RS485是一种广泛使用的串行通讯接口,具有良好的抗干扰性能和较大的通讯距离,非常适合在工业环境中使用。在本案例中,RS485接口作为STM32F407探索者开发板与外部设备间的数据传输通道,负责将BACnet MTSP封装好的数据帧发送到通讯总线上。 经过上述步骤的开发和调试,开发者最终成功地让基于STM32的硬件平台与电脑上的BACnet模拟软件Yabe实现了通讯。Yabe是一个为BACnet协议测试而设计的工具软件,它能够模拟BACnet设备并提供一个可视化的界面来展示通讯数据。通过与Yabe通讯测试,开发者可以验证所开发的BACnet通讯功能是否符合协议规范,并对可能存在的问题进行诊断和调试。 最终,开发者不仅实现了与Yabe的通讯,也为基于STM32平台的智慧楼宇系统的BACnet通讯功能提供了成功案例。这一过程涉及了硬件选择、软件配置、HAL库使用、BACnet协议实现以及通讯接口配置等多个方面,是将理论知识与实际操作相结合的过程。对于那些希望在楼宇自动化领域有所建树的工程师和开发者而言,本文所介绍的知识和经验无疑具有重要的参考价值。
2025-07-25 16:49:56 13.57MB BACnet MTSP STM32 RS485
1
BACnet协议,全称为楼宇自动控制系统数据通信协议(Building Automation and Control Systems (BACS) - Part 5: Data Communication Protocol),是一套用于楼宇自动化和控制系统设备之间交换信息的开放标准协议。由ASHRAE(美国暖通空调工程师学会)与ANSI(美国国家标准学会)合作开发,并于1995年正式发布。随后,该协议被国际标准化组织采纳并发布为ISO 16484-5标准。BACnet协议支持多种物理媒介和网络拓扑,并允许不同的设备和系统间进行有效沟通,适用于楼宇自动化领域中的各种应用。 BACnet协议的主要优点在于其高度的互操作性,即不同厂商生产的系统和设备可以基于此协议进行无缝集成和通信。BACnet协议采用国际认可的OSI模型的层次结构,将数据通信过程分为若干层次,以提高效率和兼容性。 BACnet标准中定义了多种对象类型,如模拟输入、模拟输出、二进制输入、二进制输出、时钟、日历、趋势日志等,每种对象都有其特定的属性和行为。此外,BACnet协议还提供了多种服务,用于读取、写入、修改这些对象的数据和属性,确保控制逻辑的实现。 为了满足楼宇自动化领域中不断增长的通信需求,BACnet协议不断发展和更新。文档中提到的BS EN ISO 16484-5:2014是由CEN(欧洲标准化委员会)批准的BACnet协议的欧洲版本,其中包含了数据通信协议的相关规定。该版本接替了2012年的旧版本,确保了更先进的标准能够被采纳应用。英国标准协会(BSI)负责了该标准在英国的实施,并出版了相应的标准文本。 文档提及的ISBN号***是该标准出版物的国际标准书号,而ICS(国际分类编码系统)编码35.240.99;91.040.01;97.120则进一步指向了该标准所涉及的技术领域分类。 标准的出版还伴随着法律义务的声明,明确指出遵守英国标准并不能免除遵守任何法律义务,使用者需对标准的正确应用负责。此外,标准的出版物还包括了相关的欧洲标准、欧洲规范、欧洲标准规范等信息,并说明了该标准在英国的适用性及其法律地位。 BACnet协议作为一种楼宇自动化通信协议,不仅为楼宇自动化领域提供了标准化的数据通信解决方案,还通过不断更新,支持了该领域的技术发展。其开放性和互操作性特点对于促进不同厂商产品间的兼容性与集成性至关重要。此外,BACnet协议的应用并不限于单一国家,它在欧洲乃至全球范围内的推广,使得不同国家和地区的建筑自动化系统能够实现统一的数据交互标准。
2025-07-24 20:15:53 9.34MB BACnet
1
BACnet协议的报文分析 里面有服务原语的分析
2024-03-01 16:16:20 502KB Bacnet
1
基于各种平台的BACnet的开发,如ARM,WINDOWS,LINUX,有stm32,pic,avr,dos等各种例程的源码.
2023-10-27 08:59:41 2.06MB BACnet
1
BACnet堆栈 适用于嵌入式系统,Linux和Windows的BACnet开源协议栈 欢迎来到BACnet的美好世界和真正的设备互操作性! 持续集成 该库使用各种自动连续集成服务来帮助对健壮的C代码和BACnet功能进行自动编译,验证,整理和单元测试。 GitHub工作流程 特拉维斯CI AppVeyor CI 关于这个项目 该BACnet库为嵌入式系统提供BACnet应用程序层,网络层和媒体访问(MAC)层通信服务。 BACnet-用于楼宇自动化和控制网络的数据通信协议-请访问bacnet.org。 BACnet是用于楼宇自动化和控制网络的标准数据通信协议。 BACnet是一个开放协议,这意味着任何人都可以为该标准做出贡献,并且任何人都可以使用它。 唯一需要注意的是BACnet标准文档本身已获得ASHRAE的版权保护,他们出售该文档以帮助支付开发和维护该标准的费用(就像IEE
2023-06-13 21:59:24 31.23MB c windows linux iot
1
BACNET测试工具、可以扫描所有的BACnet设备,点位读取。
2023-04-11 21:58:33 1.89MB BACnet测试 BACnet客户端
1
BACnet服务器MSTP示例C ++ 使用用C ++编写的最小BACnet MSTP服务器示例。 有关功能齐全的BACnet服务器示例,请参见项目。 发布 可以从“页面下载此示例的内部版本。 安装 在“页面上下载最新的发行zip文件。 用法 可以使用命令行参数配置此BACnet MSTP服务器的串行端口,波特率和MAC地址: BACnetServerMSTPExampleCPP [serial port] [baud rate] [mac address] BACnetServerMSTPExampleCPP COM5 9600 1 BACnetServerMSTPExampleCPP ttyS6 19200 25 设备树: 设备:389999(设备Rainbow) 模拟值:2(AnalogValue Diamond) 建造 该项目包含一个项目。 该项目还在每次提交时使用自动构建
2023-03-02 20:17:50 22KB bacnet bacnet-server bacnet-mstp C++
1
基于 BACnet 的APOGEE楼宇自动化系统
2023-01-07 14:22:29 10.53MB BACnet APOGEE 楼宇自动化
1
适用于嵌入式系统,Linux和Windows的BACnet开源协议栈 欢迎来到BACnet的美好世界和真正的设备互操作性! 关于这个项目 该BACnet库为嵌入式系统提供BACnet应用程序层,网络层和媒体访问(MAC)层通信服务。 BACnet-用于楼宇自动化和控制网络的数据通信协议-请访问bacnet.org。 BACnet是用于楼宇自动化和控制网络的标准数据通信协议。 BACnet是一个开放协议,这意味着任何人都可以为该标准做出贡献,并且任何人都可以使用它。 唯一需要注意的是BACnet标准文档本身已获得ASHRAE的版权保护,他们出售该文档以帮助支付开发和维护该标准的费用(就像IEEE或ANSI或ISO一样)。 对于软件开发人员而言,BACnet协议是在网络上发送和接收消息的标准方法,该消息包含其他BACnet兼容设备可以理解的数据。 BACnet标准定义了一种通过各种导线进
2022-11-07 22:30:12 435KB C
1