farther
An RPC-like binary
protocol, resident
firmware, and popular
language bindings for
remote programmatic access to AVRs and Arduinos.
Project Description
An AVR/Arduino runs the farther firmware that listens on an interface like the USART, virtual COM port, etc and executes code programmed on a remote host.
This project consists of three primary components:
- AVR firmware that is loaded onto an AVR or Arduino
- Language bindings that you use on the remote host to control the AVR
- The protocol used between the language host and the AVR
The idea is that you have an AVR/Arduino running the farther firmware that listens for protocol packets on some interface, such as the USART, virtual COM port, or TCP/IP connection. On the remote host, you write a program in one of the supported languages for which there is a binding (see below for currently supported language bindings), and then execute your code and view the results on your AVR/Arduino remote system. The remote AVR-based system might be a wireless sensor, PC-connected arduino with LEDs, intelligent home automation 'ware' (a la Open Housewares
http://www.openhousewares.com), a remote servo-supported robotic project, or anything you can imagine that you want to control remotely and programmatically.
Requirements
AVR: ATmega, ATtiny
Host: Linux, Windows, OS X
Connection: USART, virtual COM port, TCP/IP socket, pipe, shared memory, USB
Compiling: msgpack, avr-gcc
Note: If you would like support for the XMEGA or another language binding please let us know your interest at the contact email below or by leaving a post on the forums, also listed below.
Language Bindings
Currently, there is support for bindings in AVR asm, C/C++, C#, D, and JavaScript.
Support
Home Page: http://farther.avr-firmware.net/ <still under construction>
Wiki Pages: http://wiki.opendesignstrategies.org:8040/display/FARTHERJIRA Issues and Feature Requests: http://jira.opendesignstrategies.org:8080/browse/FARTHERCommunity Forums: http://www.avr-firmware.net or use these
http://farther.codeplex.com/discussions
Contact
Farther Development Team: farther-dev (at) avr-firmware (dot) net
