Control your model railroad, even over the Internet, with srcpd

About 10 years ago a few model railroad enthusiasts in the German Usenet group de.rec.modelle.bahn began discussing how a model railroad system could be controlled with a computer. They were especially interested in the Linux operating system, which lacked appropriate software at that time, and in working over the Internet. One result was a formal TCP/IP protocol called Simple Railroad Command Protocol (SRCP).

Since every protocol needs a daemon on one side and client programs on the other, project leader Matthias Trute recalls, “a few of us wrote real software for a real model railroad system. And since we were in Europe and in Germany, we chose different systems: Maerklin, NMRA DCC, and a few not-so-widespread systems such as Selectrix. No one outside the model railroad world would know what the differences are. ;=)

“Others wrote nice, smart client programs to manage a model railroad layout or be an engineer on a locomotive. I wrote the daemon, srcpd. The program itself is a multi-threading framework-like software written in C. It uses libxml2 to keep the configuration beast under control. Since there are many railroad systems out there, we defined an internal API so that modules can be written.

“We had no home to host the project, and SourceForge did (and still does!) a great job. We got web space, a source control system, and a mailing list, along with support if something goes wrong. That was all we needed, and it was and still is great.”

The daemon is still under active development. Trute says, “What we need is what almost every open source projects needs: Feedback from our users. What do they like, what do they think, and what do they want to have? Developers and testers are also welcome. They can contact us easily on the mailing list.”


Comments are closed.