
JMRI (the open source Java Model Railroad Interface software) can provide many functions for the model railroader, in addition to train control. These are broadly called “layout control” and include operating turnouts, acting on sensor input, setting signals, monitoring RFID readers, controlling automations, and, in general, managing any accessory devices. Handling these functions requires communicating with devices on the layout using one of several layout control protocols. This talk will focus on two of the most popular, CMRI and MQTT, showing how they can be used to provide a rich and realistic layout control environment.