The Aquila Platform consists in:
- Altair devices
- Hub graphical interface
- The Aquila protocol that binds them together
Altair is an Arduino-compatible development board, It features an ATmega256RFR2 microcontroller with embedded 802.15.4 wireless communication.
Each Altair has a unique EUI-64 Address and can communicate with others directly using the Aquila protocol, designed to simplify interaction using Events and Actions.
When programming an Altair, you can define Actions and Events easily using the Aquila libraries directly in the Arduino IDE, this way you can use the same code that you would use in Arduino, and with just a few extra lines of code your devices will be interacting with each other.
Actions are defined as functions. When your device is detected in the Web UI, you will be able to make these actions happen with just pressing a button.
Events are given a name and then you can emit them anywhere in your code. for example, when a push button is pressed, you could emit the "Button Pressed" event, then in the Web UI you could connect that event to the "Turn On" Action of a lamp.
We are using a decentralized p2p mesh network, that means that if a device goes down, even the Hub, the rest of the devices will continue working and interacting normally as configured.
The Hub is a web-based graphical interface, it is built upon node.js and web sockets. The server can run in your PC, or in a dedicated device such as a Raspberry Pi, and you can access it from any modern web browser and mobile device.