IoT Platform – Zetta

Description

  • It is an Internet of Things platform that provides IoT servers. This server can be run on:
  1. Distributed computers
  2. Cloud
  3. *IoT Hub using computer platforms that are specially designed for IoT applications i.e Raspberry Pi, Intel Edison & BeagleBone.
  • This IoT server is Node.js based that is cross platform.
  • Zetta Platform/Server consists below modules:
  1. Scouts – It is a device discovery module that performs below functionalities:
    • Search for devices on particular protocols
    • Reporting of found devices to Zetta server
    • Identifying the previously connected/communicated devices using unique id like MAC address
    • Maintaining devices specific relevant data like security credentials.
  2. Drivers – It enables to interact with device on physical level and is also responsible for modelling devices that help to generate APIs (Java-script) to use in Zetta platform.
  3. Server Extensions – It works on pluggable models to extend functionalities like defining new APIs & adding security in APIs etc.
  4. Registry/Database – It is a persistence storage that acts like a small database to keep information about devices.
  • It supports almost all device protocols.
  • It uses siren specification for APIs (*Hypermedia) that supports below functionalities:
  1. Querying for devices on a particular server
  2. Setting up links between servers
  3. Interacting with devices
  4. Streaming sensor data with web-sockets
  5. Registering hub-less devices
  • It supports reactive programming by exposing web-socket for streaming of real time data like events/notifications.
  • It also has peer to peer communication between zetta servers.
  • It has SQL like syntax to query the devices.

*IoT Hub acts as a central message hub for communication between an IoT application and its attached devices. You can connect millions of devices and their backend solutions reliably and securely. Almost any device can be connected to an IoT Hub.

*Hypermedia, an extension of the term hypertext, is a nonlinear medium of information that includes graphics, audio, video, plain text and hyperlinks. This designation contrasts with the broader term multimedia, which may include non-interactive linear presentations as well as hypermedia. [From wiki]

Is it open source?

Yes

https://github.com/zettajs/

Supported technologies

  • Node.js/Rest API
  • Websockets
  • HTTP

Supported Languages

  • Javascript & other web based programming languages

Supported OS

  • All operating systems that support Node.js

Hardware Requirements

  • It can run on 500MB, 500 Mhz with minimum 500MB storage space.

Security

Secure tunneling helps establish bidirectional communication to remote devices over a secure connection.

Industries where it is used and can be used

  • Automotive infotainment system
  • Home security system

other IoT based solutions where this technologies meets all requirements.

IoT – Message Protocols

Common Message Protocols Used in IoT

  1. MQTT(Message Queuing Telemetry Transport)
  2. HTTP/HTTPS
  3. AMQP(Advanced Message Queuing Protocol)
  4. CoAP(Constrained Application Protocol )
  5. STOMP (Simple (or Streaming) Text Oriented Message Protocol)
  6. DDS (Data Distribution Service)
  7. XMPP (Extensible Messaging and Presence Protocol)
  8. SSE (Server-Sent Events)
  9. LwM2M or Lightweight M2M

Details about some most commonly used protocols


MQTTHTTP/HTTPSCoAP
Latest version5.02.0RFC 7252
IP SuiteTCP/IPTCP/IPUDP (no Handshake or delivery acknowledgement)
SecuritySSL/TLS but weak authentication. Additional security can be added.TLS/SSLDTLS(Data gram TLS) & IPSec
Commercial/Open SourceOpenOpenOpen
ScalabilityYesYesYes
Throughput (msg/sec)FastFastFast (better than MQTT, HTTP & AMQP)
LatencyLow but more than AMQP & CoAP & HTTPLow but more than AMQP & CoAPVery Low
Power ConsumptionLowHigh (more than MQTT)Low
Memory ConsumptionLowHigh (more than MQTT)Low
Table 1.0


AMQPDDSXMPP
Latest version5.0.92.3RFC 6120,RFC 6121 and RFC 7622
IP SuiteTCP/IPTCP/IP, UDP, Shared MemoryTCP/IP
SecurityTLS extensions, including SNI, and SASL (better than MQTT)TLS, DTLSTLS, SASL (secure authentication)
Commercial/Open SourceOpenBoth Open & CommercialOpen Source
ScalabilityYesYesYes
Throughput (msg/sec)Fast (better than MQTT & HTTP)Very Fast as it is used for real time data transfer.Fast (used for instant messaging, chat & video chat)
LatencyVery LowVery LowLow
Power ConsumptionLow (More than MQTT)Not very high, it is used in IoT devicesNeed more power as compared to other protocols
Memory ConsumptionLow(More than MQTT)Not very high, it is used in IoT devicesNeed more power as compared to
Table 2.0

Layered architectures of IoT

Introduction

Based on the business and technologies needs, the architecture of the IoT solution is designed. It is very critical for any enterprise or government organization to define the IoT architecture to fulfill their requirements. Therefore, Industry experts, researchers and architects have invented layer based architecture for IoT solutions. They highly recommend choosing and defining the architecture very intelligently.

