Send Data From Crazyflie to Simulink with ZeroMQ
Send Data From Crazyflie to Simulink with ZeroMQ
Hi everyone,i hope you are doing great!
I'm working with crazyflie 2.1 , and i'm working on communication between Simulink and Crazyflie using ZeroMQ, i could manage the communication from simulink to crazyflie.
Now i'm working on getting data from crazyflie 2.1 and used it in Matlab , and for that Id like to Know if i can take data from Crazyflie2.1 using a specific port (like 1212 to send commands).
I have tried 2001,2000 and 1213 but they didn't work for me.
I'm trying another method which is: a python script logging data from crazyflie2.1 then send it to c function which is my s_function block on simulink but i'm challenging some issues ,also if there is a port that matlab can use to log data from crazyflie 2.1 directly with ZeroMq it will be much faster.
.
I hope you can help me and thank you in advance
Apdate; you can do this by Matlab Engine for python ,check this link https://www.mathworks.com/help/matlab/m ... ython.html
I'm working with crazyflie 2.1 , and i'm working on communication between Simulink and Crazyflie using ZeroMQ, i could manage the communication from simulink to crazyflie.
Now i'm working on getting data from crazyflie 2.1 and used it in Matlab , and for that Id like to Know if i can take data from Crazyflie2.1 using a specific port (like 1212 to send commands).
I have tried 2001,2000 and 1213 but they didn't work for me.
I'm trying another method which is: a python script logging data from crazyflie2.1 then send it to c function which is my s_function block on simulink but i'm challenging some issues ,also if there is a port that matlab can use to log data from crazyflie 2.1 directly with ZeroMq it will be much faster.
.
I hope you can help me and thank you in advance
Apdate; you can do this by Matlab Engine for python ,check this link https://www.mathworks.com/help/matlab/m ... ython.html
Re: Send Data From Crazyflie to Simulink with ZeroMQ
Hi!
Unfortunately I don't have access to Matlab/Simulink, but I'll try to see if I can help out.
I have a few questions, just to make sure I understand correctly:
Unfortunately I don't have access to Matlab/Simulink, but I'll try to see if I can help out.
I have a few questions, just to make sure I understand correctly:
- Are you using our ZMQ server (this one)?
- Are you using any other libs on the Simulink side to interface this?
- Is the goal to get access to CRTP from Simulink or is it something else?
Re: Send Data From Crazyflie to Simulink with ZeroMQ
Thank you so much for your answer.
so for your questions:
1/ For this, yes im using ZMQ as input device in cfclient.
2/ Yes,Im using the library ZMQ in Matlab to establish the communication between Matlab and Crazyflie: https://github.com/fagg/matlab-zmq
3/ My goal is to establish a communication between matlab and crazyflie 2.1 without using CRTP in simulink (but now im using it because i didn't make it with zmq in terms of reading data from crazyflie using Matlab using a specif port).
Thank you.
so for your questions:
1/ For this, yes im using ZMQ as input device in cfclient.
2/ Yes,Im using the library ZMQ in Matlab to establish the communication between Matlab and Crazyflie: https://github.com/fagg/matlab-zmq
3/ My goal is to establish a communication between matlab and crazyflie 2.1 without using CRTP in simulink (but now im using it because i didn't make it with zmq in terms of reading data from crazyflie using Matlab using a specif port).
Thank you.
Re: Send Data From Crazyflie to Simulink with ZeroMQ
OK, thanks for the info. I'm not sure about the state of the ZMQ server, we haven't used it in a long time. I can have a look and see if it's working. Otherwise there's also the option of trying this out.
I'll give the ZMQ server a try and let you know how it goes.
I'll give the ZMQ server a try and let you know how it goes.
Re: Send Data From Crazyflie to Simulink with ZeroMQ
I've tested this out and it seems to work.
The way to use it to first start the server by running the following in the client repository:
Once the server is up and running you will see the following printout.
Now you can connect to these and use the Crazyflie. The script I tested is located here, and it will scan, connect, list the TOCs, do some logging and then stop the logging and disconnect.
Let me know how it goes!
The way to use it to first start the server by running the following in the client repository:
Code: Select all
python bin/cfzmq
Code: Select all
INFO:cfzmq:Biding ZMQ cmd serverat tcp://127.0.0.1:2000
INFO:cfzmq:Biding ZMQ log serverat tcp://127.0.0.1:2001
INFO:cfzmq:Biding ZMQ param serverat tcp://127.0.0.1:2002
INFO:cfzmq:Biding ZMQ ctrl serverat tcp://127.0.0.1:2004
INFO:cfzmq:Biding ZMQ conn serverat tcp://127.0.0.1:2003
Let me know how it goes!
Re: Send Data From Crazyflie to Simulink with ZeroMQ
Thank you so much for your time and your help.
so i tried to test this but i have this error , i checked if zmq installed and yes it is.
so i tried to test this but i have this error , i checked if zmq installed and yes it is.
Re: Send Data From Crazyflie to Simulink with ZeroMQ
Hmm, looks like it can't find the CF lib. Do you have it installed? Can you run the normal client?
Re: Send Data From Crazyflie to Simulink with ZeroMQ
sorry for the delay,
yes, im working with it (cfclient).
yes, im working with it (cfclient).
Re: Send Data From Crazyflie to Simulink with ZeroMQ
I'm not sure what the problem might be. I'm running the latest commit of the client and the cf-lib. I also tried to pip install the library, version cflib-0.1.18.1 and this also works.
It looks strange since when I tried to uninstall the cflib to try to replicate the problem, I get errors about crtp includes which you're not getting.
One option would be to uninstall the cf-lib and make sure it's completely uninstalled for Python 3/2, keep uninstalling until it says that it can't find it. Then install it again either from the repository or from the packages in pip. It's possible it might be using an old version that's somehow incompatible.
It looks strange since when I tried to uninstall the cflib to try to replicate the problem, I get errors about crtp includes which you're not getting.
One option would be to uninstall the cf-lib and make sure it's completely uninstalled for Python 3/2, keep uninstalling until it says that it can't find it. Then install it again either from the repository or from the packages in pip. It's possible it might be using an old version that's somehow incompatible.
Re: Send Data From Crazyflie to Simulink with ZeroMQ
thank you so much for your help. i will try to do that