Internet of Things (IOT) advocate Michael Koster fixated makers and hackers at the recent Maker Faire in San Mateo, California, a few weeks ago. Standing in front of samples of many versions of Arduino, Rasberry Pi, and sensors, he spoke of an open source horizontal platform that will unify the IOT. He changed people’s perspectives from looking up from a small control circuit of dedicated sensors and actuators to seeing the unique value that will be created by looking down at a unified world of horizontally interconnected sensors.
He cited GE jet engines as an example, explaining some supplemental uses of the data collected by the sensors intended for regulating and maintaining the engines. Koster pointed out that the thousands of airborne planes would create a flying sensor grid that could improve weather forecasting by flying through oncoming weather patterns, perhaps generating enough data on airborne gases to predict the next eruption of Iceland’s volcano. He has launched the Open Source Internet of Things (OSIOT) to incubate a project to unify the many machine-to-machine (M2M) sensor networks using an open source model.
Sensors and actuators tend to be vertically integrated into proprietary application-specific systems that solve defined problems. Without the ability to tie heterogeneous and homogeneous networks together, the network effect of these combined islands of automation would have no real impact. Given the state of the IOT today, a great deal of brute-force programming would be required to combine disparate systems of sensors and actuators. Precipitating the network effect is a goal of the OSIOT project through interoperability and efficient software development.
Without a framework, there are some formidable software challenges to knit disparate networks and controllers together. The data model classification, called “taxonomy,” is different from vendor to vendor, as are the APIs. The Open Source Internet of Things would normalize the taxonomy of the data model to be JSON-like and standardize the APIs for similar functions. For example, when writing software to read thermostats manufactured by different vendors, a developer would use the same variable names, data types and methods.
However, there are some challenges to building an IOT that is semantically discoverable with the ubiquitous reach of the internet. To accomplish this, real-time asynchronous M2M messaging protocols, such as MQTT, have to be bridged to TCP/IP. The Open Source Internet of Things proposes that M2M messaging networks communicate with a REST “endpoint” that is semantically discoverable and internet-accessible using RESTful APIs. RESTful APIs are widely adopted asynchronous methods for developing software to securely communicate over the internet using HTTP protocols with cloud services.
The REST endpoint is simply a URL that can be used to address a device on an M2M network to read or change the state of a device. For example, program logic reading a low-light-level sensor would send a command to a rheostat to raise the light output. By adding RESTful API’s, this program logic can be executed anywhere on a local IP network or on the internet in addition to the M2M network. The REST endpoint is IP or internet accessible in the OSIOT model because the device on which it resides is either bridged directly to an IP network or via a lightweight server/gateway bridged between the IP and M2M networks.
The OSIOT security model is based on policy and ownership. One can imagine that it would be useful to create a policy that allowed a larger authenticated group to read a sensor and a smaller authenticated group of “owners” to change the state of an actuator. For example, the policy for reading water quality sensors might be publicly available, but controlling actuators that affect filtration would be limited to program logic with an ownership relationship.
In addition to community-developed software to simplify development and increase software reuse, the OSIOT promises new insights and new value creation as the IOT community shares and combines data sets.
The OSIOT has identified important missing building blocks and standards that are needed for the IOT to become as ubiquitous as the internet. Koster proposes a vendor-neutral organization to create the equivalent of the early internet open source initiatives, such as Apache and the LAMP stack, and standards such as those created by WC3.