当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]BACnet 是一种国际标准的楼宇自动化通信协议,可使来自不同制造商的设备(如供暖、通风、空调、照明和安防系统)能够相互通信。尽管当前的 BACnetnet 系统主要使用以太网作为传输介质(BACnet/IP),但在早期阶段,RS485(BACnet MSTP)通常被用作第0层。

BACnet 是一种国际标准的楼宇自动化通信协议,可使来自不同制造商的设备(如供暖、通风、空调、照明和安防系统)能够相互通信。尽管当前的 BACnetnet 系统主要使用以太网作为传输介质(BACnet/IP),但在早期阶段,RS485(BACnet MSTP)通常被用作第0层。

BACnet 的栈接口在 C++ 和 Python 中均可用于 Raspberry Pi。然而,大多数教程几乎完全专注于 BACnet/IP。

在本教程中,我将向您展示如何在树莓派上使用 BACnet MSTP。

硬件

建议使用较新的树莓派4或Pi 5来实现BACnet。原因有两点:第一,BACnet堆栈相对较大且资源消耗较高;第二,这些型号配备了多个硬件UART接口,专用于此功能,不会同时用于蓝牙等其他用途。

此外,我们需要一个RS485接口来通过BACnet MSTP进行通信。为此,我使用了一个带电隔离功能的Zihatec RS485 HAT。

布线

至于BACnet MS/TP,最常见的连接方式是菊花链总线配置,即使用单根RS485电缆将网络中的所有设备按线性链式连接。

为此,请将每个设备的“+”和“-”端子相互连接。HAT配备有5针接口,其中两个引脚标有“A”和“B”。A引脚必须连接到其他设备的“+”端子,B引脚则连接到“-”端子。

对于较远距离,建议使用双绞线电缆。通过RS485可实现最长一英里的传输距离。

HAT上的设置

HAT上的DIP开关必须设置为RS485模式(半双工)。为此,请按以下方式设置开关:

•S1:关 - 开 - 开 - 关

•S2:关闭 - 关闭 - 开启 - 开启

•S3:关闭 - 关闭 - 开启 - 开启

现在我们需要使用两个跳线来选择K3上要使用的UART。跳线必须设置为U3(UART3)、U4(UART4)或U5(UART5)位置之一。

注意:在 Raspberry Pi 5 上,UART 的编号方式不同。此处,U3 是 UART2,U4 是 UART3,依此类推。

准备操作系统

首先,将当前版本的 Raspbianbian 操作系统(在本例中为 Debian Trixie 64 位)安装到 SD SD 卡上。然后,像往常一样,将操作系统更新到最新版本:

现在我们需要启用要使用的UART。为此,请打开Config.txt文件:

现在,让我们在文件末尾启用相应的UART。以UART3为例,应设置为:

保存 Config.txt 文件并重启树莓派后,我们现在可以检查 UART 是否已启用:

此外,对于相应的UART,现在应可在路径 /dev/ttyAMAxAx 处提供接口。

安装并编译 C/C++ BACnetnet 栈

现在我们可以开始安装BACnet软件栈了。

这些编译好的文件现在应该位于 bacnet-stack/bin/bin 目录中,具体是 BACnet MSTP 的三个示例程序:

测试BACnet协议栈

该堆栈包含多种用于MSTP的示例程序,其中包括一个用于从BACnet MSTP总线捕获数据的工具。

我们只需将RS485接口连接到现有系统,即可记录通信协议。(如果不存在BACnet MSTP系统,您也可以直接在电脑上安装YABE并记录此通信。)

为此,请在 /bacnet-stack/bin/bin 目录中输入以下命令:

当然,可能需要调整波特率和接口路径。

mstpcap 会将所有接收到的数据包记录到文件中,直到程序通过 Ctrl+C+C 终止为止。

YABE 在树莓派上

