ビルディングオートメーションに使われるBACnet通信について、世の中にどんなライブラリがあるのか調べてみました。
BACnetはビルのオープンネットワークを構築するための通信規格ではあるものの、通信部分の制御をUDPよりも上の層で実施する必要があるため、通信処理の実装に手間がかかる課題がありました。
したがって、BACnetを実装する上でライブラリを活用して効率的に実装したいと思いました。
またBACnetに詳しくなくてもライブラリを活用してデバイスにBACnet通信を実装できると嬉しいですよね。
実際に調査してみましたがあまり数が見つかりませんでした。とは言うものの、いくつかライブラリを見つけましたので備忘録としてまとめたいと思います。
■BACpypes (Pyhton)
PythonでBACnetを使い始めるためのライブラリです。
BACnetアプリケーション層とネットワーク層を提供します。
ドキュメントが充実しており、サンプルアプリケーションのダウンロードが可能です。
https://bacpypes.readthedocs.io/en/latest/
■BACnet4J (Java)
JavaでBACnetを実装するためのライブラリです。
もともとは監視用に開発されましたが、現在は多くのオブジェクトのサポートが含まれているため、組み込み用途にも使用可能です。
サポートされているプロトコルには、IPv4、IPv6、およびMS / TPが含まれます。
GPLライセンスです。商用ライセンスも購入できます。
https://mango-os.com/bacnet4j-open-source-bacnet-library
■Windows対応BACnetドライバDLL (C++)
BACnetを実装するための、ユニテック製のWindows用のC++ライブラリ。
ユーザアプリケーションからDLLに用意されている関数をコールするだけでBACnet通信を行うことが可能とのこと。ユニテックから購入が必要のようです。
■まとめ
BACnet通信のライブラリについて、まとめました。
以上です。