2013-10-26 00:19:08 +08:00
|
|
|
# Cylon.js
|
2013-10-18 14:55:48 +08:00
|
|
|
|
2013-10-26 00:11:58 +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
|
|
|
|
2013-10-26 00:11:58 +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
|
|
|
|
2013-10-26 00:11:58 +08:00
|
|
|
work: function(my) {
|
2013-10-20 08:53:53 +08:00
|
|
|
// we do our thing here
|
2013-10-26 00:11:58 +08:00
|
|
|
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-23 05:18:31 +08:00
|
|
|
name: 'arduino'
|
|
|
|
adaptor: 'firmata'
|
|
|
|
port: '/dev/ttyACM0'
|
|
|
|
|
|
|
|
device:
|
|
|
|
name: 'led'
|
|
|
|
driver: 'led'
|
|
|
|
pin: 13
|
|
|
|
|
2013-10-26 00:11:58 +08:00
|
|
|
work: (my) ->
|
2013-10-20 08:53:53 +08:00
|
|
|
# we do our thing here
|
2013-10-26 00:11:58 +08:00
|
|
|
every 1.second, -> my.led.toggle
|
2013-10-20 08:53:53 +08:00
|
|
|
|
2013-10-20 11:31:29 +08:00
|
|
|
robot.start
|
2013-10-18 14:55:48 +08:00
|
|
|
```
|
|
|
|
|
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.
|