Crazyflie_Communication_between each other

Firmware/software/electronics/mechanics
Hada Hamdi
Beginner
Posts: 8
Joined: Wed Jul 22, 2020 4:19 am

Crazyflie_Communication_between each other

Post by Hada Hamdi »

Hello all,

I am a beginner and I want to know what is the protocol to make two crazyflies communicate with each other? a Wifi module, which kind of protocol? some references can help me?

Thanks in advance!

kimberly
Bitcraze
Posts: 480
Joined: Fri Jul 06, 2018 11:13 am

Re: Crazyflie_Communication_between each other

Post by kimberly »

There is some api documentation available for the peer 2 peer communication: https://www.bitcraze.io/documentation/r ... s/p2p_api/. It is still a work in process so therefore not very fleshed out yet. But let us know if you come accress any problems.

Hada Hamdi
Beginner
Posts: 8
Joined: Wed Jul 22, 2020 4:19 am

Re: Crazyflie_Communication_between each other

Post by Hada Hamdi »

Hi,

Thank you for your reply!
my questions are general.
is this way is considered as a decentralized method?
they communicate with each other using WI-FI in this case.

kimberly
Bitcraze
Posts: 480
Joined: Fri Jul 06, 2018 11:13 am

Re: Crazyflie_Communication_between each other

Post by kimberly »

If all the processing is done onboard on the crazyflies and they all communicate directly with eachother by means of peer2peer without a central computer relay, yes this is decentralized.

They don't communicate with each other with WiFi, but with the Nordic ESB protocol. Its in the same frequency as WiFi but it is not the same.

Hada Hamdi
Beginner
Posts: 8
Joined: Wed Jul 22, 2020 4:19 am

Re: Crazyflie_Communication_between each other

Post by Hada Hamdi »

Hi,

1. This protocol is not the protocol that communicates between the crazyflie and the Crazyradio PA USB dongle? is there a relation between the dongle that communicate with crazyflie and the communication between crazyflies?
2. How can one dongle communicate with multiple crazyflies?

Thanks!

kimberly
Bitcraze
Posts: 480
Joined: Fri Jul 06, 2018 11:13 am

Re: Crazyflie_Communication_between each other

Post by kimberly »

1- It is the same ESB method (low level protocol), but between the crazyflie and the crazyradio is the CRTP high level protocol, which the ESB carries in its packages (kind of a wrapper of sorts). This enables to distinguish between the different packages received (mentioned in the documentation). Between crazyflies currently there is only the ESB package, which you have to manually add your information to.
2 - The crazyradio dongle uses broadcasts to communicate with multiple crazyflies at the time, which means that it only sends but it does not expect an 'ACK' (reply message) in return from the crazyflie with a specified address. The p2p api also only broadcasts as well, which means that all crazyflies on the same channel will receive the same package.

kimberly
Bitcraze
Posts: 480
Joined: Fri Jul 06, 2018 11:13 am

Re: Crazyflie_Communication_between each other

Post by kimberly »

btw, I'm moving this forum post to crazyflie-> developer since this group is not about the crazyflie.

Hada Hamdi
Beginner
Posts: 8
Joined: Wed Jul 22, 2020 4:19 am

Re: Crazyflie_Communication_between each other

Post by Hada Hamdi »

Hi,

Is there something in the firmware can help me about p2p communication?

Thanks!

kimberly
Bitcraze
Posts: 480
Joined: Fri Jul 06, 2018 11:13 am

Re: Crazyflie_Communication_between each other

Post by kimberly »

The documentation I gave earlier about the API also points to the spots in the firmware that are of interest. From the NRF side, it has been implemented in src/main.c and src/esb.c, which reacts on the p2p package passed through from the STM.

Since this is a new functionality, there is not a lot of documentation so understanding how it works requires to look into the code.

Hada Hamdi
Beginner
Posts: 8
Joined: Wed Jul 22, 2020 4:19 am

Re: Crazyflie_Communication_between each other

Post by Hada Hamdi »

Using this protocol, what kind of information can send between crazyflies, the position of each crazyflie?....

Post Reply