srcp.js
srcp webclient

Demo Github

User Interface

Modern

A design inspired by modern mobile operation systems - written in HTML5 and CSS3.

Responsive

The user interface has been designed to adopt to the device in use. While it features a tabbed layout when used on a phone it will use the space available on a tablet. On iOS it will use the full screen when being installed as a WebApp. Of cause it can also be used on any computer with a modern web browser installed.

Customizable

Using the Edit button control panels can be moved or removed and new devices can be initialized.


Features

Locomotives

Control speed, direction and functions.

Accessories

Switch between green and red state.

Power

Turn on the power supply.

Log & Commandline

Send and receive srcp messages.


Functionality

The srcp.js client communicates to the srcp server via websockets that are translated into TCP by Websockify. This enables srcp.js, unlike other web based model railroad control approaches, to send standard srcp messages and not to require a custom srcp server. If websocket based srcp clients become more popular the srcp servers could simply offer a second port for websocket connections - making Websockify obsolete.


Installation

srcp server

If you do not already have a srcp server I recommend using rocrail and activating srcp as described here.

websockify

To install Websockify just clone the repository (or download it as a zip file) and start websockify with ./run 4303 localhost:4304 (change localhost:4304 to the IP and port of your srcp server).

srcp.js

srcp.js can be either stored locally or be uploaded to a webserver. For testing purpose the demo can be used without further installation.
Enter the IP of the machine running Websockify - the port used in this example is 4303.