GithubHelp home page GithubHelp logo

dovidkopel / iot-universe Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 160 KB

Ecosystem for IoT connectivity and security

Home Page: http://enterprisewebapps.com

License: MIT License

Makefile 0.04% Web Ontology Language 44.47% Java 55.49%

iot-universe's Introduction

iot-universe

Ecosystem for IoT connectivity and security

This is a project to bridge the many gaps in IoT. Much more to come.

The server utilizes MQTT/AMQP for queuing and transporting input and output data. The server is able to connect to clients using a wire protocol that is hardware independent. Hardware specific adapters may be implemented for different connection types.

The basis of the wire protocol includes client authentication where the client provides identification information.

Wire Protocol

Authentication

The server may be configured to allow for self registration. Where the client specifies a unique identifier, a list of input criteria it accepts, and a list of output criteria that it yields. The server may allow only some input/output types to self register. The server may be configured to completely disable self registration and all clients must be registered in the admin panel.

Whether or not a client is registered via self registration or by the admin panel an access token is returned that may or may not have a expiration alongside the token. This token will be used for future communications with the server. Depending on if encryption is enabled the access token can be used to encrypt and decrypt data that is being sent over the wire.

Inputs

An input is anything that produces data. Something as low level as a physical button press and something as high level as an HTTP request. An input defines what type of data it emits. It also specifies the way that input is triggered. The means that some inputs like a physical button can be constantly queried evaluating if the button is currently in a pressed state or non-pressed state. Alternatively that same button may only provide data when there is a change in its state. So the type of data an input provides, and the frequency and methodology of that input are included part of the inputs description.

Outputs

An output is anything that consumes data. Something as low level as an led that lights up. An output requests information that it may process or simple information to output. An output must specify the type of data it wants to access, the trigger type it will use and the type of output it is.

iot-universe's People

Contributors

dovidkopel avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.