GithubHelp home page GithubHelp logo

hqxluoyang / iox Goto Github PK

View Code? Open in Web Editor NEW

This project forked from unipi-itc/iox

0.0 0.0 0.0 925 KB

Internet of everything interconnection runtime

License: MIT License

F# 54.41% HTML 9.22% JavaScript 36.37%

iox's Introduction

IoX runtime

The Internet of everything interconnection runtime (IoX) is a cross platform message processing system based on HTTP and JSON to define a multivendor runtime for IoT. Vendors can develop modules quickly while the runtime ensure some degree of isolation and filtering on the messages to enforce privacy and security.

IoX has been developed with F# and the Suave Web server library. It is very lightweight and has been validated on Linux, Windows, and also on the Dell Networking OS 10 running on the control plane of a Dell Networking switch S6000-ON and controlling it using the CPS interface.

We implemented a fingerprint-based door lock system with two nodes participating in the process.

Status

The project is quickly maturing, now the module system is almost finished and we are working on the security (authentication and authorization) part. Now we use React to help defining module pages without implying extra overhead for the IoT device (composition is performed on the client browser).

Join us in defining an open source lightweight runtime for the future of IoT.

Build and run

To build IoX you have to build the server, the runtime (IoX.Modules) and the two modules part of the distribution (IoX.Module.Subtree and IoX.ModuleExamples.HelloWorld). In order to build you have to run:

nuget restore
msbuild IoX.sln

You can use xbuild on Mono.

Note that you can also build from within Visual Studio but we are using wildcards inside .fsproj files that are not supported by the F# project system yet. In this case you should copy the static folder of the SubTree and HelloWorld modules in the output directory.

Once everything is built you can copy the output of the SubTree project in a folder named root, and then in the modules/hw folder the output of the HelloWorld project.

You can then run IoX.Server.exe and point your browser to http://localhost:8080/

We hope you like it and will contribute!

Build Status

Linux Windows
Status Build Status Build status

iox's People

Contributors

cisterni avatar dsyme avatar houqingxin avatar npmcdn-to-unpkg-bot avatar ranma42 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.