Apps, apps and more apps
RFIDs are not the only means. Current smartphones, tablets, and even the Nike sports band that monitors your hearbeat rate and blood pressure are all part of the Internet of things. These gather data from you, and transmit it to the Internet through specific apps, where a central server processes the data and converts it into meaningful information.
From what we have learnt from the smartphone boom, apps are the most important element for a product to be successful in the market. Therefore it is extremely important for you to have the ability to rapidly create IoT applications. One such approach favoured by the Media and Graphics lab at the University of British Columbia focuses on a lightweight toolkit for developing IoT applications. It targets rapid development using Web technologies and protocols and has been described at the 2012 IoT conference by IEEE.
“WoTKit is a Java Web application that leverages the Spring Framework7—a popular development framework for enterprise applications. The data model consists of sensors and time-stamped sensor data. The Apache Active MQ message broker8 is used to deliver sensor data between components to support low-latency processing and control applications,” explains the paper by Michael Blackstock and Rodger Lea from Media and Graphics Interdisciplinary Centre at the University of British Columbia, Vanouver, Canada.
The above concept actually builds on previous IoT research. This toolkit approach, embodied by WoTKit, has been commercialised by Sense Tecnic Systems.
There are various operating systems that have been developed keeping memory-constrained devices in mind. One such example is Contiki. It is an Open Source operating system for networked, memory-constrained systems with focus on low-power wireless IoT devices. It has been used in streetlighting systems, sound monitoring for smart cities, radiation monitoring systems and alarm systems.
Contiki was created by Adam Dunkels in 2003, and has since been further developed by developers from Atmel, Cisco, Oxford University, SAP, STMicroelectronics and others. This operating system supports recent low-power wireless standards like 6LoWP AN, RPL and CoAP.
Applications are developed on Contiki in Standard C programming language. With Cooja simulator Contiki networks can be emulated before these are burnt into the hardware, thus reducing the time required to develop and saving you the cost of prototyping every design. Instant Contiki also provides an entire development environment in a single download.
The next wave of connectivity
The number of devices connected to the Internet is growing so fast that it has already outnumbered the world population. This rapid growth is what prompted the switch to IPv6 last year so that we do not run out of IP addresses. Unlike IPv4, IPv6 allows us to have around 3.4×1038 IP addresses. (For more about IPv6, read the author’s article “Are you ready to transit to IPv6?” published in EFY March 2012 issue.)
The next wave of ‘getting connected’ focuses on devices that so far remained immune to getting connected, such as fridges, washing machines and other home equipment. “In this Internet of Things, we are trying to give them sensors so that they can be more intelligent in order to be aware of their context and thus operate with a much better performance,” explained Janardan Revuru in his talk ‘Internet of things—The Rise of Unintelligent Machines’ at Electronics Rocks 2012.
Some of the technical challenges in the IoT include communication challenges with respect to low speed and high error rates combined with power considerations and small form factor required. The devices also feature an extremely small memory footprint, which means that the software onboard would be very restricted in terms of size.
In order to optimise power consumption and communication performance, these devices use some low-power communication standards. Some of the important standards related to Internet of Things are IEEE 802.15.4, 6LoWPAN, RPL and CoAP:
The IEEE 802.15.4 standard offers physical and media-access control layers for low-cost, low-speed and low-power, wireless personal-area
networks (WPAN). It is used along with 6LoWPAN and other standard Internet protocols to set up the Internet of things or any other embedded object network similar to it.
6LoWPAN is a low-power, wireless personal-area network that aims at getting small devices with limited processing power into the IoT. It effectively employs IPv6 over the earlier mentioned IEEE 802.15.4. This allows many new benefits, including the ability to use Open and freely available specifications as opposed to closed proprietary solutions.
RPL, on the other hand, is an IPv6 routing protocol for low-power and lossy networks (LLNs). It consists largely of lossy and unstable links, which result in low packet delivery rates. RPL operates at the IP layer according to the IP architecture, allowing routing across multiple types of link layers.
CoAP stands for constrained application protocol. It is a machine-tomachine (M2M) Web protocol with simple proxy and caching capabilities. It basically allows the device to communicate over the Internet along with other devices in an interactive manner.