Android Things Trials with IoT-Ignite

ARDICTECH
ARDICTECH
Published in
5 min readApr 18, 2017

--

We have tried, tested, and experienced Android Things since the day it was announced. Put simply, Android Things is an Android-based embedded operating system for developers who build software for smart devices (e.g. smart thermostat), which are usually built from different MCU platforms.

The idea is that developers will be able to build new software and devices quicker and easier than ever before.

Completely New?

It’s half new. Google claims Android Things is a rebranded version of Google Brillo, an OS that Google announced in 2015. We had the opportunity of investigating the Brillo architecture closely since its introduction. Brillo used Android Linux kernel, however, and a Java based applications framework has never been included in the architecture. Instead, Brillo supported C++ based development as their primary development environment, whereas Android Things targets all Java developers − in other words, the entire global Android developer ecosystem (which focuses primarily on mobile development). Additionally, in Android Things, more emphasis is given to support lower level component access such as GPIO, SPI and I2C buses. There is a versatile framework for supporting sensor and actuator peripherals that are used in the Internet of Things domains.

So, developers can use the Android Things toolkit for the target IoT devices. Android Studio, the popular IDE for Android, supports IoT development through Android Things. As a result, the life cycle of development is almost the same as mobile development, and supports a subset of the original Android SDK.

How is it different from normal Android?

The key difference between Android Things and Android that is running on mobile devices, is that Android Things is mainly developed for headless devices which means that it doesn’t support user interfaces.

Android Things OS supports a subset of the original Android SDK for now. AdMob, Maps, Search, Google Play and even Sign-In are not supported since the APIs require user input or authentication credentials.

Why is Android Things important for IoT Market?

Linux has been around for many years, and gained less popularity and mass scale deployment compared to Android.

Android operating system has gained huge popularity among the developer community since its first market introduction in 2008 by Google. It is now one of the most tested and mature operating systems in the world running on more than 1.5 billion devices globally.

Traditional Linux presents the following challenges:

  • Managing security in Linux becomes complex, and dependent on the version of Linux,
  • Writing applications in a consistent manner also becomes very difficult,
  • Linux is fully open source, so there is not a single governing body as Google is for Android Things,
  • Advanced features such as secure Linux kernel, container, permission access of an application to system resources etc.,
  • Configurability and manageability of the operating system as well as security configurability,

Android address all the shortcomings of Linux listed above and many more that are not mentioned here. Because of these issues, the application developer community of Linux is almost a fraction of the huge Android developer community.

Why does Android Things work better with IoT-Ignite?

Developers can overcome many of the challenges associated with launching new products by using IoT-Ignite services, device management, cloud expertise, and infrastructure to create and commercialize innovative products.

  • IoT-Ignite supports Android based gateways, and 3rd party Android IoT services and applications.
  • Our Android IoT platform has been around for 2 years and has matured in the field
  • IoT-Ignite provides complementary critical components, not-yet-offered in Android Things such as:

o Service container framework,

o Complex Event Processing framework,

o Deep learning IoT engine,

o Virtual Processor framework (beyond sensor fusion technology),

o Physical and Virtual Node/Actuator/Sensor/Edge Gateway discovery registration, and management framework.

  • A powerful device cloud (not-yet-offered in Android Things) is already provided by IoT-Ignite
  • World’s first full-function IoT solution implementation of Android Things is underway with IoT-Ignite (as a commercial deployment)
  • Critical security and controllability framework of IoT-Ignite architecture, (AFEX) is complementary to Android Things

IoT-Ignite provides Complex Event Processing (CEP) functionality on the edge devices.

A CEP rule consists of two parts: conditions based on sensor data, and actions to be implemented when conditions become true. Thanks to this, time critical situations can be handled autonomously with edge CEP, even when devices do not have a network connection. For example, dementia patients in a nursing home could be tracked with fall detection sensors. An immediate action such as generating an alarm can be taken when patient falls down without sending the data to the cloud and waiting for a response first.

Existing IoT services either send data directly from edge devices to the cloud or pass raw data through gateways without processing.

In both cases, high volume data traffic is carried between edge and cloud. IoT-Ignite enables meaningful data transfer capability by processing data at the edge. It supports “Virtual Ignite Processors” for service developers. Developed Virtual Ignite Processors can generate events or mimic virtual sensors by processing data received from multiple sources.

IoT- Ignite treats them as part of its “thing” ecosystem. For example, let’s think of an inventory management solution that uses RFID devices − in order to count products in a warehouse. This solution aims to detect product movements and record if products are taken out of the warehouse or new products are delivered in. An actual RFID reader reads tags at a very high rate: more than hundreds of tags can be read on the edge device. Product in/out events can be created by a Virtual Ignite Processor application developed in Android. IoT-Ignite supports virtualized data events from sensors. It is possible to define CEP rules using virtual events and actions such as a product in or out. For example, if a product’s amount decreases abnormally, an action such as ordering the critical product can be triggered based on the IoT-Ignite CEP rule management system.

IoT-Ignite continues to extend Android Things features day after day. With IoT-Ignite, you have the ultimate Android IoT platform at your fingertips, combining state of the art Android Things with a solid IoT support structure. It is an incredibly handy tool to develop and create services that are replete with amazing feature sets.

--

--