Crazyflie PC client

Crazyflie client 源代码:https://github.com/bitcraze/crazyflie-clients-python

 

Crazyflie PC client

Crazyflie PC 客户端能够实时显示与控制 Crazyflie,实现用户界面和高级控制(例如手柄处理)的功能。与 Crazyflie 的通信以及实现 Crazyflie 的 CRTP 协议由 cflib 负责。

更多信息请参阅相关文档。

 

Running from source

Crazyflie 客户端的开发需要 cflib,如果您也想使用这个库进行开发,请按照 cflib 的自述文件安装它。

 

Windows (7/8/10)

Crazyflie 客户端在 Windows 上使用 Python 3.5 或其他更高版本的官方 Python 编译器进行测试。Crazyflie 客户端使用 32 位 Python 进行测试,它应该同样可以在 64 位 Python 环境下进行工作。但是由于没有经过测试,工程可能会损坏(如果是这样,请毫不犹豫地请求修复)。

您应该安装 Python 的客户端来运行程序,请确保在安装期间选中 add to path 复选框。您还应该在路径中安装了 Git 并使用 Git 克隆 Crazyflie 客户端项目。

打开一个命令行窗口或 Powershell 并切换到 Crazyflie client 文件夹(确切的命令取决于克隆的项目):

cd crazyflie-clients-python

下载 SDL2.dll Windows 库:

python tools\build\prep_windows

在开发模式下安装客户端:

pip install -e .[dev,qt5]

 您现在可以通过以下命令控制客户端:

cfclient
cfheadless
cfloader
cfzmq

注意:要使用 Crazyradio 您必须安装驱动程序。

 

Working on the client with PyCharm

Pycharm 是 Python 的 IDE,任何 Python IDE 或开发环境都可以为 Crazyflie 客户端工作。要通过 Pycharm 使用 Crazyflie 固件,请安装 Pycharm community edition 并在其中打开 Crazyflie 客户端文件夹,Pycharm 将自动检测 Python 的安装。

要运行客户端,请打开并运行文件 bin/cfclient。

现在可以编辑和调试 Python 代码了。您可以使用 QtCreator 编辑 GUI 的 .ui 文件。您可以从 Qt 网站中找到 Qt 开发工具包,并在 QtCreator 中打开 .ui 文件。

 

Creating Windows installer

当您能够从源代码运行时,您可以构建 Windows 可执行文件和安装程序。

首先构建可执行文件

python setup.py build

现在您可以使用 build\exe.win32-3.6\cfclient.exe 运行客户端。

要生成安装程序,您需要在路径中安装 nsis。如果您是 chocolatey 的用户,您可以使用“choco install nsis.portable -version 2.50”安装它,或者您可以直接下载并手动安装。

创建安装程序:

python win32install\generate_nsis.py
makensis win32install\cfclient.nsi

 

Mac OSX

与 Windows 不同的是,目前还没有针对 Mac 的版本。应该可以在帮助下将客户端打包为 Mac 应用程序。同时您可以通过安装 Python 并拉取客户端 Python 包来运行客户端。

 

Using the official python distribution

如果您还没有安装自制程序,那么让客户端在 Mac 上运行的最简单方法就是使用 Python 官方发行版。如果你正在使用 Homebrew,那么请看下一节。如果您使用 Anaconda/Conda,这个过程应该非常类似,但您可以跳过 Python 安装。

1、在 https://python.org/ 下载并安装 Python

2、下载 sdl2 for Mac OSX 并复制 SDL2.framework 到 /Lirary/Frameworks

3、打开控制台并使用 python3 -m pip install cfclient[qt5] pysdl2,这将安装最新版本

现在您可以使用 python3 -m cfclient.gui 启动客户端。

如果需要想开发和修改客户端,您可以克隆这个 repos,使用 python3 -m pip uninstall cfclient 卸载客户端并通过导航到 repos 根文件夹和以编辑模式安装客户端在开发模式下安装它:python3 -m pip install -e .。

 

Using homebrew

重要提示:下面将使用 Homebrew 及其自己的 Python 发行版。如果您的系统上已经运行了许多第三方 Python 程序,那么它们可能会(也可能不会)受到影响。

1、安装 Homebrew

请查看 Homebrew 网站

2、安装需要的 brew bottles

brew install python3 sdl sdl2 sdl_image sdl_mixer sdl_ttf libusb portmidi pyqt

3、安装客户端

如果您只是想用客户端来控制 Crazyflie,而不关心代码

pip3 install cfclient

如果您想开发客户端并使用源代码,在源文件夹中运行

pip3 install -e .

如果你也想在 cflib 上开发,安装 cflib:https://github.com/bitcraze/crazyflie-lib-python

4、现在您已经拥有了运行客户端所需的所有依赖项,客户端现在可以在任何位置开始

cfclient

 

Linux

Launching the GUI application

如果您想使用 lib 进行开发,请从 https://github.com/bitcraze/crazyflie-lib-python 安装 cflib。

Cfclient 要求使用系统包管理器安装 Python3、pip 和 pyqt5。例如在 Ubuntu/Debian上:

sudo apt-get install python3 python3-pip python3-pyqt5 python3-pyqt5.qtsvg

安装 Cfclient 从源代码运行它。从源文件夹运行(为您的用户安装只有您可以添加 --user 到命令):

pip3 install -e .

以源文件夹类型启动GUI应用程序:python3 bin/cfclient

需要在系统范围安装后启动 GUI,请执行 cfclient。

 

Dependencies

该 Crazyflie PC 客户端有以下依赖:

从系统包安装

Python 3.4+

PyQt5

A pyusb backend: libusb 0.X/1.X

使用 PIP 从 PyPI 安装:

cflib

PyUSB

PyQtGraph

ZMQ

appdirs

PyYAML

 

Setting udev permissions

在 Linux 上使用 Crazyradio 需要设置 udev 权限。更多信息请参阅 cflib 自述。

 

P.S.:

Crazyflie 官网:https://www.bitcraze.io/products/old-products/crazyflie-2-0/

Crazyflie 相关代码:https://github.com/bitcraze

posted @ 2020-07-15 11:22  stephen0829  阅读(1090)  评论(0)    收藏  举报