With more and more devices getting connected with each other, it’s pretty clear that the Internet of Things (IoT) is going to play a major role in our lives in the days to come. In the not too distant future, smart automobiles and transportation, smart fans and household devices, and smart buildings with smart lighting will all be part of everyday life. Let’s find out why open source software will provide the best platforms for the IoT.
All of us book a cab and order food through mobile apps today, as well as upload our status on social media and tweet our views about current happenings using our mobile phones. Now imagine your phone without the Internet connection – it’s just a box that can be used only for audio calls and some basic operations. So, basically, the Internet is the one thing that gives value to a phone and makes it smart.
Similarly, other objects like TVs, ACs, fans, doors, watches, etc, can also be used smartly with the help of the Internet. This is what the Internet of Things ( IoT) is all about. It connects our devices to the Internet and then to each other, using software to perform routine tasks in our daily lives.
Can a car talk to a house? Well, your car may soon tell your house that you are five miles away and instruct it to turn on the lights and the heating. So the core idea in IoT is to connect every single object to the Internet and also to one another.
Open source software (OSS) is used to perform many tasks. It is software with its source code accessible to everyone so that anyone can inspect, modify and enhance it according to their needs. Most people tend to choose open source software because they have more control over it—for instance, to change that part of the software that is of no use. Additionally, open source software is more secure and stable as anyone can fix, update and upgrade it, which happens more frequently than with proprietary software. Basically, any program starts with developers writing the code and then they set the rules of usage as the licence, which describes the extent to which contributors can change the code by the process of upstreaming.
How big is the IoT?
According to a study by Gartner, till last year there were more than 3.5 billion connected things in the form of smart cars, smoke detectors, locks, robots, music systems, health equipment, trains, wind turbines and more. This number will cross 25 billion by 2020, and that will be the start of what many call the fourth Industrial Revolution (the earlier three were driven by steam, then electricity and, most recently, wired computers).
Here, AI will play a major role as it will not only collect data from these devices but will also train ‘things’ to work according to a user’s needs. So IoT will cover everything — from the automotive, mechanical and medical industries to hospitality, education and development. In the coming years, everything that you can think of will be on the Internet — your fan, watch, lights, bottles, clothes…everything. These things will have their own IP addresses, depending upon their memory and RAM. New protocols like CoAP will be in place for these tiny and constrained devices.
Challenges facing IoT
Security and vulnerability: Security is one of the most important pillars of the Internet and the most significant challenge facing the IoT. As the number of connected devices increases, the number of those that are poorly designed and offer opportunities to exploit security vulnerabilities also increases. This can expose user data to hackers by leaving data streams not properly protected and, in some cases, people’s health and safety can also be put at risk. Although it’s true that the IoT is more secure than the average Internet or LAN connection, it’s not exactly the bulletproof shell that some users expect.
There are a number of IoT designs that have near identical or identical devices. This means that any security vulnerability found on one device may affect a number of devices that have similar characteristics.
Privacy: The privacy challenge will be formidable in the IoT era if not handled properly. As all devices will be in sync and communicate with each other without human intervention, the risk of privacy leaks will be very high. Devices with voice recognition features can continuously listen to your conversations; and those with vision can watch your activities and then transmit that data to the cloud for processing, which will sometimes involve third parties.
Keeping IoT hardware up-to-date: Regardless of how a company uses the IoT or the cloud, data integrity is a common challenge. At present, the number of devices connected is still not many, but this count will go on increasing exponentially. Then, keeping the entire lot of devices on the same security track, with the same compatibility, will be a huge challenge.
Overcoming connectivity issues: Currently, the IoT uses a centralised, server-client model to provide connectivity to the various servers, workstations and systems. This model is sufficient, as of now, but will it be the same in the future as well? As the IoT becomes more pervasive and billions of devices begin using the network simultaneously, it will just be a matter of time before users start experiencing significant bottlenecks in IoT connectivity, efficiency and overall performance.
IoT application development is currently a task that requires considerable expertise due to its complexity, but it needs to be easier for all developers. There is a need to make hardware and software design simple.
Going forward, the more things get connected to the Internet, the more data there will be created for storage. This large amount of data will need to be cleaned, processed and interpreted.
The desirability of open source in IoT
Here are a few compelling reasons for using open source in IoT:
1. As open source tools are more cost-effective, they are a good choice for companies starting out and facing cost challenges.
2. Open source IoT solutions enable developers to create and change code in their IoT applications to enhance their capabilities and performance.
3. A uniform API is an advantage for developers while using open source frameworks. As the number of sensory devices increases, the code complexity also increases; so the capability to abstract code from one device to another is very important for developers.
4. Open source tools, in comparison to licensed ones, are easier to integrate with other tools.
5. Open source frameworks will improve interconnectivity as they need a central gateway to connect all devices and sensors on the same protocol. For this, software will have to work on low memory and energy as well, because smaller devices will have these kinds of limitations. So apart from specialisation, some features need to be on the same platform and for this interconnectivity, open source frameworks can be very useful.
6. The open source framework approach allows you flexibility. There is the freedom of unlimited customisation and tuning the code to match the specific needs of a product.
7. Open source tools are free from any vendor lock-in as well.
8. More devices connected to the Internet means more data, and open source Big Data tools are very useful for collecting and processing this huge amount of data.
A few open source IoT platforms
1. Kaa: This platform is built on a modern cloud-native architecture and has a fully customisable feature set. Complete flexibility, better interconnectivity, data processing customisation and configuration management of device behaviour are some of its key features.
2. Arduino: An Arduino development kit offers both software and hardware to developers. Sending messages from one board to another is easy using its cloud based system and its own Arduino programming language. Arduino is well suited for beginners as well, because its software and hardware are designed for those with little or no programming background.
3. ThingsBoard: This IoT platform is used for data collection from different sources, and for processing, visualisation and device management. It is rich in functionalities, and has a simple yet powerful API for device connectivity.
The Physical Lab (powered by Google), Eclipse IoT Projects, Open Remote (focused on home automation), Zetta and many other open source IoT platforms are available, catering to diverse user requirements.
The road ahead
As in the case of electricity, automobiles and air planes, which took years from the time of invention to widespread adoption, one of the main challenges to overcome in the IoT world is the notion that everything is fine the way it is. Security and privacy are very critical challenges for IoT. Another challenge is that IoT can be very complex from the technical point of view, and coding and combining all things can be very problematic. This complexity needs a platform that everybody can use, and an open source platform that has the support of the community is the best choice.