Page 1 of 1

Bluetooth capabilities

Posted: Mon Apr 04, 2016 7:09 pm
by pchinjr
Hi, does anyone know if the bluetooth radio is capable of sending the sensor data from the crazyflie 2.0? I have seen how much information the Crazy PA radio can send and receive, and am hoping that bluetooth can do it as well.

So far I have found the documentation here: https://wiki.bitcraze.io/doc:crazyflie:ble:index and have found a couple of pieces of code to run the CF2 on bluetooth with a mac that I have working in Node.js

https://github.com/amfio/crazyflie2-ble and https://github.com/ppossemiers/crazyflie-ble

This is a really cool piece of hardware and I look forward to learning more about bluetooth as I go along.

Re: Bluetooth capabilities

Posted: Mon Apr 04, 2016 7:44 pm
by arnaud
Hi, the bluetooth link is running the same protocol as Crazyradio so you can use the log subsystem to get sensor data from Crazyflie 2.0. The second project you linked (https://github.com/ppossemiers/crazyflie-ble) seems to implement log. Since there is not generic way, that I know of, to implement BLE in python there has not been any effort to implement BLE in python yet.

One note: BLE will not accept as much data transfers as Crazyradio. It can be made better by changing the connection interval there: https://github.com/bitcraze/crazyflie2- ... .c#L53-L54. The minimum acceptable value is 7.5 and would increase the amount of data possible to be logged (when it is set at 7.5, iPhones refuses to connect the Crazyflie, this is why it is currently set so high).

Re: Bluetooth capabilities

Posted: Mon Apr 04, 2016 11:43 pm
by pchinjr
Awesome, thanks for taking the time to reply. I want to state the obligatory "I am new to all kinds of development" statement, so everything is helpful. I only know a little bit of JavaScript at this point, and I want to see what I can learn out by making BLE work on a macbook.

Re: Bluetooth capabilities

Posted: Tue Apr 05, 2016 7:28 am
by arnaud
Hi, do not hesitate is you have questions about the protocol and such. I am not very experienced in Javascript either and I really want to have a look at these nodejs lib at some point. As far as I understand electron, http://electron.atom.io/, is based on nodejs so it would be really nice to make a simple Crazyflie client with it :-).

Re: Bluetooth capabilities

Posted: Tue Apr 05, 2016 2:30 pm
by pchinjr
Awesome. Thanks for the encouragement. Right now I've been looking at the following projects to get a better understanding.

Rolling Spider - So this is a cool full implementation of BLE control of another quadcopter using Node.js and the Noble BLE library. https://github.com/voodootikigod/node-rolling-spider

I took the temporal queue concept and integrated it into mine. So I can send the CF a series of movements. I have some experience doing basic stuff in node and turning it into an electron app was my ultimate thought.

But first, I've never dealt with programming hardware so being able to digest the documentation is new to me. For example, do you know of a resource that will show me how the different parts of the CRTP work?

Thanks!

Re: Bluetooth capabilities

Posted: Thu Apr 07, 2016 7:48 am
by arnaud
Hi,

The best documentation we have is on the wiki, it is not always in the best shape but most of it is there. You have a basic high level documentation: https://wiki.bitcraze.io/doc:crazyflie: ... munication and a doc of the different ports: https://wiki.bitcraze.io/doc:crazyflie:crtp:index. If there is hole in the documentation, just ask or you can look at the Crazyflie firmware code (the code never lies ;-).

As for the command queues this is an awesome functionality, however the Crazyflie does not have the down-facing camera the rolling spider has so it will not be able to hold its position by itself. So having a command queues might not be that useful for the flight itself (I can see use for other things like the LED ring though). We are currently working on solution like the LPS system that will allow Crazyflie to hold its position in the room.

/Arnaud