The Complete Magazine on Open Source

The role of open source in IoT

2.38K 0

IoT allows different objects to be sensed or controlled remotely across the existing network infrastructure. It also helps to integrate objects from the physical world with computer-based systems and, hence, results in improved accuracy, efficiency and economic benefits, as well as reduced human intervention in their operation.

Hurrying for a party, we may forget to switch off the fans and lights at home. And remember that lapse only half way through the party. Returning home to switch off the fans and lights is simply not an option. Wouldn’t it be useful if we could switch off the gadgets and lights at home even when away? What if we could switch on our air conditioners even before entering our homes so that we don’t have to wait for the room to become cooler? Around 20 years ago, this would have just been a pipe dream but, today, this is a reality because of IoT or the Internet of Things, which amalgamates software with different physical hardware devices.

Wikipedia defines IoT as the internetworking of physical devices (also called smart devices and connected devices), vehicles, buildings and anything else embedded with electronics, sensors, actuators, software and network connectivity, which further enables these objects to collect and exchange data. In simple words, the Internet of Things refers to the vast world of different interconnected devices that have embedded sensors, which are capable of providing data and also being controlled through the Internet.

So now, even when not at home, we can switch off the fans and lights of our rooms using the Internet. Other common examples include different home automation devices, like remotely controllable lighting fixtures and thermostats. Then there are traffic sensors, water quality meters, smart electric grids and components that track manufactured goods, all of which work with the help of IoT.

Figure 1: Characteristics of IoT

The core concept of the Internet of Things became popular in 1999, through the Auto-ID Centre at MIT in the US. Since then, there has been rapid growth in the IoT space, with the emergence of a number of competing standards, projects, tools, frameworks, policies and organisations, which work towards defining how different connected devices communicate in the current era. Different open source tools and open standards are important and will continue to be so in the future, in order to ensure that all these devices are able to interconnect properly. These open source tools will also be responsible for the back-end tasks of processing the large volumes of Big Data that all of these devices will generate in the future.

IoT allows different objects to be sensed or controlled remotely across the existing network infrastructure. It also helps in creating different opportunities for objects in the physical world to directly integrate with computer-based systems, resulting in improved accuracy, efficiency and economic benefits as well as reduced human intervention. According to the estimates of several experts, IoT will consist of around 30 billion objects by 2020. It is expected to offer highly advanced connectivity to different devices, systems and services that will actually go beyond machine-to-machine (M2M) communication, covering a variety of domains, protocols and applications. The interconnection of such embedded devices is expected to usher in automation ubiquitously, and also enable various advanced applications like smart grids to expand to areas such as smart cities.

Figure 2: IoT node types and the data paths

The challenges of IoT

Though IoT usage is growing in different fields, there are a few challenges that require our attention and action so that it can be efficiently leveraged in areas where it is not yet being used. Let’s have a look at some of these challenges.

Data storage and analytics: One of the challenges for developers of IoT applications is to clean, process and then interpret the large amounts of data gathered by different sensors. The proposed solution for this is to use wireless sensor networks. These networks share all the data that is gathered by sensor nodes, which is then sent to a distributed system for analytics. Another challenge is the storage of such large volumes of data.

Platform fragmentation: IoT also suffers from platform fragmentation (the inability to support a large number of platforms) and lack of common technical standards. Currently, a wide variety of IoT devices (in terms of both hardware and the differences in the software running on them) makes the task of developing different applications that work consistently across different inconsistent technical systems, difficult. Customers may be a bit hesitant to bet their IoT future on proprietary software or different hardware devices that use proprietary protocols in the fear that these may become obsolete or be difficult to customise.

Figure 3: IoT open source – heat map

Figure 4: Threats to IoT

Privacy, autonomy and control: Although IoT has immense potential to empower citizens by making governments transparent and by broadening information access, there are also serious threats to a citizen’s privacy and the scope for political manipulation by the state. Such concerns have led many to conclude that different Big Data infrastructures like the kind required for the Internet of Things and for data mining are incompatible with privacy.

Security: There have been many concerns raised that IoT is being developed rapidly without much thought being given to the profound security challenges associated with it and the different regulatory changes that might be necessary. When we talk of security concerns related to IoT, we refer to securing servers and workstations. The common measures like firewalling or security updates are unsuitable for much smaller IoT devices.

Design: The design and management of IoT must be sustainable and secure. The design of IoT devices must factor in uncertain futures with respect to their management, without risking physical failure. We cannot consider IoT devices to be successful without giving due consideration to the interface’s usability as well as the technology. The interfaces need to be not just user friendly but also better integrated.

Complexity and unclear value propositions: According to the feedback of several users, IoT solutions are either too complex or lack a clear use case for different end users. Experts also say that the IoT industry is currently heavily focused on gadgets, and is not making those gadgets relevant to particular business verticals. There are many who are just not able to pinpoint what value IoT offers them.

Figure 5: Growth in human population and IoT connected devices

Traditional governance structures: There is a clash between IoT and the companies’ traditional governance structures, as IoT still presents both uncertainties and the lack of historical precedence. Definite processes are needed to capture the IoT opportunity. This will help to improve the organisational design processes and to test the new innovation management practices.

Role of open source in handling the challenges and other aspects of IoT

