Small BACnet scanner. Takes snapshots of the network to enable future consultation. BACnet/IP only!
To scan a network, simply execute the compiled JAR (or the wrapped EXE). If you are on standard BACnet network, you should see some devices appear in the found devices window. You then just have to press “SCAN” and let the magic happen.
Once a scan is completed, the information is exported in an HTML
file in the same folder as the scanner itself, or in some cases in
the HOME
folder. Either way, the scanner should open the HTML
automatically to give you the opportunity to send the data back to
BACnet Help, where it can be further analyzed.
If you don’t immediately have access to an Internet connection, simply grab the HTML file and open it later when you are connected to the network.
- Scanner ID
- This is the device instance with which the scanner will broadcast itself to the network. It must not be the same ID as another device on the network.
- Range min
- The minimum device ID to scan. Must be used with Range max.
- Range max
- The maximum device ID to scan. Must be used with Range min.
- Broadcast address
- IP address on which to send the WhoIs request and then perform the scan. The scanner already gives you the most probable address for your network by default. You can also input an URL (such as www.bacnethelp.com), the scanner will make the DNS resolving automatically for you.
- Destination port
- Port to send and receive the IP packets. By default, BACnet uses 47808.
- Download trendlogs
- When chosen, the scan will retrieve the trendlogs info. They will available in a graph form once uploaded to BACnet Help.
- Download devices backups
- If the devices support file transfer and backups, the scanner will try to download them. A scan would then make a total backup of the network, enabling you to restore it to this exact state anytime in the future.
- Backup password
- Some devices ask for a password to enable a backup. If the password is incorrect, the device will simply refuse to give its backup. The scanner will then continue the scan as usual.
For the scanner to work, there must be at least one BACnet/IP device able to route packets from other non-IP devices.
If such a device is on the network, then other BACnet devices (such as MS/TP and Ethernet) will be scanned as well.
To use the command line interface, make sure you call the
application with an argument. For example, use -h
to show the help
:
java -jar bacnet-scan.exe -h
This will result in the following:
Switches Default Desc -------- ------- ---- -b, --broadcast-address 192.168.0.255 Broadcast address to send the "Who is" -id, --device-id 1337 The device instance for the scanner -p, --port 47808 The port on which the BACnet network is listening -f, --export-filename ~/Bacnet-scan/BACnet-help-1345158214661.log Export filename -xml, --no-export-xml, --export-xml false Export as an XML instead of a Clojure map -d, --no-default, --default false Run everything as default, but don't use the GUI -h, --no-help, --help false Show help
The bigger the network, the longer the scan will take (and the more chances there is for an error to occur). It is recommended to start you first scan with a low range width (using Range min and Range max) of 4-5 devices and to increase it if everything works fine. Every scan will be merged once sent to BACnet Help anyway (if sent in the same project).
- “I can’t scan, the button is greyed out!”
- If there isn’t a single device found on the network, the scanner won’t let you start a scan.
- “I don’t see any devices in the found devices window!”
- There can be many sources to this problem. Check if you have configured the right port. Usually BACnet uses 47808, but it could as easily be 47809 or any other port number. If you are sure of your port number, also make sure the BACnet/IP on the network is properly configured.
Bacnet-scan is a small network scan utility built on top of the Serotonin BACnet4J GPLv3 library. (http://sourceforge.net/projects/bacnet4j/).
Feel free to use/modify this application as you please. The source can be found here. If you want to make your own custom BACnet application, you should probably use BACnet4J directly, as it offers a wide range of functions unused in this application.
Copyright (C) 2012 Frozenlock
GNU General Public License version 3.0 (GPLv3)