BACnet Tools are binary demo application command line utilities that use BACnet/IP to perform a variety of BACnet services. Some tools use BACnet WhoIs to bind to devices, but can also use a static binding file address_cache. Most of the tools have help (--help option), and use environment variables to configure the datalink. The Client Tools use WhoIs to bind to target devices. The WhoIs can be eliminated by using the address_cache file, which is read by each client tool from the current working directory. Having the device address from the address_cache file will greatly improve the throughput and speed of the client tools. The address_cache file can be generated using the standard output of the bacwi tool. EXAMPLE: bacwi -1 > address_cache Client Tools ------------ bacrp - BACnet ReadProperty service bacwp - BACnet ReadProperty service bacarf - BACnet AtomicReadFile service bacawf - BACnet AtomicWriteFile service bacdcc - BACnet DeviceCommunicationControl service bacrd - BACnet ReinitializeDevice service bacwh - BACnet WhoHas service bacwi - BACnet WhoIs service bacepics - BACnet EPICS for Device object. bacts - BACnet TimeSynchronization service bacucov - BACnet UnconfirmedChangeOfValue service bacrpm - BACnet ReadPropertyMultiple service Server Tools ------------ bacserv - BACnet Device Simulator Router Tools ------------ baciamr - BACnet I-Am-Router to Network message bacinitr - BACnet Initialize Router message bacwir - BACnet Who-Is Router to Network message MS/TP Capture Tool ------------------ The mstpcap tool is used for capturing MS/TP traffic from an RS-485 serial adapter and saving the packets in a file for viewing by Wireshark. Environment Variables --------------------- BACNET_APDU_TIMEOUT - set this value in milliseconds to change the APDU timeout. APDU Timeout is how much time a client waits for a response from a BACnet device. Default is 3000ms. BACNET_IFACE - set this value to dotted IP address (Windows) of the interface (see ipconfig command on Windows) for which you want to bind. On Linux, set this to the /dev interface (i.e. eth0, arc0). Default is eth0 on Linux, and the default interface on Windows. Hence, if there is only a single network interface on Windows, the applications will choose it, and this setting will not be needed. BACNET_IP_PORT - UDP/IP port number (0..65534) used for BACnet/IP communications. Default is 47808 (0xBAC0). BACNET_BBMD_PORT - UDP/IP port number (0..65534) used for Foreign Device Registration. Defaults to 47808 (0xBAC0). BACNET_BBMD_TIMETOLIVE - number of seconds used in Foreign Device Registration (0..65535). Defaults to 60000 seconds. BACNET_BBMD_ADDRESS - dotted IPv4 address of the BBMD or Foreign Device Registrar. Source Code ----------- The source code for the BACnet-Tools can be found at: http://bacnet.sourceforge.net/