We live in the world of hyper-connection and we want anything and we need to have it immediately. That is why it is increasingly important to create innovative services that provide a quick solution and differential value to the customer. The Internet of Things (IoT) opens up as one of the opportunities that is not only key to guarantee customer satisfaction.
The figures handled by the experts speak of exponential growth. The international research firm “IDC” says that by 2018 there will be 200,000 new applications for the “IoT”. They will be services that customers want and demand, but only 7% of companies have been able to understand the business behind this technology and have developed a strategy to undertake projects of this type. The survey concludes that the low investment is attributable to ignorance about the matter. Only 38% say they understand “completely” the “IoT”, while a majority, 57% say they understand “something”.
This is intended to be a list of some of the most popular open source platforms in the market, separated by the different fields of activity:
Hardware & Software Development Tools for IoT
1. Node-RED
Node-RED is a simple and open source visualization tool for the connection of devices for the Internet of Things. The tool, developed by IBM’s Emerging Technology department, allows you to connect, a hardware, an API or an online service. Node-RED provides a friendly user interface for developers to connect devices easily and quickly. Node-RED is developed on node.js, a server-side JavaScript platform widely used in IoT projects, and can be run in the cloud.
Node-RED could be used, for example, for the creation of a chat application using the Bluemix environment, the IBM cloud platform to build, manage and execute applications of all kinds. If you are a developer and you are interested in using Node-RED to create a chat app, read this tutorial. This is an example of the structure of the page in HTML, which contains a < div > that receives the chat messages and a footer with the sending fields. The entire process of handling the data is done through JavaScript language.
2. Kinoma Create
Kinoma Create is a device that allows the connection between devices without having too high programming knowledge in JavaScript. Kinoma Create already has everything necessary to start developing small IoT projects. Its fundamental components are
- A touch screen.
- An ARM SoC 800 MHz processor.
- Wireless connection via Bluetooth and WiFi.
- Several ports to connect peripherals, including a USB 2.0 port.
- A memory of 128 MB and a flash memory of 16 MB.
- A slot for a microSD card.
- Speaker and microphone.
- Linux distribution.
Kinoma Create is used for all types of projects: temperature, light or movement sensors can be connected for a specific purpose and receive notifications on the mobile phone when an alteration occurs. And have the ability to change light or temperature conditions from your own device.
On the Kinoma Create website there are many tutorials on the practical applications of this technology, with access to the development code uploaded on GitHub: with Kinoma Create you can develop a synthesizer (Kinoma provides the open source code for the development of the user interface), a camera trap (takes photos if an animal or object gets in the beam of a laser beam) or an automatic alarm bell that sounds to alert us of a situation.
3. Eclipse IoT
Eclipse IoT is an open source platform that allows the IOT development company to develop in Java of applications for the Internet of Things. Provides a group of open source technologies to connect and manage multiple devices in an IoT environment.
In addition, it supports some of the fundamental open standards for any Internet of Things solution: MQTT (a machine-to-machine connection protocol, CoAP (a protocol for easy connection of devices to the Internet) and Lightweight M2M ( a communication protocol between server and client that allows the transmission of data or the administration of sensors or mobiles).
Eclipse IoT offers gateway services to the Internet of Things to help developers manage both devices and IoT applications. Within this platform, programmers will have the Kura development framework, based on Java and OSGi, which implements services as important as:
- Administration of the connectivity in the cloud.
- Support for connection protocols between devices and servers.
- WiFi network configuration.
- Remote application and configuration and administration of devices.
Kura is not the only project, not even the only framework that allows the development of Eclipse IoT. There are other initiatives also interesting:
- Mihini is an open source development framework based on Linux environment. It provides an API for the development of machine-to-machine applications with a very short learning curve. The developments with Mihini use Lua as a programming language.
- OM2M implements the SmartM2M standard. It provides an M2M services platform for the development of independent services that allow the deployment of vertical applications and different types of devices. It has a REST API for machine authentication, application registration, synchronous and asynchronous communications, access management…
- Eclipse SCADA is a set of tools that provides libraries for the development of projects, both front-end and back-end, application interface… It is a scalable and fully customizable solution.
4. OpenHUB
As homes fill with devices, the need to connect them increases to enjoy a truly smart home experience. OpenHUB provides a platform for the integration of devices that, for obvious reasons, speak and communicate in totally different ‘languages’. How do you get it? With automation processes and unitary user interfaces.
- It can run on any device capable of running a Java Virtual Machine, either on a Linux, Mac or Windows operating system.
- Engine rules to meet the needs of automation.
- Several native user interfaces.
- Open source solution.
- Constant improvement through your community.
- It has APIs for its integration with other systems or platforms.
Exchange of information between applications and devices
5. IoTSyS
IoTSyS provides a communication system between devices based on IPv6 protocols and standards, 6LoWPAN, Constrained Application Protocol and Efficient XML Interchange. Its objective is to provide interoperability interfaces that allow connection between devices, for example sensor systems. The platform was initiated within the framework of the European research project IoT6 and is maintained by the Automation Systems Group of the Technological University of Vienna. Its utilities are diverse: connection of light and movement sensors in a shutter, air conditioning systems, acoustic alarm…
Operating systems
6.Contiki
Contiki is an open source operating system for Internet of Things systems. It allows the connection of 8-bit computer systems or integrated systems on microcontrollers, including sensor network nodes. It is used in the monitoring of noise, measurement of electrical energy, alarm systems, home automation, remote surveillance… It is based on protocols and standards such as IPv4, IPv6, 6lowpan, RPL and CoAP. Their characteristics are:
- Protocolos of execution
- Web navigator
- Web server
- TCP / IP connectivity
- Kernel multitasking
- Remote client using VNC (Virtual Network Computing)
7. RIOT
Its creators define it as “the friendly operating system for the Internet of Things”. RIOT is based on a microkernel architecture. It runs on 8, 16 and 32 bit hardwares and, through a native port, in both Linux and Mac OS environments. It allows the development of applications through a standard programming in C and C ++ languages. It is under an LGPL license.
8. TinyOS
TinyOS is an open source operating system for wireless sensor networks. It is written in programming language nesC, a dialect of C syntax optimized to avoid the problems derived from the memory limitations that exist within sensor networks. TinyOS is a joint project of the University of Berkeley and Intel. There are tools and libraries in C or Java that increase their functionalities and use opportunities.
9. Brightness
Brightness is the open source Google operating system for wearable connection in the Internet of Things, based on the Weave communication language, a common system that would allow all devices to speak and communicate in the same ‘language’. In this case, it would not be necessary for the devices to run Android.
The goal of Google with Brightness and Wave is to create a true Internet of Things, where each and every one of the devices can be really connected: appliances, sensor networks, mobile or electrical devices.
Conclusion
So, it seems that we are going to a world in which everything and even the most unsuspected (a bottle) is permanently connected to the Internet That will be generating data and information that can be used, analyzed and exploited to make more efficient use of resources of the supply chain and the competitiveness of companies and cities.
If you want your applications to take advantage and impact the way in which everyone experiences the world around them then you should focus your developments on the creation of “connected applications” when you hire an IOT developer.