Difference between revisions of "Remote Experiment Controller"

From wwwelab
Jump to navigation Jump to search
Line 15: Line 15:
 
* docker-compose (1.25.4+)
 
* docker-compose (1.25.4+)
 
   
 
   
= Pre-Steps =
+
= Preparation steps =
  
    experiments/create_pendulum_experiment.sh
+
To create a pendulum experiment, the script create_pendulum_experiment.sh allows to create a base experiment for a new pendulum
     echo "experiment name - Name of the experiment (e.g. worldpendulum)"
+
 
     echo "experiment ID - ID of the experiment (e.g. ELAB_WORLD_PENDULUM_CCVALG)"
+
'''experiments/create_pendulum_experiment.sh'''
     echo "Location - Pendulum location (e.g. Faro)"
+
 
     echo "(optional) Video Location - URL to the video (e.g. rtsp://elabmc.ist.utl.pt:80/wp_ccvalg.sdp)"
+
    '''Mandatory arguments''':
     echo "(optional) Serial Device - Pendulum serial device location at the server (e.g. /dev/ttyS0)"
+
     * '''1st argument''': Name of the experiment (e.g. worldpendulum)
 +
     * '''2nd argument''': ID of the experiment (e.g. ELAB_WORLD_PENDULUM)
 +
     * '''3rd argument''': Pendulum location (e.g. Faro)
 +
 
 +
    '''Optional arguments''':
 +
     * '''4th argument''': URL to the video (e.g. rtsp://elabmc.ist.utl.pt:80/wp_ccalg.sdp)
 +
     * '''5th argument''': Pendulum serial device location (default: /dev/ttyS0)
 +
 
 +
Sample script execution to create pendulum:
 +
 
 +
    $ ./create_pendulum_experiment.sh wpalentejo ELAB_WP_ALENTEJO Alentejo rtsp://elabmc.ist.utl.pt:80/wp_alentejo.sdp /dev/ttyS0
  
 
= Build =
 
= Build =

Revision as of 11:05, 12 April 2021

Pre-requisites

Multicast Controller and rec.client

  • Docker (20.10+)
  • docker-compose (1.25.4+)

Hardware Server

  • OpenJDK 11 (11.0.8+)

rec.web (recommended only for testing locally)

  • Docker (20.10+)
  • docker-compose (1.25.4+)

Preparation steps

To create a pendulum experiment, the script create_pendulum_experiment.sh allows to create a base experiment for a new pendulum

experiments/create_pendulum_experiment.sh

   Mandatory arguments:
   * 1st argument: Name of the experiment (e.g. worldpendulum)
   * 2nd argument: ID of the experiment (e.g. ELAB_WORLD_PENDULUM)
   * 3rd argument: Pendulum location (e.g. Faro)
   Optional arguments:
   * 4th argument: URL to the video (e.g. rtsp://elabmc.ist.utl.pt:80/wp_ccalg.sdp)
   * 5th argument: Pendulum serial device location (default: /dev/ttyS0)

Sample script execution to create pendulum:

   $ ./create_pendulum_experiment.sh wpalentejo ELAB_WP_ALENTEJO Alentejo rtsp://elabmc.ist.utl.pt:80/wp_alentejo.sdp /dev/ttyS0

Build

Follow the next steps to build and run at target environments.

build_pendulum.properties:

  • lab.list: Name of the laboratories to build, comma (,) delimited.
  • pendulum.experiment.list: Name of the experiment(s) to build, comma (,) delimited.
  • pendulum.multicast.controller.host: Hostname where Multicast controller is going to be installed
  • pendulum.multicast.controller.port: Listen CORBA port used to recieve connections from Hardware Server, rec.web and rec.client (default: 9001)
  • pendulum.rec.multicastcontroller.jmxremote.port: Listen JMX port used to recieve connections from rec.web (default: 25001)
  • install.dir: Base directory where Multicast Controller is going to be installed (default: /home/elab)
  • deployment.subdir: Sub directory where Multicast Controller is going to be installed (default: /rec-deployment)

Local

This option only serves testing purposes (install locally a clean environment), Pendulum Hardware Server is not used at this step.

   $ mvn clean package -Dmaven.test.skip=true -Djarsigner.alias="REC" -Dbuild.environment=local

Be aware that a virtual experiment is started by this step, not the pendulum!


Production

Build the project:

   $ mvn clean package -Dmaven.test.skip=true -Djarsigner.alias="REC" -Dbuild.environment=pendulum


Steps to build and deploy ReC at target environments:

  1. TODO Steps

Steps to connect to IST environment:

  1. TODO Steps