View on GitHub

fhnw-bacnet-it.github.io

Github Pages

About BACnet/IT

BACnet/IT has been developed at the Institute of Mobile and Distributed Systems of the University of Applied Sciences Northwestern Switzerland.

BACnet/IT Tutorial

In this tutorial you will learn how to develop applications using our new BACnet/IT stack.

Content

What we do
Download Binaries and Prerequisites
Create a Demo Application without Directory Service
Create a Demo Application using the Directory Service
Build from source
Required changes for a distributed setup

What we do

Consider the following figure:

We will create two applications with each two simulated BACnet devices (yellow and green).
Both applications will extend the abstract class AbstractApplication, which is not shown in the figure,
AbstractApplication provides base functionality to the applications.
Each application uses an Application Service Element (ASE) to communicate with other applications.
The ASE component can be downloaded and needs some configuration. Therefore, we implement the class Configurator (blue).

The configurator has four fundamental tasks:

  1. Initialize the necessary BACnet/IT ASE components.
  2. Link the two applications with the corresponding communication stacks (in figure: ASE1/ASE2, white).
  3. Link the available Transport Bindings (gray) to the ASEs (note that multiple Transport Bindings can be added to an ASE).
  4. Enforce communication between devices.

As mentioned in configurator task 4, after the setup, we let device 1001 (yellow) communicate with device 2001 (green) and vice versa.

Note the three interfaces ApplicationService, ChannelConfiguration and TransportBindingService.

  1. The Applications’s view of ASE is ApplicationService.
  2. The Configurator’s view of ASE is ChannelConfiguration.
  3. The TransportBinding’s view of ASE is TransportBindingService.

And the last point before we start:
All the provided classes you need to develop applications, as well as this demo setup, are packed into “api” java packages. Therefore, ensure that all your imported classes of the BACnet/IT libraries are within an api package.

With this information in mind, let us start and build our first BACnet/IT application!

Go to Download Binaries and Prerequisites