Coder Social home page Coder Social logo

I1820

GitHub Workflow Status Codecov PkgGoDev

Introduction

Link

Link component of I1820 platfrom. This service collects raw data from bottom layer (protocols), stores them into mongo database and decodes them using user's selected decoder. This service also sends data into bottom layer (protocols) after encoding them using user's selected encoder.

Link uses MQTT for communicating with the bottom layer and this communication can be customized using Protocol's interface which is defined in protocols/protocol.go.

Thing Manager

Thing manager manages I1820 Things and their properties. Things belong to the projects, but this component doesn't validate this relationship so other services must verify project identification and existence before calls this project APIs.

Data Manager

DM is a Data Manager component of the I1820 platform. It has some useful built-in queries that can returns data from the database (MongoDB) to the API backend.

Profiler

Enable MongoDB built-in profiler:

use i1820
db.setProfileLevel(2)

The profiling results will be in a special capped collection called system.profile which is located in the database where you executed the setProfileLevel command.

db.system.profile.find().pretty();

Project Manager

PM is a project manager component of the I1820 platform. It builds things, projects, things to project relationship, and project's dockers. Each project consists of two dockers one of them provides a sandbox for user scripts that are in python and based on ElRunner and another runs redis as in-memory storage for user scripts. It builds these dockers in localhost and uses Linux sockets for communicating with docker host.

PMs can run on many hosts to provide load balancing. To distribute requests among them, you can use vulcand. this feature still in development phase so it would be better not to use it now 😂

This component provides API based on HTTP ReST so other components can utilize these APIs for creating and destroying things and projects.

PM requires only MongoDB to persist things and projects data.

I1820 IoT Platform's Projects

aolab.lan.agent icon aolab.lan.agent

I1820 python client (based on LAN protocol and Aolab Model) from good days of the AoLab

assignment icon assignment

use i1820 as a middleware a.k.a middlewares in action

dockerit icon dockerit

Create docker based version of I1820 with no pain :smile:

elrunner icon elrunner

Who runs python scripts in secure environment

frontend.ng icon frontend.ng

I1820 Platform - frontend with SSR and :heart_eyes:

gm icon gm

Who decrypts the LoRa payloads

i1820 icon i1820

I1820, IoT Platform that can be used with LoRa, Zigbee and ...

it icon it

I1820 Integration Test :pensive:

kaktos icon kaktos

Mini Home Automation system based on I1820 :cactus:

lanserver icon lanserver

Lan Server, Ad-hoc standard for manage Ethernet based things similar to LoRa specification

mia icon mia

Middleware in Action (mia) is a proof-of-concept from AoLab since 2016

mia.py icon mia.py

Middleware in Action (mia) Python SDK

mia.rs icon mia.rs

Middleware in Action (mia) Rust SDK

mpanel icon mpanel

I1820 Platform - Management Panel :new_moon_with_face:

runme icon runme

Run a Single Node of I1820 :horse:

wf icon wf

I1820 Platform - Weather Forecasting Component :sun_behind_small_cloud:

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.