基于 WSL2 在Visual Studio Code 集成

运行于 Windows 的 VS Code 与 WSL 集成度很高。

要设置集成,请按以下步骤操作:

  1. 在 Windows 上 下载 并安装 Visual Studio Code(VS Code)。
  2. 打开 VS Code
  3. 安装名为 Remote – WSL 的扩展(应用市场)。
  4. 打开 WSL 终端
  5. 在 WSL 终端中,切换到 PX4 文件夹:
    cd ~/PX4-Autopilot
  6. 在 WSL 终端中,启动 VS Code:
    code .

    这将打开一个与 WSL 终端完全集成的 IDE。请确保始终以远程 WSL 模式打开 PX4 仓库。 7. 下次需要在 WSL2 中进行开发时,可以通过选择 “打开最近的项目”(如下所示)非常方便地以远程 WSL 模式再次打开。这将为你启动 WSL。

    不过需要注意的是,WSL 虚拟机的 IP 地址会发生变化,因此无法使用 Windows 版 QGC 监控仿真环境(仍然可以使用 Linux 版 QGC 进行监控)。

    QGroundControl

    你可以在 WSL 或 Windows 中运行 QGroundControl 来连接正在运行的仿真环境。如果你需要 为飞行控制板刷入新固件,则只能使用 Windows 版的 QGroundControl。

    WSL 中的 QGroundControl

    设置和使用 QGroundControl 最简单的方法是将 Linux 版本下载到你的 WSL 中。

    你可以在 WSL 终端中完成此操作。

    1. 在网页浏览器中,访问 QGC 的 Ubuntu 下载页面
    2. 右键单击 QGroundControl.AppImage 链接,然后选择 “复制链接地址”。链接地址可能类似于 _https://d176td9ibe4jno.cloudfront.net/builds/master/QGroundControl.AppImage_。
    3. 打开 WSL 终端,并输入以下命令下载 AppImage 文件并使其可执行(请将 <复制的 AppImage URL> 替换为实际的链接地址):
      cd ~
      wget <复制的 AppImage URL>
      chmod +x QGroundControl.AppImage
    4. 运行 QGroundControl:
      ./QGroundControl.AppImage

      QGroundControl 将启动并自动连接到正在运行的仿真环境,允许你监控和控制飞行器。

      由于 WSL 不允许访问串行设备,因此无法使用它来安装 PX4 固件。

Windows 上的 QGroundControl

如果你想使用 PX4 中创建的固件更新硬件,请在 Windows 上安装 QGroundControl

以下步骤介绍了如何连接到在 WSL 中运行的仿真环境:

  1. 打开 WSL 终端
  2. 运行命令 ip addr | grep eth0 检查 WSL 虚拟机的 IP 地址:
    ip addr | grep eth0
    
    6: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        inet 172.18.46.131/20 brd 172.18.47.255 scope global eth0

    将 eth0 接口 inet 地址的第一部分复制到剪贴板。在本例中为:172.18.46.131

  3. 在 QGC 中,转到 Q > 应用程序设置 > 通信链接
  4. 添加一个名为 “WSL” 的 UDP 链接,指向上面复制的 IP 地址的 18570 端口。
  5. 保存设置并连接。
    每次 WSL 重启后,都需要更新 QGC 中的 WSL 通信链接(因为它会获取动态 IP 地址)。

刷写飞行控制板

必须使用 Windows 版 QGroundControl 来刷写自定义编译的 PX4 二进制文件。

WSL2 本身不提供对连接到计算机的串行/USB 设备(如 Pixhawk 飞行控制器)的直接访问。这意味着你无法将运行在 WSL2 内的 QGC 连接到飞行控制器以安装固件,也不能使用 upload 命令 在编译时上传固件。相反,你需要将 Windows 版 QGroundControl 连接到在 WSL2 中运行的 PX4 以及飞行控制器,以便上传固件。

要刷写在 WSL 中编译的自定义二进制文件,请执行以下步骤:

  1. 如果你还没有在 WSL 中编译二进制文件,可以使用 WSL 终端 并运行以下命令:
    cd ~/PX4-Autopilot
    make px4_fmu-v5

    请为你的飞行控制板使用正确的 make 目标。px4_fmu-v5 可用于 Pixhawk 4 飞行控制板。
  2. 如果 Pixhawk 板已通过 USB 连接到计算机,请先断开 USB 电缆。 3. 打开 QGC 并导航到 Q > 飞行器设置 > 固件。 4. 通过 USB 连接你的 Pixhawk 板。 5. 连接成功后,选择 “PX4 飞行栈”,勾选 “高级设置”,然后从下方的下拉菜单中选择 “自定义固件文件 …”。 6. 继续操作并选择你刚刚在 WSL 中编译的固件二进制文件。 在打开的对话框中,在左侧窗格中查找带有企鹅图标的 “Linux” 位置。该位置通常在最底部。选择路径为 Ubuntu\home\{你的 WSL 用户名}\PX4-Autopilot\build\{你的编译目标}\{你的编译目标}.px4 的文件。 ::: info 你可以将该文件夹添加到收藏夹,以便下次快速访问。 ::: 7. 开始刷写。 更多信息请参考 安装 PX4 主版本、测试版或自定义固件(加载固件)
上一篇 Windows下的Pixhawk 开发环境配置(基于 WSL2)
Lam

Lam管理员

Let some folks get a head start and fly first.

本月创作热力图

近期评论

您尚未收到任何评论。