2014-06-28 06:40:58 +00:00
S2SS is a client server application based on UDP/IP to connect simulation equipment.
2014-06-05 09:35:31 +00:00
## Contact
This project is developed at the [Institute for Automation of Complex Power Systems ](www.acs.eonerc.rwth-aachen.de ) (ACS) at the EON Energy Research Center (EONERC) at the [RWTH University ](http://www.rwth-aachen.de ) in Aachen.
- Steffen Vogel < StVogel @eonerc .rwth-aachen.de >
- Marija Stevic < MStevic @eonerc .rwth-aachen.de >
## Compilation
Install libraries including developement headers for:
- libconfig
Start the compilation with:
$ make
Add `V=5` for a more verbose debugging output.
## Installation
Install the server by executing:
2014-06-25 13:08:33 +00:00
$ sudo make install
2014-06-05 09:35:31 +00:00
Add `PREFIX=/usr/local/` to specify a non-standard installation destination.
2014-06-25 13:08:33 +00:00
**Important:** Please note that the server requires the
[iproute2 ](http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2 )
tools to setup the network emulation and interfaces.
2014-06-05 09:35:31 +00:00
2014-06-25 13:08:33 +00:00
Install these via:
$ sudo yum install iproute2
or:
2014-07-04 09:44:05 +00:00
2014-06-25 13:08:33 +00:00
$ sudo apt-get install iproute2
2014-06-05 09:35:31 +00:00
## Configuration
See [configuration ](Configuration.md ) for more information.
## Usage
2014-06-25 13:08:33 +00:00
The S2SS server (`server` ) expects the path to a configuration file as a single argument.
2014-06-05 09:35:31 +00:00
Usage: ./server CONFIG
CONFIG is a required path to a configuration file
Simulator2Simulator Server 0.1-d7de19c (Jun 4 2014 02:50:13)
Copyright 2014, Institute for Automation of Complex Power Systems, EONERC
Steffen Vogel < stvogel @eonerc .rwth-aachen.de >
2014-07-04 09:44:05 +00:00
The server requires root privileges for:
- Enable the realtime fifo scheduler
- Increase the task priority
- Configure the network emulator (netem)
- Change the SMP affinity of threads and network interrupts
2014-06-05 09:35:31 +00:00
### Examples
2014-06-28 06:40:58 +00:00
1. Start server:
$ ./server etc/example.conf
2. Receive/dump data to file
$ ./receive *:10200 > dump.csv
3. Replay recorded data:
$ ./send 4 192.168.1.12:10200 < dump.csv
4. Send random generated values:
2014-06-05 09:35:31 +00:00
$ ./random 1 4 100 | ./send 4 192.168.1.12:10200
2014-06-28 06:40:58 +00:00
5. Test ping/pong latency:
2014-06-05 09:35:31 +00:00
2014-06-25 13:08:33 +00:00
$ ./test latency 192.168.1.12:10200