An RPC-like binary protocol
, resident firmware
, and popular language bindings
for remote programmatic
access to AVRs and Arduinos.
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.
Linux, Windows, OS XConnection:
USART, virtual COM port, TCP/IPCompiling:
msgpack, avr-gccNote: 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.
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
Farther Development Team:
farther-dev (at) avr-firmware (dot) net