Skip to content

REQUEA/bacnet

Repository files navigation

Bacnet

Go Reference

bacnet is a minimal Bacnet over IP implementation in pure go with zero dependencies.

Status

This library is still experimental. No API compatibility promise is made.

Features

  • Who Is
  • Read Property
  • Write Property

Example

The main directory contains a small example that scan the network for bacnet devices, list all objects in this device then try to query the current value and unit from them. To run it do:

go run ./main eth0

(Replace eth0 by the interface name you want to scan)

License

This library is heavily based on the gobacnet library from @alextran which is itself based on the BACnet-Stack library originally written by Steve Karg and therefore is released under the same license as his project. This includes the exception which allows for this library to be linked by proprietary code without that code becoming GPL. This exception was taken from the original BACnet stack.

The exception is as follows:

    "As a special exception, if other files instantiate
     templates or use macros or inline functions from
     this file, or you compile this file and link it
     with other works to produce a work based on this file,
     this file does not by itself cause the resulting work
     to be covered by the GNU General Public License.
     However the source code for this file must still be
     made available in accordance with section (3) of the
     GNU General Public License."