We define the internet of things as a group of infrastructures for accessing, mining and
management of data that is generated by the environment or by users. Infrastructures are
comprised of things, transport elements, data services, programming interfaces, web services and other services. Infrastructures enable sensor data access, actuator control, and internal state change. Things are devices with a specific function and might have one or more sensors to sense the environment and zero or more actuators to act in the environment. Things can communicate with other things, gateways and other networks.
This definition of IoT allows us to identify a base set of attributes that can be used to describe IoT applications and basic components that appear in an IoT application such as things, gateways or hubs, data storages and services. We define the basic system architectures that are used in IoT applications. We build an IoT application model based on this taxonomy. The model takes a list of properties representing application requirements and proposes the best architecture and platform to use for building the desired IoT application. This reduces the friction to enter the world of IoT development.
We use the model to recommend the platform and an architecture for a smart kitchen container application. The smart kitchen container is aware of its weight and has an LED light that can be controlled through the network or through the internal state.
As a proof of concept we implement the IoT application including all the cloud based support services.
In conclusion we show a possible future direction of work developing a model unit testing tools.
We also make suggestions for automatic feature learning and classification with machine
learning.
|