JMRI Hardware Guide: Methods to Connect Multiple Computers to a LocoNet Layout
JMRI currently supports two different ways that allow you to connect multiple computers to your LocoNet-equipped layout using a single LocoBuffer. In both methods, the computers communicate using standard TCP/IP protocols, but there are differences in the details.One method uses the inbuilt LocoNet Client/Server capability of JMRI and the other allows multiple JMRI nodes to connect as Clients to a single LocoNetOverTCP LbServer, which is external to JMRI.
The difference between these two methods is that JMRI LocoNet Client/Server uses the native Java Remote Method Invocation (RMI) protocol, whereas the LocoNetOverTCP uses a separate non-Java server process, LbServer, that communicates using plain ASCII String messages over TCP/IP sockets, allowing non-Java nodes to also share the one LocoBufer.
For most people who simply want to have several computers share a single LocoBuffer connection, the JMRI LocoNet Client/Server option is probably the best choice as it is easy to configure. For others wanting to provide remote access the layout over Internet, the LocoNetOverTCP LbServer option may be more suitable as firewall rule changes to allow external access will be simpler.
Notes:
- It's strongly recommended that you connect the master computer to the LocoNet with a LocoBuffer or LocoBuffer-II. Although a MS-100 will basically work for this application, correction of the resulting occasional LocoNet errors may cause noticable delays in updating the remote computers.
- If the computers are all close to the LocoNet, e.g. acting as local control panels, you don't really need any networking to do this. You can instead connect each of the computers to the LocoNet via their own LocoBuffer or LocoBuffer-II (or MS-100, though this is not recommended) and have them individually take part in the LocoNet communications. This doesn't cause any additional communications load. It does cost a little more for the extra adapters, and doesn't permit you to put a computer remote from the layout.