Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "SensiNact/gateway-remote"

Line 54: Line 54:
 
The distributed sensinact version requires a ''MQTT Broker'' and a ''Zookeeper server'' available for the sensiNact instances; If your objective is to test the distribution that is not a problem, we have an instance of both systems running and publicly available for testing, the installer is already pre-configured to use those instances. Although, if you are considering in putting the distribution in production you MUST create exclusive instances of Zookeeper and MQTT for your deployment.
 
The distributed sensinact version requires a ''MQTT Broker'' and a ''Zookeeper server'' available for the sensiNact instances; If your objective is to test the distribution that is not a problem, we have an instance of both systems running and publicly available for testing, the installer is already pre-configured to use those instances. Although, if you are considering in putting the distribution in production you MUST create exclusive instances of Zookeeper and MQTT for your deployment.
  
SensiNact profiles that must be enable in order to test are:
+
SensiNact profiles that must be enable in order to test the distributed version are:
  
 
* rest
 
* rest
Line 61: Line 61:
 
* application (optional)
 
* application (optional)
 
* simulation (optional)
 
* simulation (optional)
 +
 +
In order to enable those profiles use the command ''sensinact -c'' script.
 +
 +
== Instance Configuration ==
 +
 +
There are 3 main configuration files that are used directly or indirectly by the remote access:
 +
 +
* $SENSINACT/cfgs/sensinact.config
 +
* $SENSINACT/cfgs/org.apache.aries.rsa.discovery.zookeeper.config
 +
* $SENSINACT/cfgs/org.apache.aries.rsa.provider.fastbin.config
 +
 +
  
 
=== Distribution use case ===
 
=== Distribution use case ===

Revision as of 04:22, 9 May 2019

Description

Sensinact Remote allow two different instances of sensiNact to become visible to each other by using a distribution mechanism. This mechanism is based on the Remote Service Admin, which is an OSGi Compendium standard. The specification is detailed on Section 122 in the version 6.0.0 of the OSGi Compendium specification[0].

Installing SensiNact

Linux installer

In order to install sensiNact will need APT (Advanced Package Tool). It will be in charge to download and install the dependencies required for running sensiNact. The instruction presented here were tested in Ubuntu 14.04 and 18.04, in any other distribution the steps below may be slightely different.

APT Repository inclusion

Include the APT repository http://sensinact-cea.ddns.net into your linuxbox.

Public APT Key authorization

To guarantee that the software is coming from our official server, you have the add our public key into your local keystore. This procedure can be done using apt-key application with the follow instruction:

wget -O- http://sensinact-cea.ddns.net/sensinact.key | apt-get add -

Update the APT catalog

Once the previous steps are executed you should be allowed to download the catalog of applications available in the sensiNact server, this can be done by executing the command apt-get update

Install sensiNact

Installing sensiNact is simple as snapping your fingers, just execute the command bellow and sensinact will be installed.

apt-get install sensinact

If you already have a sensiNact installed using APT, the newest version will be installed, all the profiles activated on the previous installation will be kept, the profiles (folders into $SENSINACT/load/) postfixed with '-project' will be kept as well, all others will be removed and the latest set of profiles will installed.

If you felix configuration $SENSINACT/conf/config.properties file was changed and the pristine version of this very same file was modified as well this two modifications will be merged, in case of conflict you will have to chose among the options of keeping your version, using the maintainer version (the one present in the installer) or merge the files manually, those options will be presented to you via APT; just follow the instructions.

From the source

Download the code source from eclipse repository. In order to compile the codesource you are going to need:

  • Maven (minimum version 3.5.2)
  • Java (minimum version 1.8)

Go to the root of the sourcecode downloaded and execute mvn clean install -DskipTests, the integration tests are going through an update thus they are not passing, for that reason the tests are skip.

Using distributed version

Softwares required for testing the sensinact distributed are:

  • SensiNact installed (at least version 20190507.0)
  • Zookeeper server instance
  • MQTT broker instance
  • 2 x Computers in the same network

The distributed sensinact version requires a MQTT Broker and a Zookeeper server available for the sensiNact instances; If your objective is to test the distribution that is not a problem, we have an instance of both systems running and publicly available for testing, the installer is already pre-configured to use those instances. Although, if you are considering in putting the distribution in production you MUST create exclusive instances of Zookeeper and MQTT for your deployment.

SensiNact profiles that must be enable in order to test the distributed version are:

  • rest
  • sensinact-remote
  • android-imu (optional)
  • application (optional)
  • simulation (optional)

In order to enable those profiles use the command sensinact -c script.

Instance Configuration

There are 3 main configuration files that are used directly or indirectly by the remote access:

  • $SENSINACT/cfgs/sensinact.config
  • $SENSINACT/cfgs/org.apache.aries.rsa.discovery.zookeeper.config
  • $SENSINACT/cfgs/org.apache.aries.rsa.provider.fastbin.config


Distribution use case

The distribution of sensiNact instances consist in enable individual instances to see and interact with devices that are actually located in a remote computer.

Reference

[0] OSGi Compendium 6.0.0

Back to the top