Frozenlock / bacure

Clojure wrapper for BACnet4J
10 stars 5 forks source link

Add ability to listen to MS/TP traffic #25

Closed WhittlesJr closed 5 years ago

WhittlesJr commented 5 years ago

I wrote a BACnet packet creation / parsing library that I use to build and inspect packets for my automated BTL tests. Rather than going through BACnet4J's libraries for sending and receiving services, I just use a UDP socket for IP (bacure not needed) and .queueFrame on my MasterNode for MS/TP (via bacure). But for inspecting the received packets in MS/TP, I needed to drop a listener in there.

I'm hoping to be able to open-source my library (clj-bacnet) but I'll have to get permission from my employer. It gives you complete Wireshark-level of detail in the packets and allows you to construct any arbitrary packet, not just valid ones. BTL requires you to send invalid packets for some tests, and BACnet4J can't do that as far as I can tell. I also like having the full packet information for validating that BACnet is working correctly, rather than ignoring what goes on under the covers in BACnet4J.