The place where random ideas get written down and lost in time.

2017-01-01 - CMRS Touch Panels

Category DEV

Proposal doc as been sent:

  • Option A: use the cheaper Intel “Ubuntu” stick. Fairly good price at $39. Use it as a dumb remote and just display a web page served by the JMRI server.
  • Option B: use the beefier Intel Windows 10 stick. $125 or such. Run a C# or Java app that displays an SVG map and communicates with JMRI via the JSON server or the WiThrottle server.

Should look into option A, software side:

  • Server side, a dedicated HTTP server. Could be either IIS or a custom Java servlet. The latter is probably easier to deal with, on a custom non-80 port.
  • Explore what the JSON server in JMRI can and cannot do. Eg it can serve states, but does it allow performing changes? ⇒ yes, e.g. JMRI\java\src\jmri\server\json\turnout\JsonTurnoutHttpService.java doPut().
  • Another option is to do a Java/Jython bridge like used with Conductor. This makes it trivial to start/shutdown at the same time as JMRI and can use the Jython interface to access turnouts.
  • On the client side, we just need to display some SVG or bitmaps. Multiple maps can be trivially handled by having different query parameters.

Server side:

  • Jetty / JSP
  • Restlet
  • Swing for UI
  • JMRI Jython script dynamically linked to a Java JAR

Client side:

  • jQuery
  • SVG
  • vanilla JS


 Generated on 2024-11-22 by Rig4j 0.1-Exp-f2c0035