IoTivity - a new Open-Source framework and standards for the Internet of Things
The almost-exponential rise of Internet-of-Things platforms has led many observers and marketplace participants to consider if there are too many disparate or incompatible systems being released, and thus are starting to consider an open-source IoT platform as an option to allow for third-parties to integrate their own products into these new platforms.
Therefore the launch of IoTivity - a new open-source software framework and standards project is of great interest to the IoT community. IoTivity aims to enable seamless device-to-device interoperability to address the needs of the growing Internet of Things industry.
This means promoting and certifying open standards among IoT device manufacturers, allowing billions of IoT consumer products from a wide variety of vendors to be compatible and interoperable with each other.
After launching last year with promises of tackling the problem of device-to-device discovery and communication between consumer IoT products from different vendors, the Open Interconnect Consortium (OIC) has recently launched the initial version of their IoTivity standard and its open-source reference implementation. IoTivity is sponsored by the OIC and hosted by the Linux Foundation.
The project will be governed by an independent steering group that liaises with the OIC, whose project charter is to develop and maintain an open-source implementation that meets OIC's specifications and passes their certification process - which everyone can work off as an open-source reference platform.
IoTivity aims to be a way for connected IoT products to share information on what they are and what they can do, enabling interoperability of devices from different manufacturers. For example, a smart IoT lamp that supports IoTivity may be able to tell an IoTivity-enabled TV that it is a lamp and it can turn on and off, and dim or change colours, in response to messages over the network.
The TV might therefore be able to use this information to automatically dim the lights when it is turned on. Devices can use this information to provide notifications or communicate information via "output" devices, to control other devices, or to use information collected from sensors and "input" devices.
IoTivity is intended to play a middleware role, somewhere in between the network or radio hardware in a device and the higher-level user applications that control a device. It's designed to work smoothly and interconnect IoT products and devices in a way that "just works" for consumers - and without adding a lot of extra burden to software development for device manufacturers.
Consisting of both a standard that will be implemented in the firmware and software of IoT devices, and a testing and certification process that allows consumers to choose devices with confidence that their IoT products from different vendors can work together.
In the next few months the OIC aims to finalise and release a version 1.0 standard specification, and at the same time as this official release of the specification the IoTivity project will release a full open-source codebase which is a reference implementation of that specification (rather than the preview release previously available).
The founders of the OIC believe that an industry-standard specification, a reference software implementation, and a commitment to open-source are necessary to drive true interoperability across the growing IoT industry.
With this in mind, the IoTivity software framework is open-source under the Apache 2.0 license. The founders also believe that true innovation can happen most effectively when multiple parties come together to develop the source code in an open way, under an open-source governance process, which is why the Linux Foundation is involved.
Interested developers can get started learning about IoTivity today, by downloading and exploring the current IoTivity preview release. IoTivity is open to everyone, and OIC membership is not a requirement to participate in this open-source project. However, interested companies and developers working with IoTivity and interoperable IoT solutions are encouraged by the OIC to consider if membership in the consortium is right for them.
The IoTivity framework consists of four key components - including device and resource discovery, where IoTivity supports multiple discovery mechanisms for devices and resources both in proximity and remotely, and data transmission - where IoTivity supports interoperable information exchange and control between devices based on a messaging and streaming model.
IoTivity’s data management component supports the collection, storage and analytics of data from various resources across the IoT network, and IoTivity device management aims to provide a one-stop-shop that supports the configuration, provisioning and diagnostics of IoT devices on the network.
This allows a vast number of sensors and "things" to be easily configured, set up on the network and connected to each other, in a way that is easy for all users including home consumers.
The IoTivity framework APIs expose the framework to developers, and are available in several languages and for multiple operating systems. These APIs are based on a resource-based, RESTful architecture model, and API references are available for each release along with additional information on the IoTivity website and Wiki.
IoTivity aims to operate across all operating systems and network protocols, eventually, with current APIs, examples and support documentation available for Ubuntu Linux, the Arduino platform and the Linux-based Tizen operating system for consumer appliances.
Over the next few months, the IoTivity will offer great promise for an open-source Internet-of-Things – and success will be predicated on the amount of industry take-up. However IoTivity is only one of many platforms that you can harness for IoT product success.
To meet your IoT goals, the LX Group team can help you take your Internet-of-Things idea from the whiteboard to the white box. Getting started is easy – click here to contact us, or telephone 1800 810 124.
LX is an award-winning electronics design company based in Sydney, Australia. LX services include full turnkey design, electronics, hardware, software and firmware design. LX specialises in embedded systems and wireless technologies design.
Published by LX Pty Ltd for itself and the LX Group of companies, including LX Design House, LX Solutions and LX Consulting, LX Innovations.