You are here

About

Each day more and more devices are coming online, adding to the ever-growing Internet of Things (IoT). Analysts agree the IoT will grow to many billions of devices over the next decade.

The challenge for the IoT ecosystem is to ensure these emerging IoT devices can connect securely and reliably to the Internet and to each other.

The IoTivity project was created to bring together the open source community to accelerate the development of the framework and services required to connect these billions of devices.

The IoTivity project is sponsored by the Open Connectivity Foundation (OCF), a group of industry leaders who will be developing a standard specification and certification program to address these challenges.

IoTivity will deliver an open source reference implementation of the OCF standard specifications, yet will not be limited to those requirements.

IoTivity and IoTivity-Lite

There are currently two OCF implementations under the IoTivity umbrella - IoTivity and IoTivity-Lite.

  • IoTivity assumes a full-featured device with ample memory to accommodate all the mandatory and optional features of the OCF 1.3 specification.  IoTivity also hosts a runtime for developers planning to implement OCF control applications in development environments for higher-level languages such as Node.js or Java.
  • IoTivity-Lite is a light-weight implementation of the OCF 1.3 specification and is able to target constrained hardware and software environments where resource utilization, energy efficiency, and modular customization are essential. Visit the about IoTivity-Lite page for more details about the project.

While the two implementations present different developer APIs, both implementations are interoperable with each other and are certifiable to the OCF 1.3 specifications, released December 20, 2017.

IoTivity and IoTivity-Lite Comparison

The following table compares IoTivity and IoTivity-Lite, providing guidance to developers about which may work best for their intended purposes:

 

IoTivity IoTivity-Lite
OCF spec release support 1.3 1.3
Supported control application framework
  • C/C++
  • Node.js
  • C
  • JavaScript (only on Zephyr RTOS)
Security Yes Yes
Onboarding Support Yes Yes
IPv4 and IPv6 support Yes Yes
Server and Client Support Yes Yes
CoAP blockwise transfer Yes Yes
CoAP over TCP Yes No: planned for mid-2018 release
Bridging support AllJoyn No - can write your own bridges to other IoT ecosystems employing the OCF bridging spec
Plug-in Architecture AllJoyn No- can design your own plug-ins to other technologies
Resource directory Yes No - can implement your own RD application using the APIs

 

Footprint Comparison

 

 

IoTivity-Main Stack

 

Module

Size (in KB)

Command/Comments

Base

CA

65

size libconnectivity_abstraction.a -t

RI (base stack)

92

size liboctbstack.a -t

libCoAP

24

size libcoap.a -t

(subtotal)

181 + 6 (for CBOR
from SRM) = 187

SRM is getting added even though we disable security in command

Security

SRM

115

size libocsrm.a -t

mbedtls

258

size libmbedcrypto.a  libmbedtls.a  libmbedx509.a -t

(subtotal)

372

 

 

 

 

 

 

Size of sample app executable*

573

size ocserver  (exe built with static linking of all above libs)

 

 

IoTivity-Lite Stack

 

Module

Size (in KB)

Command/Comments

Base

 

 

 

 

 

 

 

 

 

(subtotal)

46

Sum total over corresponding object files

Security

SRM

22

Sum total over corresponding object files

mbedtls

98

Sum total over corresponding object files

 

 

 

 

 

 

 

 

Size of sample app executable*

160

 

 

* Note that the individual module sizes don't add up to the total size of the sample app because of linker optimizations.

Dive deeper into IoTivity by visiting the IoTivity Wiki and the IoTivity GitHub repository, download the code and start participating today.

Size of sample app executable