Services

Rocrail Service tab.



HTTP Service

Port

:!: The port must differ from the client service port to avoid conflicts.

Clock Service

Use this service if a faster clock is wanted and/or all clients must be synchronized.

Divider

The time divider is used to setup the clock speed: 1…100
The next field is the update frequency in model minutes: 1…60

Hour/Minute

This is the start time for the clock service.
The computer time is used if the values are set to 24:60.

Stop clock at power off

Stop the fast clock in case of a power off event. (Short cut)

Client Service

This is the port at which Rocview clients must connect to become all data and events needed to function.

Client Port

The official assigned port by IANA is 8051.

Max. number of clients

Default 10 clients are allowed to connect concurrently to the Rocrail server.

Only first can control

Prevent secondary clients controlling the Rocrail server; only the first one connected has control.
A better solution is the use of Control or Slave Code.

Control code

The client must provide this control code to get write access if set.

  • This overrules the “Only first can control” option.
  • Leave blank for normal use.
  • Supported Mobile Clients:
    • Rocweb
    • andRoc
    • iRoc
    • padRoc


Slave code

If the slave code is set, and a connected client cannot provide this code, the following selected features will be rejected:

  • System (Includes automatic and power commands.)
  • Shutdown Server
  • Switches
  • Signals
  • Outputs
  • Routes
  • Locomotives


SRCP Service

Optional service for SRCP Clients like J-Man or spdrs60.
The objects addressed by those clients must be defined in the Rocrail track plan.

Device

Optional serial device to service SRCP.
Line settings are fixed:

  • 115200 bps
  • 8N1


SNMP Service

Activates the SNMP v1/2c Agent in the Rocrail server.
:!: By default port 161 is used for the SNMP service which requires extra user privilege:

OSNMP    0658 SNMP bind
OSocket  0513 bind() failed [13] [Permission denied]


Config

  <SnmpService port="161" trapport="162" traphost="192.168.100.77"/>

GetRequest example

Direct ObjectID:

$ snmpget -v 2c -c public localhost 1.3.6.1.2.1.1.1.0
iso.3.6.1.2.1.1.1.0 = STRING: "Rocrail 2.0.2508 Sunrise"

Symbolic OjectID:

$ snmpget -v2c -c public localhost SNMPv2-MIB::sysDescr.0
SNMPv2-MIB::sysDescr.0 = STRING: Rocrail 2.0.2508 Sunrise
$ snmpget -v2c -c public localhost SNMPv2-MIB::sysUpTime.0
SNMPv2-MIB::sysUpTime.0 = Timeticks: (3443) 0:00:34.43


Supported commands

  • GetRequest
  • GetNextRequest
  • SetRequest
  • BulkRequest
  • Trap


IANA


MIB

Management Information Base

Free MIB Browser

Traps

  • Cold boot
  • Link up: new client connection
  • Link down: client disconnected
  • User:
    • Shutdown
    • Exception


@Box

The location of the @Box.


MQTT Service

Clients can use the MQTT Broker to communicate with the Rocrail Server.

MQTT Topic Description
rocrail/service/info All server broadcasts are published with this topic name.
rocrail/service/client Clients can publish commands with this topic.


The payload of the MQTT messages are in RCP Format.
The Rocrail Server uses the MQTT V3.1 Protocol.

Hostname

The DNS name or TCPIP address of the MQTT Broker.

Port

The service port number of the MQTT Broker.
The default port number used by Mosquitto is 1883.

Group

Topic grouping
Use the Item Names in the Broadcast Topic.

Clients

Only Quality of Service 1 is supported.
Clients may use QoS 0, but we strongly recommend QoS 1.
The only known Client for this service is the command line utility of Mosquitto:

mosquitto_pub -p 60123 -t rocrail/service/client -m "<sys cmd=\"stop\"/>" -q 1

Broker response:

1467710159: New connection from 127.0.0.1.
1467710159: New client connected from 127.0.0.1 as mosq_pub_2323_rob-Virt.
1467710159: Sending CONNACK to mosq_pub_2323_rob-Virt (0)
1467710159: Received PUBLISH from mosq_pub_2323_rob-Virt (d0, q1, r0, m1, 'rocrail/service/client', ... (17 bytes))
1467710159: Sending PUBACK to mosq_pub_2323_rob-Virt (Mid: 1)
1467710159: Sending PUBLISH to RocrailService (d0, q1, r0, m1, 'rocrail/service/client', ... (17 bytes))
1467710159: Received DISCONNECT from mosq_pub_2323_rob-Virt
1467710159: Received PUBACK from RocrailService (Mid: 1)
1467710159: Received PUBLISH from RocrailService (d0, q1, r0, m3, 'rocrail/service/info', ... (51 bytes))
1467710159: Sending PUBACK to RocrailService (Mid: 3)
1467710159: Received PUBLISH from RocrailService (d0, q1, r0, m4, 'rocrail/service/info', ... (175 bytes))
1467710159: Sending PUBACK to RocrailService (Mid: 4)
1467710160: Received PUBLISH from RocrailService (d0, q1, r0, m5, 'rocrail/service/info', ... (60 bytes))
1467710160: Sending PUBACK to RocrailService (Mid: 5)


Discovery

An UDP Multicast discovery service is also available for other devices which wants to use the same broker.

Host 224.0.0.1
Port 8051

The device must send a message withe the following content:

BROKER-GET

It will get the following reply:

BROKER-HOST:<hostname>
BROKER-PORT:<port#>

Both lines ends with a linefeed: \n


Personal Tools