0.0.2 • Published 9 years ago

s4t-iotronic-standalone v0.0.2

Weekly downloads
4
License
-
Repository
github
Last release
9 years ago

Stories in Ready

s4t-node-cloud

s4t-node-cloud is the implementation, totally in nodejs, of a personal cloud to remote manage embedded devices Arduino YUN/Linino One and Raspberry Pi.

s4t-node-cloud uses for the communication with the embedded devices a protocol called WAMP Web Application Protocol, this protocol uses an element called WAMP Router to provides an "Unified Application Routing" for the applications:

  • Routing of events (for Publish/Subscribe communication pattern );

  • Routing of calls (for Remote Procedure Call communication pattern);

Using the s4t-node-cloud the embedded devices connected to it, through a Reverse Websocket Tunnel Protocol are able to expose their local services, but not only, it is possible to realize a direct connection to the devices and its services behind a strict firewalls or without a public IP. It is obviously necessary to use a public host with a specific IP; on this host there will be installed the s4t-node-cloud and all of the necessary software components.

s4t-node-cloud has a rich REST interface to communicate with all the devices connected to it, you can use the documentation the REST API Specification to properly use this REST interface.

##Installation

s4t-node-cloud needs two additionals software components:

* A WAMP router;

* A Reverse Websocket Tunnel Server;

###WAM Router Installation s4t-node-cloud has been tested with the Crossbar.io, a python implementation of the WAMP Router. To install and configure Crossbar.io it is possible following the instructions to the official web page: http://crossbar.io/, generally if there is installed python and python package manager pip it is possible to install crossbar using the follow command:

pip install crossbar

to start Crossbar.io it is necessary to use the follow command:

crossbar start

Make sure to start Crossbar.io in a path where is present the directory .crossbar inside of it there will need the json configuration file the official web site explain all the details

###Reverse Websocket Tunnel Server Installation To install the Reverse Websocket Tunnel Server it is only necessary to download the nodejs package using npm utility using the follow command:

npm install node-reverse-wstunnel

For more details on this package it is possible to visit the official page of node-reverse-wstunnel.

Assuing to start a Reverse Websocket Tunnel server on the TCP port 8080 we can use the follow command:

/node_modules/node-reverse-wstunnel/bin/wstt.js -r -s 8080

###s4t-node-cloud Installation To install the s4t-node-cloud it is only necessary to copy the source code using for example the follow command:

git clone https://github.com/MDSLab/s4t-node-cloud.git

Then to start the s4t-node-cloud you need run the following command:

/bin/server

In the root path of the source code there is a json configuration file called setting.json using this file it is possible to set all the parameters of the s4t-node-cloud.

##Scientific References Scientific papers describing the University of Messina work on Stack4Thing can be found here:

MDSL

In particular, you can find details about Stack4Thing in the following papers:

G. Merlino, D. Bruneo, S. Distefano, F. Longo, A. Puliafito - Stack4Things: integrating IoT with OpenStack in a Smart City context. Published on Sensors and Smart Cities, Smart Computing Workshops (SMARTCOMP Workshops), 2014 International Conference on, pp. 21,28, 5-5 Nov. 2014.

Giovanni Merlino, Dario Bruneo, Salvatore Distefano, Francesco Longo, Antonio Puliafito, and Adnan Al-Anbuky - A Smart City Lighting Case Study on an OpenStack-Powered Infrastructure, Sensors 2015, 15(7), pp. 16314-16335.