RailwayEssentials is renamed to RailEssentials.
RailEssentials
is a modern and intuitive software for creating and controling
model railways. Currently, the only supported control unit
is ESU's ECoS 50210/50200.
The software is based on a client-server architecture, i.e the server is the brain and bridge between the control unit
and any conntected webclient. The server is written in C# and .NET Framework and the client is written in JavaScript/TypeScript and can be
used in Chrome, Firefox,
and Vivaldi.
- Tutorial: Welcome / First Steps
- Daily/Nightly Builds
- Releases
- Who is Using It?
- Contribute
- Book
- Features
- Visual Impressions
- Wiki/Documentation
I have created a small video of my modelrailway in my basement to demonstrate that RailEssentials
just work. Just click the preview to jump directly to YouTube.
For making your first steps easier with RailEssentials
, a welcome tutorial has been provided.
It is part of the Wiki Page
RailEssentials
is automatically build everyday. During this build an always up-to-date Setup/Installer is generated and can be used to deploy the latest features on your personal computer. Currently, only Windows is supported, for other operating system the source must be used and build. The latest setup/installer is provided under the Release
tab: Daily Setup
- download the Setup of your choice (e.g.
Setup-20210322-4d9eb4.exe
, where20210322
stands for 22nd March 2021) - doubleblick the Setup and follow the instructions
RailEssentials
is automatically build everyday. The always latest version is provided under the Release
tab: Daily Build
- download the archive
railessentials-dailybuild-*.zip
- after unzip just call the included script
startRailEssentials.bat
As default the workspace Basement
is loaded and provided and can be used directly in simulation mode.
We do not provide any official releases yet, because the software is still under development, but we provide a Daily Build
. In January'21 the RailEssentials team decided to do a full rewrite. To use this software, checkout the source, and just click "Build and Run (F5)" in VisualStudio.
- install
VisualStudio 2019
or the old variantVisualStudio 2017
- clone the RailEssentials repository
git clone https://github.com/cbries/railessentials.git
or download the latest archive master.zip - open the solution
railessentials.sln
- set
railessentials
as Startup Project - click
F5
or callVisualStudio Toolbar / Debug / Start Debugging
As a result the software will build and all relevant files are copied to the Output Directory
, in general this is railessentials \ bin \ Debug|Release
. railessentials.exe
will be executed, a command prompt opens and shows some status information. If not browser opens automatially, go to your browser and open http://localhost:8081/?workspace=Basement
.
Finally, you should see something like this:
- Windows 10
- .NET Framework 4.8 or higher
Chrome
,Firefox
orVivaldi
Have a bug or a feature request? Please open an issue here https://github.com/cbries/railessentials/issues. Please make sure that the same issue was not previously submitted by someone else.
w2ui
JavaScript UI Library for the Modern WebWebSocket4Net
A popular .NET WebSocket ClientSuperSocket
SuperSocket is a light weight extensible socket application framework.Newtonsoft
Popular high-performance JSON framework for .NETjQuery
jQuery is a fast, small, and feature-rich JavaScript library.jQuery colorpicker
A full-featured colorpicker for jQueryUI with full theming support.jQuery Boxfit
Boxfit is a jQuery plugin for resizing text.Contextual.js
Javascript contextual menu libraryselect2
Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.FontAwesome
Get vector icons and social logos on your website with Font Awesome, the web's most popular icon set and toolkit.emgucv
A cross platform .Net wrapper for the Open CV image-processing library.
In the late of 2018 I wrote a book about programming the ESU's ECoS 50210.
- ISBN: 978-1-790-36403-9
- ASIN (Kindle): B07L4Z4MYL
The book introduces the basics of managing commands for remote control of your model railway by use of C# and .NET Framework/.net Core. The included examples and API information are all used in ecos
, a software library hosted on GitHub which is completly used by RailEssentials
(with few improvements and bug fixes). The source is completly merged into RailEssentials
, i.e. check out the subdirectory ecoslibNet48
.
- Modern Web Frontend based on HTML5, JavaScript, Websocket-Communication
- Frontend UI usable with Chrome, Firefox, Vivaldi, Edge on any device
- Server-based architecture (currently the server is only running on Windows)
- WebCam/Video support included by default for monitoring hidden yards (i.e. includes stream server and web viewer) Wiki
- Import of Rocrail plans Wiki
- Workspace support, to switch between different plan at any time
- Track Designer based on modern web technology
- Toolbox-support with drag&drop
- Plan Item transformation directly by single clicks (i.e. move, rotate, remove)
- Text Item support (i.e. bold, italic, underline, font size, font color)
- Labels for Plan Items
- Accessory can be changed directly by clicking the individual plan item at any time
- Output/Button grouping Wiki
- Report for Locomotives, Accessories, and Sensors Wiki, Issue #9
- Block-based automatic mode, any train/locomotive can be controlled by a smart algorithmen and can travel between blocks without crossing routes
- Accessory state change during AutoMode for individual routes Wiki
- Route detection between blocks, any feasible route will be found and provided for your individual setup
- Routes with direction are recognized
- Route disabling/enabling on-demand
- Block disabling/enabling on-demand
- S88 Viewer
- Locomotive lock/unlock
- Locomotive direct control via mouse over controls in the plan
- Locomotive speed curve editor (i.e. individual acceleration/deceleration)
- Locomotive image visualization Wiki
- Drag&Drop of Locomotives to Blocks for assignment
- Locomotive Options for
AutoMode
(e.g. change of direction, different kind of trains, etc.) - SpeedLevel support like in RocRail (e.g.
v_min
isLevel 1
,v_mid
isLevel 2
,v_cruise
isLevel 3
, andv_max
isLevel 4
) Issue #80 - Kick Start to provide an additional nudge to start the motor during
AutoMode
Issue #90
- Auto Mode of the whole model railway, work on your landscape during run of all your trains
- Simulation Mode to test any functionality
- Block entering visualization, see directly on which side the locomotive has entered the block and on which side it will leave the block
- Statistics of accessory usage and when any Locomotive has been started/stopped (e.g. supports scheduled maintenance)
- Accessory to Route weaving for changing accessory states on start/delay of Locomotive traveling Wiki
- Lock Additional Blocks during Locomotive Traveling Wiki
- Maintenance Mode - accessories can be set into maintenance mode and all routes which include the relevant accessories are not selected anymore Issue #79
- Wait for Locomotives if AutoMode has stopped, i.e. finish all current journeys Issue #75
- Drag & Drop of locomotives to assign a new block Issue #100, Wiki
- Cleaning Robot / Cleaner mode, specific Locomotive have full access to all blocks/routes, can change direction at any time. Issue #20
- Define Wait-period of locomotives when they reach target block of a route. Issue #107
- Ghost Train detection Issue #104
- Light Control (i.e. currently hardcoded variant for my personal model railway, it is based on an invidual solution with LED-RGB-Stripes and Websocket-communication modeling repository).