Eclipse Edje project: the software foundation for IoT devices - Eclipse IoT Day Grenoble 2016
The edge devices connected to the Cloud that constitute the Internet of Things (IoT) require support for building blocks, standards and frameworks like those provided by the Eclipse Foundation projects: Californium, Paho, Leshan, Kura, Mihini, etc. Because of the large deployment of Java technology in the Cloud, on the PC, mobile and server sides, most projects above are implemented in Java technology. Deploying these technologies on embedded devices requires a scalable IoT software platform that can support the hardware foundations of the IoT: microcontrollers (MCU). MCU delivered by companies like STMicroelectronics, NXP+Freescale, Renesas, Atmel, Microchip, etc. are small low-cost low-power 32-bit processors designed for running software in resource-constraint environments: low memory (typically KB), flash (typically MB) and frequency (typically MHz). The Edje project defines a standard high-level Java API called Hardware Abstraction Layer (HAL) for accessing hardware features delivered by microcontrollers such as GPIO, DAC, ADC, PWM, etc. that can directly connect to native libraries, drivers and board support packages provided by silicon vendors with their evaluation kits. This talk aims at presenting the packages and API that constitute the core of Edje, defining the minimal foundation that iot.eclipse.org projects can rely on, and still compatible with economical constraints of the IoT: footprint.