----------------------- 1. About ----------------------- The Router connects two or more BACnet/IP and BACnet MS/TP networks. Number of netwoks is limited only by available hardware communication devices (or ports for Ethernet). ----------------------- 2. License ----------------------- Copyright (C) 2012 Andriy Sukhynyuk, Vasyl Tkhir, Andriy Ivasiv SPDX-License-Identifier: MIT ----------------------- 3. Build ----------------------- 1. Download, build and install libconfig C/C++ Configuration File Library from http://www.hyperrealm.com/libconfig or use APT to install sudo apt-get install libconfig-dev 2. Run "make clean all" from library root directory 3. Run "make router" from library root directory ----------------------- 4. Router configuration ----------------------- 4.1. Configuration file format. //single line comment /* multiline comment */ ports = ( //route_1 { device_type = ""; //route specific arguments, see below }, //route_2 { device_type = ""; //route specific arguments, see below }, //..... //route_n { device_type = ""; //route specific arguments, see below } ); Note: - arguments are separeted with ';' - routes are separeted with ',' - no ',' after the last route 4.2. Configuration file arguments. Common arguments: device_type - Describes a type of route, may be "bip" (Etherent) or "mstp" (Serial port). Use quotes. device - Connection device, for example "eth0" or "/dev/ttyS0"; default values: for BIP:"eth0", for MSTP: "/dev/ttyS0". Use quotes. network - Network number [1..65534]. Do not use network number 65535, it is broadcast number; default begins from 1 to routes count. bip arguments: port - bip UDP port; default port is 47808 (0xBAC0). mstp arguments: mac - MSTP MAC; default value is 127. max_master - MSTP max master; default value is 127. max_frames - 1. Segmentation does not supported. baud - one from the list: 0, 50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400; default baud is 9600 parity - one from the list (with quotes): "None", "Even", "Odd"; default parity "None". Use quotes. databits - one from the list: 5, 6, 7, 8; default 8. stopbits - 1 or 2; default 1. 4.3. Example of configuration file. ports = ( { device_type = "bip"; device = "eth0"; port = 47808; network = 1; }, { device_type = "bip"; device = "eth1"; port = 47808; network = 2; }, { device_type = "bip"; device = "eth1"; port = 47809; network = 3; }, { device_type = "mstp"; device = "/dev/ttyS0"; mac = 1; max_master = 127; max_frames = 1; baud = 38400; parity = "None"; databits = 8; stopbits = 1; network = 4; } ); ----------------------- 5. Start ----------------------- 5.1. With configuration file 1. Copy configuration file in the router executable directory 2. Start the router with "sudo ./router -c init.cfg" command in terminal 5.2. Passing params in command line 1. sudo ./router -D "mstp" "/dev/ttyS0" --mac 1 127 1 --baud 38400 --network 4 -D "bip" "eth0" --network 1