cylon/README.md

79 lines
2.1 KiB
Markdown
Raw Normal View History

2013-10-26 00:19:08 +08:00
# Cylon.js
2013-10-18 14:55:48 +08:00
Cylon.js (http://cylonjs.com) is a JavaScript framework for robotics and physical computing using node.js
2013-10-24 11:31:02 +08:00
It provides a simple, yet powerful way to create solutions that incorporate multiple, different hardware devices at the same time.
2013-10-18 14:55:48 +08:00
Want to use Ruby on robots? Check out our sister project Artoo (http://artoo.io)
2013-10-26 00:19:08 +08:00
[![Build Status](https://secure.travis-ci.org/hybridgroup/cylon.png?branch=master)](http://travis-ci.org/hybridgroup/cylon)
2013-10-18 14:55:48 +08:00
## Getting Started
2013-10-23 05:18:31 +08:00
2013-10-18 14:55:48 +08:00
Install the module with: `npm install cylon`
2013-10-20 08:56:00 +08:00
## Examples
2013-10-23 05:18:31 +08:00
**Note:** before running examples in the `examples/` dir, make sure to compile
the source with `grunt coffee` first.
### Javascript:
2013-10-18 14:55:48 +08:00
```javascript
2013-10-24 11:07:35 +08:00
var Cylon = require("cylon");
2013-10-23 05:18:31 +08:00
2013-10-20 08:53:53 +08:00
// Initialize the robot
2013-10-24 11:07:35 +08:00
var robot = Cylon.robot({
2013-10-20 08:56:49 +08:00
connection: { name: 'arduino', adaptor: 'firmata', port: '/dev/ttyACM0' },
device: { name: 'led', driver: 'led', pin: 13 },
2013-10-23 05:18:31 +08:00
work: function(my) {
2013-10-20 08:53:53 +08:00
// we do our thing here
every((1).second(), function() { my.led.toggle(); });
2013-10-20 08:53:53 +08:00
}
});
// start working
2013-10-20 11:31:29 +08:00
robot.start();
2013-10-18 14:55:48 +08:00
```
2013-10-23 09:33:54 +08:00
### CoffeeScript:
2013-10-18 14:55:48 +08:00
```coffee-script
2013-10-24 11:07:35 +08:00
Cylon = require "cylon"
2013-10-23 05:18:31 +08:00
2013-10-20 08:53:53 +08:00
# Initialize the robot
2013-10-24 11:07:35 +08:00
robot = Cylon.robot
2013-10-20 08:53:53 +08:00
connection:
2013-10-26 15:26:02 +08:00
name: 'arduino', adaptor: 'firmata', port: '/dev/ttyACM0'
2013-10-23 05:18:31 +08:00
device:
2013-10-26 15:26:02 +08:00
name: 'led', driver: 'led', pin: 13
2013-10-23 05:18:31 +08:00
work: (my) ->
2013-10-20 08:53:53 +08:00
# we do our thing here
2013-10-26 15:26:02 +08:00
every 1.second(), -> my.led.toggle()
2013-10-20 08:53:53 +08:00
2013-10-26 15:26:02 +08:00
robot.start()
2013-10-18 14:55:48 +08:00
```
## Hardware Support
2013-10-26 15:09:47 +08:00
Cylon.js has a extensible system for connecting to hardware devices. The following robotics and physical computing platforms are currently supported:
- [Arduino](http://www.arduino.cc/) <=> [Adaptor](https://github.com/hybridgroup/cylon-firmata)
- [Sphero](http://www.gosphero.com/) <=> [Adaptor](https://github.com/hybridgroup/cylon-sphero)
More platforms are coming soon!
2013-10-21 05:11:58 +08:00
## Documentation
_(Coming soon)_
2013-10-18 14:55:48 +08:00
## Contributing
2013-10-23 05:18:31 +08:00
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](http://gruntjs.com/).
2013-10-18 14:55:48 +08:00
## Release History
_(Nothing yet)_
## License
2013-10-19 13:32:23 +08:00
Copyright (c) 2013 The Hybrid Group. Licensed under the Apache 2.0 license.