0ae37390fe | ||
---|---|---|
dist | ||
examples | ||
src | ||
test | ||
.gitignore | ||
.jshintrc | ||
.travis.yml | ||
CONTRIBUTORS.md | ||
Gruntfile.js | ||
LICENSE | ||
README.md | ||
package.json |
README.md
Cylon.js
Cylon.js (http://cylonjs.com) is a JavaScript framework for robotics and physical computing using node.js
It provides a simple, yet powerful way to create solutions that incorporate multiple, different hardware devices at the same time.
Want to use Ruby on robots? Check out our sister project Artoo (http://artoo.io)
Getting Started
Install the module with: npm install cylon
Then install modules for whatever hardware support you want to use from your robot. For example, npm install cylon-firmata
to use Cylon with an Arduino using the Firmata protocol.
Examples
Note: before running examples in the examples/
dir from source, make sure to compile using grunt coffee
first.
Javascript:
var Cylon = require("cylon");
// Initialize the robot
var robot = Cylon.robot({
connection: { name: 'arduino', adaptor: 'firmata', port: '/dev/ttyACM0' },
device: { name: 'led', driver: 'led', pin: 13 },
work: function(my) {
// we do our thing here
every((1).second(), function() { my.led.toggle(); });
}
});
// start working
robot.start();
CoffeeScript:
Cylon = require "cylon"
# Initialize the robot
robot = Cylon.robot
connection:
name: 'arduino', adaptor: 'firmata', port: '/dev/ttyACM0'
device:
name: 'led', driver: 'led', pin: 13
work: (my) ->
# we do our thing here
every 1.second(), -> my.led.toggle()
robot.start()
Hardware Support
Cylon.js has a extensible system for connecting to hardware devices. The following robotics and physical computing platforms are currently supported:
Support for many devices that use General Purpose Input/Output (GPIO) have a shared set of drivers provded using the cylon-gpio module:
Support for devices that use Inter-Integrated Circuit (I2C) have a shared set of drivers provded using the cylon-i2c module:
More platforms and drivers are coming soon...
Documentation
We're busy adding documentation to our web site at http://cylonjs.com/ please check there as we continue to work on Cylon.js
Thank you!
Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.
Release History
Version 0.1.0 - Initial release for ongoing development
Version 0.2.0 - Cylon.Basestar to help develop external adaptors/drivers
Version 0.3.0 - Improved Cylon.Basestar, and added API
Version 0.4.0 - Refactor proxy in Cylon.Basestar, improve API
License
Copyright (c) 2013 The Hybrid Group. Licensed under the Apache 2.0 license.