Getting the data out of the StaRFIshrail system to computers or control systems
The StaRFIshrail hub collects information from up to 32 readers autonomously - it just works with no user intervention. To make the information useful, the hub has to be interfaced with a computer-based control system (such as JMRI or RocRail), or a distributed processing system (such as CBUS). The physical interfaces available are Etherenet (100M), CAN (physical bus for CBUS) and USB (simple serial).
As StaRFIshrail is designed to be an independent collector of RFID information, other systems can be catered for, providing that the physical interface is one of the three provided. The StaRFIshrail rail system can provide a large amount of information, especially if there were to be several hubs in a system, so slower busses such as DCC and Loconet could be overwhelmed with their basic bus structure.
The CBUS standard for layout control has been developed by MERG, and has quite a high bandwidth, as it works at 125k baud. The StaRFIshrail has a CAN port on the board (which is the underlying physical standard for CBUS), and can produce standard CBUS messages. This CAN port is also the primary method of transferring data between hubs, prior to be sent out over Ethernet.
For a computerless system using CBUS, the StaRFIshrail hub can be set to Slim mode, or Flim mode. In CBUS terminology, the StaRFIshrail hub is a "producer" only module, at least in it's first implementation.
The StaRFIshrail hub can produce DDES, ACON and ACOF messages in the first instance - the combination of these is set on the Option switch. For SLiM mode, the address switch will set the node, and therefore the DN. In FLiM, the node number, and therefore the DN can be set by using the FCU utility running into the Ethernet port, so the Hub also effectively works as a CANETHER module.
The Ethernet port is the preferred method of communication between the control computer and the StaRFIshrail hub, as it has a high bandwidth. The Ethernet port is fixed at 100M, and can be connected to a computer either directly, or via an Ethernet Hub.
Each StaRFIshrail hub has a unique MAC address, which is on a printed label stuck to the board. The IP address can be set by the user, using instructions provided in the Installation section. If the printed label becomes detached or unreadable, the MAC address can be found either by Ethernet discovery, or by command using the USB port. TCP, UDP and Multicast packets can be generated.
The USB port is used for both programming, and for sending messages. It can also be used for commanding the hub, mainly for future use.
When the Option Switch is set to "F", both the firmware and software can be upgraded, with files downloaded from this website. Users will need a terminal program to do this - there are instructions for various operating systems on the Programming page in this section.
The user can also command the USB port to produce various outputs, by sending short script files via the terminal program.
At present, interface to JMRI is done via Ethernet, and the data on the ethernet is a copy of the data on the CBUS. This means that DDES, ACON and ACOF messages are sent, and can be acted on in JMRI. Again, because the is both an Option switch, and the ability to upgrade in the field, if a different way of messaging JMRI is needed, this can be implemented and then users can upgrade. This connection is TCP, and uses the IP address you set on the hub.
Rocrail muticast messages are sent out on the ethernet as UDP packets. No set up is required for this, as the messages are one-way at a fixed address and port number. Multicast is usually sent on address 18.104.22.168 - but this may cause problems with the way a LAN is set up. Optionally, you may send RocRail packets targeted to the host computers LAN address, but this needs selection in a RocRail control window.
The hub can act as a MQTT publisher, initially under the topic RFID. The message format is JSON compatible, and can therefore be used to feed directly into high level processing on a host computer, such as a Raspberry Pi, which would act as both MQTT broker and MQTT subscriber. The settings in the hub for MQTT is done by using the special "ping" command.
Interfaces to other control systems can be added, without changing anything physical in a StaRFIshrail system. Providing the physical interface to other control systems can be implemented on Ethernet, USB or CAN, then the StaRFIshrail hub will be able to handle them. Upgrades will always be provided free of charge, and freely available via the website, so the hub will never go "out of date", and you will not need to reinstall any physical components on your layout.