User Tools

Site Tools


project:member:dormant:aiko

Aiko

Aiko now has progressed to the point it is a stand-alone project, and has it own web-site and Google Group for email … specifically for hardware/software documentation and discussions.

Description

A small modular, event-driven framework for structuring Arduino sketches, such that individual device drivers can be easily componentized and combined into a single application. The goal is to be able to use Aiko in either standalone “high-performance” Arduino applications or in broader distributed networks utilizing many Ardunios (and other embedded devices).

The motivation for Aiko came from two observations …

  1. A large number of existing Arduino examples used delay loops and weren't designed to be modular. This meant that combining example code fragments often required a complete re-write of the original example code.
  2. The original usage of the Arduino platform didn't place a high priority on accuracy and precision of real-time event handling, or communications with multiple Arduinos and multiple host computer systems.

These issues are particularly problematic when there is a desire to share and/or re-use component-based software. Especially in more demanding applications like rocketry avionics or robust home automation systems.

The intended outcome is that Aiko will provide a means by which HackerSpace members can create and share high-quality, modular code for embedded devices and applications. A more detailed description can be found on the Aiko web page.

A simple example

#include <AikoEvents.h>
using namespace Aiko;

byte status = LOW;

void setup() {
  pinMode(13, OUTPUT);
  Events.addHandler(blink, 1000); // Every 1000ms
}

void loop() {
  Events.loop();
}

void blink() {
  digitalWrite(13, status);
  status = ! status;
}
  • Aiko source code repository (GitHub)
  • Arduino and Aiko description (geekscape.org)

Usage

  • Practical Arduino projects, e.g. TimeLapseControllerAiko
  • Smart Energy Groups (Home Energy Manager) - API demonstration using Arduinos
project/member/dormant/aiko.txt · Last modified: 2015/05/04 00:35 by 114.76.61.181