树莓派上使用BACnet IP和MSTP的另一种方法是使用YABE(Yet Another BACnet Explorer)。由于YABE实际上是一个基于微软.NET Framework编写的Windows程序,因此我们需要先安装mono-complete,以便YABE能在Linux系统上运行。

现在我们可以下载最新版本的 YABE 作为 ZIP 文件(不是 EXEE 安装程序!!!),然后解压它。

现在可以使用 mono mono 启动 Yabe。要访问接口,应通过 sudo sudo 运行启动命令

通道的配置窗口将自动打开。在“端口”下,选择串行接口的路径,例如 /dev/ttyAMA3。

按下开始按钮后,YABE 会自动发送一个 Whois 查询,并显示总线上可用的设备:

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

这个项目基于我之前制作的PICO VGA板,该板将树莓派Pico连接到DSUB15接口,用于驱动VGA显示器并作为普通显示屏使用。通过保留原有项目,并添加一个按钮板以及进行一些修改,我最终打造出了这款复古风格的游戏主机。

关键字: 显示屏 树莓派 DSUB15接口

EASY EAI Nano-TB 可通过 MobaXterm 使用 SSH 进行远程桌面登录调试。首先,使用以太网线将 EASY EAI Nano-TB 的千兆以太网端口连接到与路由器 LAN 端口相连的交换机,或直接连...

关键字: 以太网 路由器 SSH

该项目展示了一套端到端的实时边缘视觉处理流程,结合了目标检测、多目标跟踪和基于像素的运动估计技术,仅在物体实际移动时可靠地捕捉图像(或录制视频),且可选择性地仅记录用户自定义区域内的动态内容。

关键字: 运动传感器 树莓派 AI摄像

2026年6月8日,致力于亚太地区市场的国际领先半导体元器件分销商---大联大控股旗下世平集团宣布,携手安森美(onsemi)成功举办“安森美10BASE-T1S ADB前照灯方案介绍”线上研讨会。本次研讨会聚焦车载以太...

关键字: 前照灯 以太网 智能照明

以下项目与智能储物柜系统相关,我与团队使用树莓派、Pi摄像头以及基于OpenCV等机器学习模型的实时人脸识别技术构建了该系统。此外,还包括设置电磁阀和继电器等硬件设备以控制锁具。我还使用了Pi继电器HAT,能够通过单个树...

关键字: 树莓派 人脸识别 继电器

随着软件定义汽车加速落地,高效、精简、适配车载场景的通信技术成为行业核心诉求。10BASE-T1S作为专为车载与工业场景打造的以太网技术,为破解车载网络瓶颈统一提供了关键方案。为帮助大家完整理解这项技术的核心价值,我们将...

关键字: 以太网 车载网络 芯片

在嵌入式以太网开发中,PHY芯片(如LAN8720、RTL8211)“Link Up”失败是最常见的硬件故障。很多工程师误以为是软件驱动问题,实则是自协商(Auto-Negotiation) 机制与信号完整性(SI) 出...

关键字: 以太网 PHY芯片

在工业自动化、智能楼宇等场景中,以太网协议凭借高速传输、兼容性强的优势成为主流通信方式,但不同设备往往采用不同以太网协议(如EtherCAT、PROFINET、EtherNet/IP等),传统方案需铺设多根线缆分别传输,...

关键字: 以太网 通信 总线

在物联网、工业自动化、智能楼宇等场景中,低功耗处理器凭借其节能优势,成为边缘终端设备的核心选择。但这类处理器普遍存在资源受限、接口简化的特点,缺乏集成以太网MAC(介质访问控制)模块,不支持传统MII、RMII等以太网接...

关键字: 低功耗 处理器 以太网

摘要:随着软件定义汽车加速落地,高效、精简、适配车载场景的通信技术成为行业核心诉求。10BASE-T1S作为专为车载与工业场景打造的以太网技术,为破解车载网络瓶颈统一提供了关键方案。本系列将分两篇为您深度拆解安森美(on...

关键字: 车载网络 以太网 边缘传感器
关闭