Crazyflie
Repository| Issues
You can use Cylon.js with the Crazyflie micro-quadcopter.
This module provides an adaptor and drivers for the Crazyflie nanocopter. It uses the Aerogel node module, created by @ceejbot.
How to Install
Dependencies
On Linux, you need to install some packages before you can install the NPM module:
$ sudo apt-get install build-essential pkg-config libusb-1.0-0-dev
And on OS X, you need to have the libusb
package to install the module:
$ brew install libusb
Install the module with:
$ npm install cylon cylon-crazyflie
You will also need to install the latest beta firmware to the Crazyflie itself to use the 'hover' mode: https://bitbucket.org/bitcraze/crazyflie-firmware/downloads/Crazyflie_2014.01.0.bin.
How to Use
This small program causes the Crazyflie to takeoff for 10 seconds.
var Cylon = require('cylon'); Cylon.robot({ connections: { crazyflie: { adaptor: 'crazyflie', port: 'radio://1/10/250KPS' } }, devices: { drone: { driver: 'crazyflie' } }, work: function(my) { my.drone.takeoff(); after((10).seconds(), function() { my.drone.land(); }); after((15).seconds(), function() { my.drone.stop(); }); } }).start();
Hover Mode
my.drone.setParam('flightmode.althold', true);
How to Connect
The Crazyflie uses a 2.4 GHz radio to communicate. There is a USB dongle called the Crazyradio that is required to control the Crazyflie quadcopter.
If you are have a USB 3.0 port, you might run into this issue:
http://stackoverflow.com/questions/17204253/crazyflie-usb-3-0-incompability.
Ubuntu
You need to install some udev-rules to be able to communicate with the crazyflie, it is a good thing that we have a Gort command that does just that:
$ gort crazyflie set-udev-rules
Drivers
There is currently only one driver for the Crazyflie, as listed below.