Page 1 of 2

Crazyflie_Communication_between each other

Posted: Wed Jul 22, 2020 4:41 am
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!

Re: Crazyflie_Communication_between each other

Posted: Wed Jul 22, 2020 8:20 am
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.

Re: Crazyflie_Communication_between each other

Posted: Wed Jul 22, 2020 3:46 pm
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.

Re: Crazyflie_Communication_between each other

Posted: Thu Jul 23, 2020 8:20 am
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.

Re: Crazyflie_Communication_between each other

Posted: Fri Jul 24, 2020 2:47 am
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!

Re: Crazyflie_Communication_between each other

Posted: Fri Jul 24, 2020 8:11 am
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.

Re: Crazyflie_Communication_between each other

Posted: Fri Jul 24, 2020 9:42 am
by kimberly
btw, I'm moving this forum post to crazyflie-> developer since this group is not about the crazyflie.

Re: Crazyflie_Communication_between each other

Posted: Sat Jul 25, 2020 4:15 am
by Hada Hamdi
Hi,

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

Thanks!

Re: Crazyflie_Communication_between each other

Posted: Mon Jul 27, 2020 9:21 am
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.

Re: Crazyflie_Communication_between each other

Posted: Mon Jul 27, 2020 11:28 pm
by Hada Hamdi
Using this protocol, what kind of information can send between crazyflies, the position of each crazyflie?....