基于Bacnet源码新增对象及属性

本文介绍了如何下载bacnet源码并修改,创建自定义的BACnet服务端对象,包括备份源文件、定义对象结构体、添加自定义对象类型、实现对象的各个接口以及增加对象属性。通过这些步骤,开发者可以对BACnet服务器进行定制化开发。
  1. 首先需要下载bacnet的源码,这里以bacnet的源码包bacnet-stack-0.8.3为例子,bacnet服务端的demo程序对应的位置为bacnet-stack-0.8.3\demo\server,如下图所示:

  1. 备份main.c

备份的目的是为了在出错的情况下,可以找回最原始的代码,这里可在linux下的命令行终端输入cp main.c main.c.bak

  1. 打开main.c,为了方便演示,这次的所有代码都在main.c里面新增。

3.1新增一个自定义的object_functions_t类型的结构体,该结构体存放了整个bacnet服务器的所有对象,为了方便,可以从bacnet-stack-0.8.3\demo\object\device.c下的staticobject_functions_t My_Object_Table结构体拷贝,并删除其他种类的对象,保留OBJECT_DEVICE,MAX_BACNET_OBJECT_TYPE(这两个种对象是必需的,不可删除)。

如下所示:

此时用BacnetScan扫描工具查询结果如下图所示:

从上图可知,目前该服务端上只有一个对象。

3.2 添加自定义对象。

首先在bacnet-stack-0.8.3\include\bacenum.h的枚举类型BACNET_OBJECT_TYPE中新增一个自定义的类型,这里以“OBJECT_CUSTOM”命名为例子。如下所示:

static object_functions_t My
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赤露水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值