Eclipse IoT is an ecosystem of entities (industry and academia) working together to create a foundation for IoT based exclusively on open source technologies. Their focus remains in the areas of producing open source implementations of IoT standard technology; creating open source frameworks and services for utilization in IoT solutions; and developing tools for IoT developers.
SmartHome is one of Eclipse IoT's major services. It aims to create a framework for building smart home solutions, and its focus remains heterogeneous environments, meaning assorted protocols and standards integration.
SmartHome provides uniform device and information access to facilitate interaction between devices. It consists of OSGi bundles capable of deployment in an OSGi runtime, with OSGi services defined as extension points.
OSGi bundles are Java class groups and other resources, which also include detailed manifest files. The manifest contains information on file contents, services needed to enhance class behavior, and the nature of the aggregate as a component. Review an example of a manifest below −
Bundle-Name : Hi Everyone // Bundle Name Bundle-SymbolicName : xyz.xyz.hievery1 // Header specifying an identifier Bundle-Description : A Hi Everyone bundle // Functionality description Bundle-ManifestVersion : 2 // OSGi specification Bundle-Version : 1.0.0 // Version number of bundle Bundle-Activator : xyz.xyz.Activator // Class invoked on bundle activation Export-Package : xyz.xyz.helloworld;version = "1.0.0" // Java packages available externally Import-Package : org.osgi.framework;version = "1.3.0" // Java packages needed from // external source
Eclipse SCADA, another major Eclipse IoT service, delivers a means of connecting various industrial instruments to a shared communication system. It also post-processes data and sends data visualizations to operators. It uses a SCADA system with a communication service, monitoring system, archive, and data visualization.
It aims to be a complete, state-of-the-art open source SCADA system for developing custom solutions. Its supported technologies and tools include shell applications, JDBC, Modbus TCP and RTU, Simatic S7 PLC, OPC, and SNMP.