The goals of the Eclipse Agail project can be summarised as follows:
- Provide a design and hardware specifications for a modular RaspberryPi hat (shield) that hosts various sensors and provides Xbee sockets for hosting wireless communication modules;
- Provide a modular architecture for implementing IoT Gateways through building blocks that feature communication with IoT devices, data collection, local storage and processing, with focus on data ownership and device interoperability;
- Provide IoT application developers with the Agail API, a generic API offering services for device discovery, communication, data management (local and cloud storage), data processing and remote gateway management, accessible as a RESTful interface;
- Provide a language-agnostic framework based on containers to implement IoT Gateway services around Agail API (based on DBus), allowing to reuse and integration of existing best-in-class IoT open source packages for device communication using standard IoT protocols (BLE, ZigBee, LoRa, TCP/IP, etc.), user interfaces for device and data management;
- Provide gateway management components (for managing connected IoT devices and enabled IoT/M2M protocols, installed applications and components, resource management, etc.);
- Deliver reference implementations of the building blocks in a containerized form to simplify deployment and delivery of services and applications on the gateway that implement the core features of the Agail : communication with commercial wireless and wired IoT devices, protocol support (Thread, IoTivity, etc.), local data management and visualization, local and remote gateway management, application workflow design and execution, data exchange and application deployment on external clouds.