Skip to content
deinhofer edited this page Jan 24, 2017 · 22 revisions

#AsTeRICS Building Blocks

On this page you will find information about the AsTeRICS-related Building Blocks provided for the P4All project!

The Assistive Technology Rapid Integration and Construction Set (AsTeRICS) offers a flexible framework for Assistive Technologies (AT), which can be adapted to the individual abilities of users. AsTeRICS is intended to ease access to different devices such as personal computers, cell phones and smart home devices via one single platform which offers many different input methods. One input method that works well for a user may be used in different contexts – e.g. the same method for accessing the computer mouse function may be used to operate the home stereo. The various capabilities of the AsTeRICS system include PC input device emulation, game control, environmental control applications and utilization of embedded devices. AsTeRICS provides an affordable system for developing user driven AT by combining sensors like webcams, accelerometers, digital switches, sip/puff sensors and special mice/joysticks with basic actuators enabling mouse emulation or homecontrol.

In the course of P4All (Prosperity-for-All) project which is partially fundend by the European Commission under the 7th Framework Program, a mechanism has been developed to deploy a set of desired AsTeRICS components (so-called Building Blocks). In contrast to the original, fully-featured AsTeRICS framework, tailored setups can be created with the most permissive license and with lowest system resource consumption for the desired use cases. For this, a special deployment tool APE has been developed, which determines the necessary building blocks for a set of use-cases (AsTeRICS models). This page provides a general overview of the involved tools and technologies.

##Involved Technologies and Configruation Steps

The following section explains several important concepts to understand and use the AsTeRICS framework as a whole or individual components in particular.

ACS

The AsTeRICS Configuration Suite is a graphical editor for easy building and adapting “Assistive Technologies”. For this purpose you use sensors, actuators and processors, which are included in the software. You can connect these elements and build your own individual setup (also called a “model”), which is specially adapted for your needs, easily and fast.

ACS Editor

For more information on the ACS please refer to the AsTeRICS User Manual.

ARE

The AsTeRICS Runtime Environment is the basic software framework for all AsTeRICS applications and use-cases. The models built in the ACS will run in the ARE. The ACS can be seen as a configuration program for the ARE.

Definition Plugin, Port and Event

The AsTeRICS Construction Set consists of many different plugins, where some of them could be interesting for integration into other assitive applications or software frameworks. These particular plugins have been described in the P4ALL Developer Space Repository, and dedicated deployment setups and demos have been prepared in the P4All Building Blocks repository. A plugin can send and receive data via it's output and input ports. This data can be a continous flow of individual values (standard data types are supported: integer, string, boolean, double.) Furthermore, particular Events can be sent or received by plugins via the Event Trigger and Event Listener ports. An Event Listener port waits for an incoming event and can initiate a particular action in the plugin. An Event Trigger port can be used to send an event from the plugin to another one. The internal configuration parameters of a plugin can be influenced via the plugin properties (which define eg. the mode of operation, a threshold value, or a filename parameter). When used inside the ARE framework, interconnected and configured plugins constitute the overall functionality of the AsTeRICS model. More information can be found in the AsTeRICS User Manual.

Generic Websocket Data Interface

In the course of P4All, a generic bidirectional data interface through a websocket will be provided. Using this interface, sensor data can be forwarded to a browser or another application to visualize the data or trigger actions. Vice versa an application can send data into the AsTeRICS system - for example to trigger actuators like a home control appliance.

The exact details of the interface are still to be defined and could be adapted to special requirements of implementers if necessary.

##Potential Use Cases

###Flexible input modalities for existing applications:

  • Use a webcam for tracking of face movements to control a computer's mouse cursor
  • Use a sip/puff sensor to create mouse clicks or keyboard input
  • Use Arduino microcontrolles for interfacing switches or sensors
  • Use any joystick, keyboard, special mouse or special AT device in combination with other sensors
  • Use EEG/EMG/EEG biosignal acquisition devices like OpenEEG or OpenBCI to trigger actions

Home automation

  • Switch on/off lights using KNX, EnOcean, FS20, ...
  • Control TV/Stereo via universal infrared remote
  • Interface generic devices via Arduino microcontroller
  • Remote control toys
  • and many more !

Operating Systems

  • Windows XP, Vista, 7, 8, 10
  • A reduced subset will be available on Linux including Raspberry Pi and Mac OSX

Languages/Libraries

  • Java (JRE-Version 7,8; 32-bit)
  • native libraries
  • Eclipse Equinox OSGI

User Interface

  • Java Swing based UI-elements including buttons, sliders, cellboard, text boxes, edit boxes, bar graphs, ...

License

Originally, the AsTeRICS Runtime Environment (ARE) was licensed under GPLv3. For usage within the P4ALL/GPII project, the ARE and dedicated building blocks were relicensed a dual-licensing concept using either the MIT License or the GNU General Public License version 3 with CLASSPATH exception. Nevertheless some plugins are still GPLv3. Read the full license text here.

How to apply the dual licensing

You may use these components under the terms of the MIT License, if no source code (plugins, services, libraries, ...) which is contained in your desired collection of plugins and services is licensed under the GNU General Public License (GPL). In order for that, you can remove unneeded plugins or services.

If your desired collection of plugins and services contains source code which is licensed under the GNU General Public License (GPL) the whole work must be licensed under GPL (see GPL v3 license text).

Please note: There are also some plugins (e.g. MathEvaluator, VLC) which are GPL without CLASSPATH exception, so in this case your license would have to be GPL as well.

Please have a look at the individual licenses of the AsTeRICS plugins and services. You find the license files in the subfolder LICENSE of every plugin or service.