The impact of IoT will be felt across a wide range of industries and applications, including agriculture, medical, manufacturing, electronics, consumer, transportation and energy. Just like the Internet, the emerging IoT will also rely upon and promote the adoption of different open source technologies and standards, as without the adoption of open standards and protocols, our devices may not be able to communicate with one another. While many of the IoT devices ultimately connect back to the Internet, the different methods they use to communicate with one another and with the local control hubs are often proprietary and even poorly documented. There are possibilities that without a common foundation for communication, we may be locked into just a single vendor for all of our devices, and worse, we may be left stranded with a pile of different non-functional hardware if the company which makes our devices goes defunct or decides to no longer support our devices.

There is no doubt that open source dominates large swaths of the intelligent networking and cloud platform software. And for that to translate into IoT dominance, developers will have to fill all possible gaps and implement technologies which are essential for IoT. Let’s have a look at the role of open source in IoT and how it can help in handling the different challenges.

1. We are all aware that when we use different open source IoT frameworks, we spend no money since they are free for use. With costs not a barrier, everyone will implement IoT without any hesitation.

2. If we decide to adopt an open source IoT framework, we are not only drawing on the skills of the developers working on this but the whole open source community. Additionally, this wider support base often leads to developers getting inspired to build newer applications, which they might not have dreamt of when working in a closed, proprietary environment.

3. The success of the IoT market greatly lies in the connectivity of devices, which more often than not, share different hardware and operating systems. This is a serious obstacle to the very connectivity we are aiming for. If open source APIs are used for IoT, then we can get rid of this obstacle. This is because open source APIs offer a uniform gate for different software, hardware and the systems to communicate with one another.

4. If one chooses an open source IoT framework, then developers will be able to build different products, which will be interoperable across different OSs such as Android, Windows, iOS and Linux.

5. An open source IoT framework injects the software development life cycle with innovation and agility, which different proprietary models fail to match, since it offers a wide range of libraries, SDKs and open source hardware like Raspberry Pi and Arduino. With the help of an open source IoT framework, developers ensure that companies remain on the cutting-edge of technology by using different open sourced tools to customise IoT platforms to suit their needs.

6. If we look at the privacy challenge presented by IoT, open source software can protect individuals’ data by implementing really strong encryption for the use of the general public (SSH, SSL, PGP, etc), and hence supply the building blocks for mobile security and the protection of data.

7. The history of open source software and security has been a roller coaster ride. After long years of debate, IT professionals finally began to appreciate the ‘many eyes’ approach of open source software communities, when it comes to detecting and addressing the security risks. The low defect rate of open source software code has been proved by independent studies such as Coverity Scans.

8. Huge amounts of data are produced by different hardware sensors integrated with IoT, and it becomes quite a challenge to handle this data and process it. This data does not just require a different scale of storage and processing, but it also requires new techniques like machine learning, artificial intelligence and data mining. These allow us to find patterns in the data that would not be obvious to different traditional analytics methods. Different open source Big Data tools make such analysis possible.

Figure 6: Quick facts about IoT

Security of IoT

According to a recent IOActive IoT security survey, less than 10 per cent of all IoT devices have adequate security. The most daunting threat to IoT is the ability of different hackers to infiltrate and then control a network of devices. Try to recollect what happened last year when different hackers breached the Uconnect system of Jeep Cherokee, and controlled everything, right from the car’s air conditioning system to its accelerator. If we have a perfect match between IoT and open source, such threats can be limited to a great extent.

  • In order to ensure adequate levels of security before we embark on our IoT journey, we must define our security guidelines to cover cross-authentication-methods between devices and servers communicating with these devices as well as proactive malignant code detection. However, such security risks are unfortunately made worse by the often opaque security vulnerabilities within the open source software. It is essential that we give our developers easily accessible open source usage and vulnerability information continuously throughout our software development life cycles so that they can continuously keep a vulnerability check.
  • Almost every device that is capable of connecting to a network runs at least a primitive operating system (along with the code) which makes it function. If we have an open source code base for this, then it allows the security of the device to be inspected, tested and when required, easily patched to help keep the intruders out. Different secure operating systems, such as the Linux kernel, can be optimised for the embedded devices to help keep data as well as devices safe.

Applications of IoT

1. IoT helps in energy management by integrating the sensing and actuation systems connected to the Internet.

2. The IoT intelligent systems help in the rapid manufacture of new products, dynamically responding to different product demands. They enable the real-time optimisation of the manufacturing and supply chain networks, by networking sensors, machinery and the control systems.

3. IoT typically makes use of sensors to assist in environmental protection by monitoring air or water quality, soil or atmospheric conditions, and can even include different areas like monitoring the movement of wildlife as well as their habitat.

4. IoT devices can also be used to monitor and control the electrical, mechanical and electronic systems used in various types of buildings.

5. IoT is capable of monitoring and controlling infrastructure like railway tracks, bridges, on- and offshore wind farms, etc.

6. IoT can also be used to enable emergency notification systems and remote health monitoring. Health monitoring devices can range from heart rate and blood pressure monitors to other advanced devices capable of monitoring specialised implants.

7. IoT can assist us in integrating communications, controls and information processing across various transportation systems as well.

8. A large number of IoT devices such as wearables, connected cars, residences, entertainment and smart homes are being developed for consumer use as well.

9. The IoT system is also very useful in reaching out to targeted sections of a population in order to convey a message that’s important for them instead of using various older methods such as newspapers.