IoT Domain Sub model– Information Model

Definition

  • It defines the structure of all information of Virtual Entities only at conceptual level and not at concrete level. In other words, it covers all aspects of adding information in the data. Here, structure covers attributes, relations and services that helps to know what, who, where, and when.
  • The detailed representation of information is not covered in this model.

This model covers following details (elements & their association) and of modelling of virtual entities:

1. Virtual Entity has attributes with name and its type.

  • Each virtual entity has a unique id or type i.e human, a car, or a temperature sensor.
  • A virtual entity can have zero to many attributes.

2. Attribute can have one or more values.

  • Each attribute has a name, a type (semantics) and one to many values.

3. Value has meta information(Meta data)

  • Value can further also have more values and each value has zero or many meta data. A virtual container keeps grouping of a value and associated zero or many meta data.

4. Meta Data might help to define other information like:

  • Time stamp (what time information is defined)
  • Location (Location where measurement took place
  • Quality (Quality of measurement) etc.

Meta data can itself have additional meta data i.e unit

5. Association between Virtual entity and Service description for specific attributes. Service allows to read attribute value or set the value based on changes in physical entity.

6. Services description describes services and associated interface. It also contains resource description that covers functionality of resource those are exposed by service.

7. Resource Description describes a resource and also contains description of device on which resource is hosted.

IoT Platform – OpenRemote

Description

  • OpenRemote IoT platforms enables connecting various network connected assets/entities/things to mobile and Web application.
  • OpenRemote platform architecture is split among following 6 major categories of IoT Solutions:
  1. Frontend
  2. Services (Manager)
  3. Agents
  4. Security
  5. Edge Gateway
  6. Console

Below table describes solutions provided by OpenRemote for above mentioned categories:

IoT Solution CategoriesFeatures/Tools provided by OpenRemote
FrontendFrontend simplifies creation and development of user interfaces that includes:
– Web Components & Templates for developing
browser based application & administration tool.
– Smartphone Apps for both Android & iOS

It also has some dedicated/pre-built frontend applications like:
– Multi tenancy based monitoring dashboard
– Home automation/Smart City based control panel
– Mapping all assets on map using asset model.
Services (Manager)Manager provides APIs of services or *headless applications to monitor & administrate the system. It provides following services:
– Asset management service
– State & Historical Data service
– Rules Engine
– Event Processing Engine
– Messaging Service
– Streaming Service

It provides APIs for following technologies:
– REST based HTTP APIs
– Websocket event based APIs
– MQTT event or protocol based APIs

Rules engines allows to write and understand the rules written using:
– Groovy
– JavaScript
– JSON
AgentsIt links the external devices or services with OpenRemote system. Agents supports proprietary and open standard protocols. It contains following two major components:
– Device Management
– Protocols Adapter
SecurityIt provides pre-integrated Keycloak based Identity & access management security that includes:
– Authentication (multi tenants authentication),
Single sign-on etc and also supports OAuth
authentication.
– Authorization
– Identity Management
Edge Gateway– It is a OpenRemote manager that connects to central
OpeRemote manager using Websocket API with proper
authentication mechanism.
– It also supports Keycloak identity management
solution.
– Edge Gateway has very limited hardware.
ConsoleIt is native mobile applications those are used by OpenRemote Web Component.
Table 1.0

* Headless Application functions without frontend or it exposes APIs.

Is it open source?

Yes

https://github.com/openremote/openremote

Supported Messaging & Security protocols

  • HTTP
  • *KNX (Konnex)
  • MQTT
  • *Simulator
  • *SNMP (Simple Network Management Protocol)
  • Serial
  • TCP
  • UDP
  • SSL
  • TLS

Note:

*KNX is OSI-based network communications protocol that is primarily designed and developed for building & home automation. And it is managed by the KNX Association.

*Simulator: It simulates a connection to an external services so that development can be done without the availability of actual

*SNMP manages & monitors of devices connected in network.

Supported Networks

  • Bluetooth Mesh
  • Z-Wave
  • LoRa etc.

Supported technologies

  • Websocket
  • Velbus( A home automation system)
  • Docker
  • NodeJS
  • REST

Supported Languages

  • Java
  • TypeScript
  • Groovy
  • CSS
  • Swift
  • Kotlin

Supported Databases

  • PostgreSQL with GIS and JSON extension

Supported OS

  • Supports all major operating systems

Domains where it is used and can be used

  • Energy Management
  • Asset Management
  • Smart City & Mobility