Skip to content

kognihome/kogniserver

Repository files navigation

KogniServer Build Status Coverage Status DOI

A web server and bridge between networks using the Web Application Message Protocol (WAMP) and the Robotic Service Bus (RSB) build upon crossbar. WAMP is provided by autobahn. This software is actively developed as part of the project KogniHome.

Installation

KogniServer can be obtained via pip

$ pip install kogniserver

or cloned and installed from github

$ git clone https://github.com/aleneum/kogniserver.git
$ cd kogniserver
$ python setup.py install (--prefix=/install/path/prefix)
$ # python setup.py install --prefix=/usr/local

/install/path should be the root of your preferred environment and will be concatenated with 'lib/python2.7/site-packages'. Make sure that /install/path/lib/python2.7/site-packages is in your PYTHONPATH.

Configuration and Starting

To configure crossbar you need to create a config.json and tell crossbar where to find it. kogniserver will assist you in creating a file if it cannot find one.

$ kogniserver 
config.json for crossbar does not exists. Should a default one be created? [y]/n:y
Location of proto-files? [/usr/local/share/rst0.12/proto]:/usr/local/share/rst0.12/proto/
No Crossbar.io instance is currently running from node directory /home/foobar/kogniserver.
...

This will create a common config.json at /install/path/etc/crossbar/config.json (e.g. /usr/local/etc...) If you like to use an existing config.json you can use the -c option:

$ kogniserver -c /path/to/your/crossbar/config.json
...

To overwrite an existing config.json at /install/path/etc/crossbar/config.json, start kogniserver with -f:

$ kogniserver -f
Location of proto-files? [/usr/local/share/rst0.12/proto]:
...

Alternatively you can start crossbar and kogniserver individually. First start a crossbar instance:

$ crossbar start --config=/path/to/config.json

After that you can initialize kogniserver:

$ kogniserver -k # --keep-alive; use existing crossbar instance
kogniserver(asyncio) started...

The --keep-alive flag will tell kogniserver to use the running instance. If it is not passed, kogniserver will try to shutdown this instance and start a new one.

If you use the standard configuration, files will be hosted under /install/path/var/www/kogniserver and can be reached via http://localhost:8181.

Ctrl+C or a SIGTERM will exit the server.

What now?

If you plan to write applications in javascript, head over to the KogniJS-Framework.

Acknowledgements

The development of this software was supported through project grants KogniHome (German Federal Ministry of Education and Research (BMBF) grant no. 16SV7054K) at Bielefeld University.

About

Bridging Web Application Message Protocol (WAMP) and the Robotic Service Bus (RSB)

Resources

License

Stars

Watchers

Forks

Packages

No packages published