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输出关闭一次,打开一次,在关闭,详细可看如图所示曲线图
代码不对外开放,开发这个确实不容易,希望大家理解,呕心沥血,有需要可以私信我。