BeeeOn Server  v2018.11.1
Platform to interconnect the IoT world
Introduction

BeeeOn Server is a software platform intended for remote control of BeeeOn Gateway instances. It works as a collector of sensor data and a center for driving the elements with controllable features (turning light on/of, etc.).

The BeeeOn Server is written in C++ and is divided into several parts, especially:

Prerequisites

Required prerequisites for development:

Optional prerequisites for development:

Required prerequisites for deployment:

Optional prerequisites for deployment:

Start hacking

The BeeeOn Gateway is built by the CMake build system:

$ mkdir build
$ (cd build && cmake ..)
$ make -C build

During development and for testing, the BeeeOn Server can be started as:

$ beeeon-server -c conf/testing-startup.ini

This starts a private instance of the PostgreSQL server and then it starts the server that sets the database up.

There are multiple startup configurations according to the purpose of testing or debugging. Please note, that in this mode the frontend and GWS are disconnected to enable running of automatic frontend tests (during tests, there is no live gateway and thus the communication with GWS is emulated). This can be easily changed by giving -Dgateway-rpc.impl=async on command line or by editing conf/testing-startup.ini.

The executable beeeon-server reads a startup configuration file and configuration files from conf/config.d. Then, the definition of the all instance (of class LoopRunner) is searched, created and executed. All main application threads start via this all instance.

Integration tests

The directory t/ contains a set of integration tests. Tests are divided by the public server APIs. Thus, the XML-UI, REST-UI and GWS are tested independently on each other. All tests are written in Python. See t/README for details.