Get all the news you need about Smart Buildings with the Memoori newsletter
This week saw the launch of the Eclipse Edje open source project by MicroEJ. Edje will define a set of software application programming interfaces (APIs) required to deliver Internet of Things (IoT) services that meet the performance and memory constraints of microcontroller-based devices.
Edje also will provide ready-to-use software packages for targeted hardware that developers can get from third parties for quick and easy development of IoT device software and applications.
“Eclipse Edje provides a foundation for deploying IoT frameworks and standards on cost-effective, resource-constrained hardware. Hosting the Edje project at Eclipse ensures that the full stack is available from the same source and is properly integrated”, said Mike Milinkovich, Executive Director of the Eclipse Foundation. “Being part of Eclipse, the Edje project can expect quicker and broader adoption in the industry, through open source, and by leveraging the Eclipse community and ecosystem”.
The Eclipse IoT community has been growing steadily, finishing 2014 with 14 individual projects and incorporating an additional five in 2015. Last year’s projects included 4DIAC, which provides an open-source infrastructure based on the IEC 61499 standard, in order to help individuals build distributed industrial and automation systems.
TinyDTLS also joined Eclipse from SourceForge in 2015. DTLS allows secure UDP communications, while TinyDTLS is a C-based implementation that is very lightweight and ideal for smart building security and IoT applications.
The community continues to grow in 2016. This week at EclipseCon Microsoft announced that they are joining the Eclipse foundation as a Solutions member. Microsoft already delivers a number of Eclipse based tools today; the Azure Toolkit for Eclipse and the Java SDK for Azure can be used to build cloud applications that can run on Azure, and the Team Explorer Everywhere plug-in allows developers to work with the Visual Studio Team Services from within the Eclipse IDE.
In addition, Microsoft is getting into IoT support by adding Azure IoT support to Eclipse Kura, so that IoT gateways can connect to applications running in the Azure platform.
“Connecting to the cloud many different devices of various form factors, powered by eclectic platforms running apps developed in random languages to build an advanced end-to-end IoT solution seems, and often is, as complicated as this sentence is long”, said Senior Program Manager of Azure IoT, Oliver Bloch.
The membership of Microsoft in the Eclipse Foundation highlights their deep commitment to cross-IDE support for their tooling. “Modern applications require varied tools and languages to address multiple platforms and form factors. Often, different tools are used by teams to plan, code, build, track, test, deploy, and monitor”, explained Dave Staheli, Software Engineering Manager of the Visual Studio Team Services.
“By building plugins for different IDEs that integrate with a common set of team services, developers can use diverse tools to participate in the same team activities. We’ll share experiences in reusing code across plugins for different IDEs, give demos with Eclipse, IntelliJ, and Visual Studio, and discuss technologies on the brink of making this even easier”, said Staheli.
Microsoft’s involvement further strengthens the investment in cross-platform development, and their membership in the Eclipse Foundation formally recognises their commitment to Eclipse and Java developers. “We’re looking forward doing more with the Eclipse community going forward”, Staheli stated.
The edge devices connected to the cloud that constitute the IoT, require support for building blocks, standards and frameworks like those provided by the Eclipse Foundation’s projects. Due to the large deployment of Java technology in the cloud, on PCs, on mobile devices and servers, most projects above are implemented using the Java language. Deploying these technologies on embedded devices requires a scalable IoT software platform that can support the hardware foundations of the IoT.
The goal of Eclipse IoT’s new Edje project is to accelerate the development and deployment of IoT. The Edje project will ensure that applications developed for Edje APIs will run across hardware suitable for IoT deployment. Eventually, Edje will provide ready-to-use reference implementations for available hardware and software platforms. The project will deliver a standard library called hardware abstraction layer (HAL) for accessing hardware features delivered by micro controllers.
To achieve this goal, Edje also will define the minimal set of APIs required for delivering IoT services, leveraging widely-deployed technologies, and meeting performance and memory constraints of IoT embedded devices. With more than 22,000 downloads a month, up from 1,200 a year ago, it’s evident that Eclipse projects are receiving a lot of interest, and that an increasing number of people are favouring them to build their IoT solutions.