aRail is a suite of software with a client/server architecture for automating model railroads, primarily G scale. aRail is based on the idea that each locomotive has a r-pi running the 'client' software for direct control of lighting, sound, motor, coupler, smoke, and other controls as well as onboard video.
A client can be controlled directly through a telnet api or websockets via a local web server interface.
Server software consists of (likely independent) software designed for time schedule based operations, logic based operations, and one day AI based operations.
*Note: r-pi forums don't allow updating of a thread so the following information will be outdated within a day after this post is made*
Currently the aRail client software of aRail is 90% completed with functionality of:
* perl based for quick and simple hobby hacking
* Telnet interface for sending commands (ie: soundHornPlay llsl to get long->long->short->long, lightsDitchOn, smoke on)
* Motor control via the pololu simple motor controllers (ie the 18v7)
*Sound output via alsa (bell, horn (send a text containing l = long or s = short to get any whistle sequence), track noise (different ballast types, bridge, etc), operator talk (or complaining)
* Lighting control (front, rear, ditch, cab, engine, or others)
* rfid tag processing (used for tracking location of a locomotive on a layout)
* hardware and locomotive status (input voltage, motor speed, which lights are on, direction, scale mph and about 30 other status fields)
TODO: tach/rev counter for more precise location tracking
Current aRail server functionality (1% complete if that)
* Learn mode - learns the rfid tags of a track and builds a data set of rfid tags and switches to know potential paths.
* Run mode allows any number of trains on a layout without colliding (if there's an rfid tag between each locomotive ATM.
For more information about aRail that's being worked on see the mylargescale thread: http://www.mylargescale.com/Community/F ... fault.aspx
Also, aRail is not designed to replace or compete with DCC in any way (though someone could make a jmri plugin to control an aRail enabled locomotive). aRail is designed to be a SIMPLE self-running railroad where you enter the length of a train ahead and behind of an rfid reader (that's mounted under an engine) and aRail servers will run trains and keep them from colliding as well as change layout switch points to have trains take different routes around railroads automatically if desired.