Eliot

From Eliverse Wiki
Jump to: navigation, search

Overview

Eliot is an open-source Internet of Things project that aims in providing necessary software and hardware to be used in:

  • Smart Home Applications
  • Disaster Life-Support
  • Smart City Applications
  • Smart Agriculture

Components

Eliot offers software and hardware platform that fits most of your IoT scenarios.

Project has two parts tightly connected to each:

  • Soft-Eliot
    • Server application for connecting, controlling and gathering data from IoT devices
    • Mobile application for smart control and monitoring
    • Embedded Software for IoT devices
  • Hard-Eliot
    • Hardware platform for IoT devices
    • Sensors for IoT devices
    • Actuators for IoT devices
    • Controllers for IoT devices

Architecture

Form Factor

Eliot uses a modular approach to IoT applications. Modules consist of Master, Communication, Input and Output controllers. Eliot can be easily extended by simply adding modules using 15 Pin generic interconnection outputs. Up to 128 modules can be connected to Master. These modules can be input sensors like gas, temperature, humidity or output controllers like relays, R-G-B led drivers, infrared remote controllers or even displays. Figura 1A is a description of how to extend Eliot by adding modules to master to meet the requirements.

Figure 1A

Under the Hood

Eliot uses ESP-12E based 80 Mhz MCU with builtin Wifi and 4MB EEPRom. All other modules are based on ATMEL microcontrollers thus, it is quite easy to develop new firmwares with the SDK provided.

Figure 1B

Sample PCB and Assembly

Figure 1C

Software

Eliot uses variety of programming languages. These are:

  • Java (Server Application)
  • Bash Script (Server Management)
  • Javascript (Server Application Frontend)
  • C, C++ (Atmega AVRs used on peripherals and NodeMCU Core)
  • Lua (Mother Module)

If you are willing to participate in development, you should have thorough understanding of the languages listed above. However, if you are only interested in using Eliot in your projects, no skill required at all (in case you are going to use cloud servers offered by Eliot, if you want to use servers on premise, you need to have a good knowledge of managing linux servers.)