Turnout control from a wireless panel

The availability of low cost hand held devices like the iPod Touch and iPad have made it practical for wireless turnout control panels. JMRI provides the means for this type of control with its web access support. So theoretically any device with a web browser could be used. Ajax (Asynchronous Javascript And XML) is the tool that makes this scheme possible. It allows a web page to be more responsive and act like a regular computer application.

Ajax expects the client (web browser, user) to initiate actions. This presents a challenge in controlling turnouts. In the case of a throttle no one else (i.e. just one person) should be controlling the engine. However, in the case of a turnout it could be controlled from any number of sources. If the turnout is changed from some other source you would like that change reflexed in the device you are using. The goal is to provide reliable and consistent turnout state indication with all devices if one device makes a change.

Here are some examples using the iPod Touch in controlling turnouts and location of trains. Icons are from the JMRI resource directory.

This example shows a scheme of controlling turnouts that are used frequently. Individual turnout addresses can be entered or a group of numbers can be entered from a popup menu.

These examples show a scheme of controlling turnouts from a panel diagram. You can change web pages as you walk around a layout. Knowing the turnout numbers is not required. Just touch the turnout symbol and change the turnout state. Route buttons are used to control several turnouts.

The following pictures show snap shots of a train entering a hidden yard, bypassing the yard, turning around in the reverse loop and stopping in track 2. Route buttons are used to control the turnouts to select the yard track to enter. The short blocks in each yard track are the stopping blocks. The red segments indicate an occupied block (not necessarily the length of the block). Only a few are shown here. The blue numbers are the number of the locomotive stored on that track and are read from and written to memory variables in the JMRI (2.11.5 and later).