上篇“开源项目crazyflie学习研究(二)”,我们选取了Loco Positioning System子项目切入学习,主要涉及单片机编程。本期,我们选取crazyflie的客户端源码来学习,主要开发语言是Python。
一、源码结构
(一)源码github路径:
https://github.com/bitcraze/crazyflie-clients-python.git
(二)源码结构
主要代码在src目录下,其中包含4个模块,分别是cfclient、cfconfig、cfloader、cfzmq。
对应业务如下:
1、cfclient:crazyflie客户端主程序
2、cfconfig:配置块的编译与反编译
3、cfloader:crazyflie驱动的加载
4、cfzmq:网络通信(zero mq)
二、编译开发
由于客户端是基于Python和QT GUI开发的,因此需要按照以下步骤准备好开发环境。
(一)Debian/Ubuntu
对于Ubuntu的操作系统,首先需要确认系统中安装了哪个版本的python,是否安装了python3。
对于一台干净的Ubuntu的操作系统,可通过控制台安装所需的git、pip和Qt GUI库。代码如下:
sudo apt install git python3-pip libxcb-xinerama0
pip3 install --upgrade pip
(二)Windows
通过官网python.org安装Python3。安装的时候,要确保“增加到系统路径”的选项有勾选上,并通过以下命令,保证Python3已经正确安装。
python --version
pip --version
升级pip也是可以的。
pip3 install --upgrade pip.
(三)Mac
1、Intel X86
可通过brew命令安装Python3和所需的libs。代码如下:
brew install python3 libusb
brew link python3 # This makes sure the latest python3 is used
# if "which python3" does not return "/usr/local/bin/python3", relaunch your terminal
pip3 install --upgrade pip.
2、Apple M1
在Apple M1的Mac电脑上,由于并非全部依赖的编译都是arm64位,因此需要注意使用X86版本的Brew命令。这个可以通过arch命令来实现,代码如下:
# Installing brew for x86_64, it will be installed in /usr/local by default
arch --x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Now we have to use brew and then python from /usr/local ...
arch --x86_64 brew install python@3.9 libusb
# The arch command is not required anymore since everything brew installed are x86 executables
阅读原文,请关注微信公众号,感谢支持!