Eclipse is perhaps not the first tool that strikes the mind when thinking about the Internet of Things (IoT) project. Why? Because, the widely known Eclipse IDE facilitates development of web applications. In this article, we will discuss how Eclipse is advancing IoT development.
The modern digitalized scenario highlights the important role Eclipse plays in IoT development. It currently handles 28 projects that address a wide range of IoT needs. So, let’s have a glance at how Eclipse is advancing IoT development rapidly:
Implementation of IoT in Automation
IoT is different from traditional industrial automation. Although in the past several decades, sensors and equipment have been connecting factories, there are still a lot of factories that are yet to be connected.
In addition, even factory technologies like SCADA systems are very proprietary and isolated. It is difficult to change, also hard to adapt to this.
Right now, when you set up the production cycle, you have to make millions of units of a product. What the manufacturers want to do primarily is to meet consumer demand. For doing so, you require extremely flexible and automated manufacturing processes. This is where IoT finds its massive implementations.
IoT Protocols Associated with Eclipse
Amongst the many IoT protocols or M2M communication currently in use, the two most important ones are the MQTT and CoAP. So, let’s learn about them more.
Message Queue Telemetry Transport (MQTT) is a hugely successful IoT protocol and widely adopted. Eclipse Mosquitto is an MQTT broker. And the client of MQTT is Eclipse Paho.
MQTT provides flexible patterns of communication and serves as a pipe for binary data. It is exclusively for lightweight IoT/ M2M communications.
Constrained Application Protocol (CoAP) is an open standard like MQTT. Eclipse implement this protocol in Eclipse Californium and Eclipse Leshan projects.
In the case of lightweight applications, CoAP utilizes User Datagram Protocol and helps in reducing storage space. CoAP is highly suitable for inter-operability of the web.
Eclipse is Advancing IoT Development
Every IoT solution requires basic technology. Through open-source; anyone can use it for wider adoption. Eclipse considers IoT as composed of three connected software stacks.
At a higher level, these stacks reflect the view that IoT can generally be described as an expansion of these three layers. A given implementation could have more layers. But in general, it still maps the functions of this three-level model:
- A software stack for application-specific end-nodes like MCUs or sensors.
- Some kind of gateway that aggregates and sends data from the various sensors to the network. This layer can also take action on the basis of what the sensors are observing in real-time.
- A backend IoT platform software stack. This backend stores cloud data and can provide collected data-based services such as historical trends analysis and predictive analytics.
While developing a solution within these architectures, we must create specific things. But there are many fundamental technologies that can be used, for instance, messaging protocols, gateway services, etc.
It must be a modular solution to scale up to the various cases of use that are out there. This encapsulates the IoT activities of Eclipse. Hence, this facilitates the creation of modular open source modules that can be used to build a variety of business-specific services and solutions.
Eclipse IoT Development Projects
Following are given a detailed description of some of the important Eclipse IoT development projects:
1. Eclipse HawkBit
One of the most interesting projects is the Eclipse hawkBit. It handles software updates. From a security perspective, you have a huge security hole if you can’t upgrade your app.
Many IoT protection failures are associated with systems that have not been modified. Certainly, HawkBit handles the backend of how you upgrade the IoT framework with scalability.
2. Eclipse Kura
Eclipse Kura is an IoT gateway. It provides north and south-bound communications for different protocols including Bluetooth, Modbus, CAN and integrated OPC architecture, with more and more frequent connectivity.
The advantage is that instead of writing your own connection, Kura provides this and then connects you to the network via satellite, Ethernet or by some other means. In addition, it controls the configuration of firewalls, network latency, and other functions. If the network fails, it will store the messages until it restores.
3. Eclipse Kapua
A new entrant, Eclipse Kapua is embarking with a micro-services approach. It aims at delivering various IoT cloud platform services. For example, it deals with aspects of connectivity, integration, management, storage, and analysis. It is not yet deployed, but Eurotech and Red Hat are very active in it.
Why IoT Suit Eclipse Well?
One of the developments witnessed in IoT growth has been the building blocks. Those are incorporated and implemented to address specific business problems, rather than monolithic IoT frameworks. The latter extends throughout industries and businesses.
It is compatible with Eclipse’s approach to the Internet of things. It focuses mainly on brokers, gateways, and protocols combining several modular stacks, projects with specific and frequently used functions, and elements required for a specific implementation.
Future Aspect of IoT and Eclipse
In fact, software maintenance in IoT systems is one of its biggest security challenges. IoT devices are not always connected and can be different. Moreover, limited system upgrade processes can be difficult to get correct consistently. Because of this, IoT software upgrading initiatives are likely to be important in the future.
Eclipse Community for IoT
The Eclipse IoT community makes Java developer’s life easy in adding and managing devices in an IoT project. An open IoT stack for Java was provided for this. Being open-source, the Java Open IoT stack eases out the development of IoT by allowing reuse of service tools like frameworks in their IoT projects.
To sum up, the Eclipse Foundation will surely give companies the freedom and flexibility to make use of IoT today. And help them to continue with their IoT strategy as new capabilities emerge and business objectives evolve.