Layer based architecture has following advantages:

  1. Segregation of requirements into various categories
  2. Identifying the technologies
  3. Defining the overall work flow of solution
  4. Planning & managing different activities
  5. Defining hardware & software requirements
  6. Estimating the approximate cost of overall infrastructure
  7. Minimize complexity and increase confidence level of stakeholders

What are the available IoT Layered architectures?

  1. 3 Layered Architecture
  2. 4 Layered Architecture
  3. 5 Layered Architecture
  4. 6 Layered Architecture

There is also 7 Layered architecture exits based on business requirement by adding a separate Edge Layer. All these architectures are evolved based on research and actual business requirements.

In most of the cases, 5 Layered architecture is used.

What are the different layers in IoT layered architectures and their hierarchies?

3 Layers Architecture4 Layers Architecture5 Layers Architecture6 Layers Architecture
Application LayerApplication LayerBusiness LayerBusiness Layer
Network LayerNetwork LayerApplication LayerApplication Layer
Perception LayerSupport LayerProcessing/Middle-ware LayerSecurity Layer
Perception LayerNetwork LayerProcessing/Middle-ware Layer
Perception LayerNetwork Layer
Perception Layer
Table 1.0 Layered Architectures

Here, data flows in both directions from top to bottom and from bottom to top.

Description about different Layers

Perception Layer

IoT Devices (Sensors & Actuators) reside in this layer. These devices capture data and pass to the next layer.

Network Layer

This layer provides support for different wired & wireless network connectivity like ethernet, wifi, Bluetooth, BLE, Zigbee, sigfox, RFID, LoRAWAN, NB-IoT , 2G, 3G, LTE & 5G etc. This also includes different messaging transfer protocols i.e MQTT, CoAP, AMQP and DDS.

Processing Layer

This layer performs all types of activities that are required to generate structured data that can be shown to the user or administrator. These activities are data accumulation, parsing of different formats, filtering of data, data aggregation, storage of data and conversion of data in recipient format.

Support/Security Layer

This layer provides devices & user authentication along with authorization. It is also responsible for data protection (encryption & decryption) to support all types of cryptography based solutions to enhance security in complete solution. Nowadays, software and hardware based security is very much needed at IoT devices, Gateway, communication networks, message protocols as well as user interface level.

Application Layer

This layer provides an interface for end users to interact with IoT solutions. This interface enables the generation of information based on end user requirements. Here, the end user can be a customer who uses IoT enabled services or an administrator who manages and controls IoT components and overall operations.

Business Layer

This layer defines a set of rules, organization policies, defines security parameters, defines specification of data based on business or customer needs and use cases.

IoT Gateway

What is the I0T Gateway?

It is a key component in the entire IoT infrastructure, that provides a solution to transfer data among IoT edge (devices – sensors & actuators) and IoT cloud infrastructure networks.

Why is the IoT Gateway required?

1. Electric Power constraint

Most of the IoT devices have limited availability of electric power as they are battery operated therefore to transfer data into cloud there is an essential requirement of a solution that addresses this limited electric power constraint. IoT Gateway works as a bridge by supporting network protocols that consume very less electric power. And then sends received data to the cloud using 2G, 3G or LTE networks.

2. Usage of Heterogeneous data transfer protocols

As we know that different types of IoT devices support different data transfer protocols like BLE, Bluetooth, Zigbee, Wifi etc. Therefore, for providing interoperability among different types of protocols, an IoT Gateway is required that processes and converts data into recipient format. IoT Gateway does this processing by parsing different formats, filtering, aggregating data & taking local data storage or backup.

3. Security

a. Authentication & Authorization

To allow only registered and authorized IoT devices operate in given IoT infrastructure; a mechanism is required to find all devices but provision only authorized devices. IoT Gateway fulfills such need by enabling proper authentication & authorization mechanisms along with support of device management as well.

b. Data Protection

While transferring data among different IoT devices and cloud networks, there is a critical requirement to protect data so that no one can steal or tamper it. Therefore, proper data encryption & decryption mechanism is also required. IoT Gateway supports all types of cryptographic technologies.

4. Integration with Heterogeneous cloud solution providers

There are different types of cloud based solution providers those provides various services along with APIs to consume them. Therefore, a proper integration with those APIs is required. IoT Gateway also provides such APIs integration framework.

5. Seamless data transfer for large demographic solution

To provide an IoT based solution in large demography, there is an essential requirement to transfer data seamlessly and not be affected by network or power outage. Therefore, a proper cluster based load balancing solution is needed. IoT Gateway also plays a good role there by supporting clustering technologies.

6. Centralized monitoring and controlling IoT devices

For managing & diagnose multiple IoT devices along with sending proper commands on demand or periodically, a proper portal is required that is accessible from browser as well as from mobile app.