基于stm32的bacnet协议

news/2024/11/15 17:07:26/文章来源:https://www.cnblogs.com/husanyue/p/18548285

bacnet协议对于国内网站来说,几乎可以说资料为零,通俗大论一遍,具体操作方法屁都没说

先从工具说起

开发工具

BACnetScan:(讯绕提供)(工具1)

链接:https://pan.baidu.com/s/1TJxc0xaEsCT3lJOlG78B7w
提取码:t7bw

Yabe:(工具2)

链接:https://pan.baidu.com/s/1jfsbGQwv08GISF0VeOjY_g
提取码:mmdc

VTS_3.6.5:(工具3)

链接:https://pan.baidu.com/s/1c_wj2dI8Eke-5NngMUJg9g
提取码:r72x

工具1,工具2可用来做客户端发现bacnet设备

工具3 ,用于做服务器端模拟bacnet设备

协议文档

里面有两个文档

1.BACnet网络讲义

建议先看明白网络讲义


需求简单开建议先从BI,BO,AI,AO

BI:开关量输入,BO开关量输出,AI模拟量输入,AO模拟量输出

官方给出了demo只有两路开关量输出

2.协议原版

链接:https://pan.baidu.com/s/1XUYQ8N83oU6YI6ylOqMCBw
提取码:zv5v

官方demo方便大家下载

链接:https://pan.baidu.com/s/1I7kmL4QQ0inXAouIBwSwLg
提取码:i393

官方给出的demo嵌入式所用编译环境为IAR,此工具在我以前的文章连接中有

(一)开发过程及硬件实现流程

先说一句我用的编程环境为keil,所用的单片机型号为,stm32f103vet6,网络驱动芯片为w5500

1,bacnet mstp

硬件,有6路BO输出,8路BI输入,8路AI输入,4路AO输出

此图为bacnet scan发现三个设备图

我手里有三个设备,通讯硬件底层走的RS485数据流

现在程序设置三个设备,Mac地址分别为126,18,21如下图所示

如下图所示扫出的点位有 ,6路BO输出,8路BI输入,8路AI输入,4路AO输出,关闭mac地址为126的DDC第一路BO输出

yabe测试如下图

2.bacnet ip 设备底层硬件驱动 stm32f103vet6编程环境keil

我手里有1个设备,数据链路层,通讯硬件底层走的w5500-udp通讯

服务器 -ip地址192.168.3.20,port:47808,BAC0

客户端-ip地址192.168.3.50,port:47808,BAC0

发现设备设置如下图

yabe连接到设备192.168.3.20如下图


扫点后如下图控制BO-1输出关闭一次,打开一次,在关闭,详细可看如图所示曲线图

代码不对外开放,开发这个确实不容易,希望大家理解,呕心沥血,有需要可以私信我。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/834112.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

未能加载文件或程序集 “项目名称对应的程序集,Version=1.0.0.0.culture=neutral.PublicKeyToken=null或它的某一个依赖项。系统找不到指定的文件。

Visual Studio 2022, AutoCAD开发, wpf项目, 因viewmodel中代码出现问题, 造成窗体设计器中无法预览(这个问题通过修改viewmodel代码解决), 删除项目路径下的obj及bin文件夹后, 重新生成项目, 出现新的错误:窗体能够显示了, 但个别控件无法正常显示, 以为是visual …

.Net Core关于项目引用和命名空间导入的一个小坑

.Net Core关于项目引用和命名空间导入的一个小坑 一、.Net Core项目嵌套引用的情况 经笔者测试验证,发现对于一个.Net Core项目Root,其引用另一个.Net Core项目Root.SubA后,Root项目会自动将Root.SubA项目引用的子项目,也纳入其引用项目池中,而无需再手动引用这些子项目。…

考研打卡(18)

开局(18) 开始时间 2024-11-15 16:36:35 结束时间 2024-11-15 16:53:39等会去打剧本杀数据结构1 以下________排序算法的最坏时间复杂度可以做到O(nlog(n))(暨南大学 2010年) A 归并排序 B 快速排序 C 冒泡排序 D 插入排序A 答案归并排序:基于分治的思想,其时间…

前端Git规范

AI前端Git规范 Git分支命名master:主分支,负责记录上线版本的迭代,该分支代码与线上代码是完全一致的。 develop:开发分支,该分支记录相对稳定的版本,所有的feature分支和bugfix分支都从该分支创建。其它分支为短期分支,其完成功能开发之后需要删除 feature/*:特性(功…

DNS批量解析管理软件有什么用

在复杂的网络环境中,DNS批量解析管理软件犹如一把功能强大的钥匙,开启了高效网络管理的大门,为网络运营和维护带来了诸多便利。 1、对于网络服务提供商而言,DNS批量解析管理软件极大地提高了工作效率 传统的DNS解析管理方式在处理大量域名时,往往需要逐个进行设置和调整,…

163邮箱发送邮件通知异常 org.springframework.mail.MailAuthenticationException: Authentication failed

从腾讯企业邮箱切换成163邮箱,邮箱配置经过检查未作调整,网络检查均是正常,但发送邮件时一直报错org.springframework.mail.MailAuthenticationException: Authentication failed。 解决办法: 1.检查smtp服务是否打开(若未打开需要开启)2.客户端授权码需打开3.检查邮箱配…

SpringBoot 3.3.5 集成 mybatis-plus-boot-starter 3.4.2报错

一、环境 JDK:17 SpringBoot:3.3.5 Mybatis-Plus:3.4.2 二、报错信息Consider the following: If you want an embedded database (H2, HSQL or Derby), please put it on the classpath. If you have database settings to be loaded from a particular profile you may nee…

js 日期遍历 小算法

js 日期遍历 小算法给一个完整月份日期 list ,怎样遍历出来 类似一个月 日历呢?勉强写了一个 基于vue<table><tbody><template v-for="n in 5"><tr><template v-for="w in 7"><template v-if="(w-1)+(n-1)*7 <…

2024-2025-1 20241322《计算机基础与程序设计》第八周学习总结

2024-2025-1 20241322 《计算机基础与程序设计》第八周学习总结 作业信息这个作业属于哪个课程 https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP这个作业要求在哪里 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08这个作业的目标 功能设计与面向对象设计面向对…

echarts 画一个南丁格尔玫瑰饼图

const datas = [{name: 无信号,value: 5,label: { color: #06B7FFFF }},{name: 正常,value: 8,label: { color: #69D85DFF }},{name: 报警,value: 7,label: { color: #FA6400FF }},{name: 警告,value: 4,label: { color: #F7B500FF }} ]option = {tooltip: {trigger: item,form…

数字孪生技术:如何实现智能制造与城市管理的全新升级

在现代的数字化转型过程中,数字孪生技术成为许多行业实现智能化升级的重要推动力。而作为领先的可视化平台,山海鲸可视化通过其强大的鲸孪生组件,将数字孪生技术与可视化紧密结合,为企业和行业用户提供了一种全新的方式来管理、监控和优化复杂系统。下面我们将详细介绍山海…

【鸣潮,原神PC端启动器】仿二次元手游PC端游戏启动器,以鸣潮为例。

二游GAMELanucher启动器 1.前言许多二次元手游(原神,鸣潮,少女前线)的PC端启动器都是使用Qt做的,正好最近正在玩鸣潮,心血来潮,便仿鸣潮启动器,从头写一个。先下载一个官方版的PC启动器,找到图标,背景图等素材,然后对着界面写代码就行。效果如下2. 划分模块游戏启动…