Skip to content

A FIWARE-enabled component for processing proxemics interaction on IoT environments

License

Notifications You must be signed in to change notification settings

faxterol/ProximiThings-Server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ProximiThings Server

A FIWARE-enabled component for processing proxemics interaction on Internet of Things environments. This component is connected to Orion Context Broker to get raw data from entities. This component is IN DEVELOPMENT

Features

  • Create devices on Orion Context Broker
  • Create rules for Proxemics Interaction based on Proxemics Dimensions from Greenberg (inspired in Hall proxemics dimensions from Antropology)
  • Create actions to execute when proxemics interactions rules apply (or not)
  • Actions are MQTT messages for devices or HTTP callbacks

Prerequisites

To install ProximiThings Server, you need to install and configure the follow FIWARE Generic Enablers and his dependencies:

Install and build

In order to install and run an instance of ProximiThings, you need to do next:

  • Clone this repository
git clone https://github.com/faxterol/ProximiThings-Server.git
  • Install all NodeJS dependencies and libraries. (If you have linux or mac, you may need sudoing this command)
npm install
  • Run ProximiThings
npm start

Optionally, you can use this command

node server.js

Open your browser and enter to http://localhost:6253 to sure that ProximiThings is running.

Configuration

On ProximiThings root folder project, there is a config.js file with some parameters for configuration.

  • ProximiThings: In this paremeter, you can configure ProximiThings-related service.
  • mongodb: MongoDB connection details
  • orion: Connection details to Orion Context Broker. This is needle to create entities or send measurement data to OCB
  • mqtt: MQTT broker connection
  • interaction_processing: File names of lib/proxemics_interaction files to process proxemic interaction on ProximiThings. The order of processing is given with the order of array position. 0 index is the first file to execute.

API documentation

You can find ProximiThings Server API REST resources and documentation on https://faxterol.github.io/ProximiThings-Server/.

API REST Resources

Method PATH Description
GET /v1/rules Show proxemics interaction rules availables on ProximiThings for entities to process proxemics actions
POST /v1/rules Create a new proxemics interaction rule
POST /v1/rules/{RuleID} Update a proxemics interaction rule
DELETE /v1/rules/{RuleID} Delete a proxemics interaction rule
GET /v1/actions Show proxemics actions list available on ProximiThings.
POST /v1/actions Create a new proxemics action
POST /v1/actions/{ActionID} Update a proxemics action.
DELETE /v1/actions/{ActionID} Delete a proxemics action.
GET /v1/entities Show a list of entities availables on ProximiThings
POST /v1/entities Create a new entity on ProximiThings and OCB
POST /v1/entities/{EntityID} Update an entity ONLY on ProximiThings.
DELETE /v1/entities/{EntityID} Delete an entity from ProximiThings
GET /v1/proxemics-history Show a list of proxemics dimensions measurements in a timelist.

Extend functionalities

You can add new features on ProximiThings contribuiting with this repository or to processing proxemics dimensions using custom structures or data.

If you want to extend functionalities, you need to do:

  1. Create a file on lib/proxemics_interaction
  2. Put on the new file the content of lib/proxemics_interaction/BlankProxemicsDimensions.js
  3. Code it your new file.
  4. Add the filename on interaction_processing parameter from config.js file in order that you need. ⋅⋅* You can delete filenames from interaction_processing parameter if you don't need it.
  5. Restart or run ProximiThings

Limitations

  • You need to update proxemics dimensions on Orion Context Broker on ProxemicsInteraction service
  • It does not have big data analysis

License

ProximiThings Server is licensed under Affero General Public License (GPL) version 3.

Acknowledgments

  • Developed by Luis Carlos Cárdenas from Ensenada Research Center, México (CICESE)
  • Founded by CONACYT and SMARTSDK
  • This work is a thesis project by Luis Carlos Cárdenas and directed by Dr. Antonio García Macías
  • More information at: lcardenas@cicese.edu.mx

About

A FIWARE-enabled component for processing proxemics interaction on IoT environments

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published