The Keyword Internet of Things is currently on everyone’s lips. It describes the networking of objects of all kinds, in various application areas, over Internet protocols. The main areas of application of networked home appliances or gadgets on public infrastructure to industrial applications.
The vision of the Internet of things was very early, namely in 1999, dominated by technology pioneer Kevin Ashton from MIT, but then with a focus on things that are equipped with RFID tags. About this originally purely passive tags, a virtual image of these objects are realized on the Internet.
Today, the concept of the Internet of Things will be much wider uses, and passive objects are only a part of this vision, the currently much more is characterized through networking and digitalization of everyday objects. In the last 10 years also a huge step forward in terms of energy-efficient and cost-effective networking and operating systems for the Internet of Things was recorded.
networking for the Internet of Things
While in the early expression of the Internet of things merely passive RFID tags were used, the use of Internet protocols for the Internet of things is made possible by several current standards. This explains also the term Internet of Things in the narrower sense. Specifically, these relate to several standards of the IEEE and the IETF (Internet Engineering Task Force).
First, in 2004 the IEEE 802.15.4 were for wireless connections with low data rate (10 to 250 Kbit / s adopted) and high energy efficiency. This standard covers the requirements for many applications from well even if there are other alternatives and for specific areas. An interesting new developments, for example, Bluetooth 4.0 Low Energy, which is also adopted by many mobile devices.
At the level of the protocols, it is by the current standards of the IETF 6LoWPAN and CoAP especially become possible Internet protocols with IPv6 and implement HTTP even on very restricted devices. While other proprietary standards set for new protocols, has been shown here that IPv6 can be optimized such that it can also be used over networks using IEEE 802.15.4, for example, even if this only allow a payload of 127 bytes in each transmitted data block (frames on ISO / OSI Layer 2).
were likewise designed with the CoAP protocol is a simplified version of the HTTP protocol, which allows usual with the concepts of HTTP, such as access to resources on the Web. Specifically, hereby APIs according to the so-called REST principles also take place for limited systems.
Using REST APIs resources are described as URIs, for example, a sensor for temperature, on the then standard HTTP methods such as GET , PUT and POST can be accessed. Although for CoAP and 6LoWPAN implementation of protocols is necessary, this can be easily replaced and the end-to-end semantics of messages and applications. The main advantage now is that known and proven concepts can be used, which is for the development of services of significant advantage.
For example, a temperature sensor on the URL myhome.de/home/zimmer1/sensor1 are addressed. With CoAP can then CoAP GET : //myhome.de/home/zimmer1/sensor1 , for example, the current value is retrieved. In addition, resources can be found on CoAP (“discovery”), or values for actuators are set, such as light switches.
Operating Systems and software platforms
In addition to the networking topics considered above have some new operating systems and software development environments very prominently developed in recent years. An important principle here is the reactive programming, implemented specially optimized operating systems. Reactive systems are based on the principle that a system only awakened from a sleep or suspend mode when data are to be processed. For example, when data arrives from the network, or when a scheduled task is pending, to read about a sensor value and distribute it over the net.
This then also means essentially event-driven programming, which was implemented in TinyOS and also in other systems such as Contiki and very energy efficient systems allows. Sensor and Actuator with a battery life of several years are possible here. Besides Contiki and TinyOS, which will be further developed for over 10 years and have come from research projects in commercial use, there are also new systems, such as Riot, which offers better compatibility with Posix / Linux operating systems.
In addition to these highly optimized operating systems, several popular systems have emerged that have focused on simple programming of animations, graphics and simple control tasks. A well-known representative is here Arduino, which also offers a simple programming language. In contrast to the above systems but less value is here set to concurrent processes (or threads) as they are typically used in complex reactive systems. In Arduino threads are only supported via additional libraries, for which there are several variants.
Challenges and risks
The above technologies enable the rapid development of energy-efficient, cost-effective systems for the Internet of things, which has contributed to the enormous interest in recent years. The use of these technologies in a variety of application scenarios, however, raises a number of new challenges: Many applications have very specific requirements, such as range or reliability of radio links, to which we can not go into detail here. Nevertheless, we can identify from the perspective of system development, a number of overarching themes.
A major challenge is the device and platform-independent development of applications for the Internet of Things. Many operating systems, hardware platforms, sensors / actuators and their APIs generate an enormous heterogeneity and hinder the development of software for a wide range of products. One approach here is the use of virtual execution environments, such as Java, which is also offered in a highly optimized form for the IoT by IBM as a beta version, and offers a more homogeneous development for various platforms. Another important approach is the model-based development. This makes it possible to generate efficient code for specific environments from platform-independent system models.
Another problem is the security of applications and systems. In the future we will have the opportunity for the Internet of Things, software to load apps on devices such as. Here then problems arise like for apps on mobile devices – only the devices in the Internet of Things can not take control tasks, and thus incur a materially increased requirements. This includes both external security attacks and malicious apps that act like a virus.
So if, for example, in the future, a new app is installed for a microwave oven that automatically cook a particular dish, then this app may can do no harm. For this, new techniques are needed to ensure these functional safety of such systems. An approach to research in fortiss is here to use model-based development and review new apps at the level of models. Other important challenges are the self-organization and self-configuration of distributed devices in the Internet of Things, when multiple devices to be networked.
In summary, it can be observed that the tremendous technical progress in the Internet of Things to wide interest and many new application scenarios has resulted. However, it is for the wide commercial use still some important challenges, such as especially functional safety and the very fragmented development and hardware environments. (Mb)
Newsletter ‘networks’ now