Coder Social home page Coder Social logo

ibeji's Introduction

Ibeji - An Apache Based Digital Twin Solution

Must Haves

The following are minimum requirements for this platform.

  • Access control policies- not everyone is entitled to all information
  • Persistent assets which can be updated be real world sensor data in near-real time.
  • At the level this is presented to the user- there will also be various tech manuals available that are also presented.
  • Ability to search for assets.
  • User can upload CAD file of an asset, assign where sensors should display on the asset, and when data is hooked up it will yeild pretty pictures. See asset-design for more info.

Architecture

Option 1:

Sensor -> OpenWhisk -> Kafka -> Flink -> Queryable State of Sensors

arch-daig

In this setup the asset has information like so:

{
	"asset name" : "MyHouse1",
	"CAD" : ... # all the info on how to render
	"sensors" : {
		"sensor01" : {
				"location" : [0, 0, 37] # relative to CAD
				"queryKey" : "myhouse1sensor1",
				"renderInfo" : {
					"series1" : { "value" : [0,100], "gradient" : "PurpleOrange" }
				}
		"sensor02" : ...
		
		}
	},
	"otherData" : {
		"ownersManuals" : {
			"furnace" : "Carrier Model 0315.pdf"
			"lawnMover" : "Toro Blade Killer.pdf"
			"garageDoorOpener" : "Gennie Up Down 105 Series"
			...
		}
	},
	"maintainanceHistory" :
		[("June 1st, 2004", "House built"),
		 ("October 22nd, 2011", "Lawn Mowed"), 
		 ...]
}

When the page is loaded- the asset above is pulled up. Notice the queryKey. For each sensor then, we query flink's queryable state- something like.

SELECT myhouse1sensor1,
myhouse1sensor2,
myhouse1sensor3,
myhouse1sensor4
FROM flinkQS
WINDOW sliding AVERAGE BY 30 second

Which in some very dirty streaming SQL says give me these 4 sensors (specified in the asset definition), and would return something like

{ 
	"myhouse1sensor1" : 12,
	"myhouse1sensor2" : "leak detected",
	"myhouse1sensor3" : 73.3,
	"myhouse1sensor4" : false
}

And then also in the asset defintion it dictates how to display all of those values.

Name

The Ibeji Twins from Afro-Carribean Cosmology, are the twins of joy and happiness.

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.