官方教程中建议使用 Vmware Workstation Player 作为虚拟机在 Ubuntu 上运行 Qt。然而对于使用 Windows 10/11 的我们,隔一层虚拟机来操作过于没事找事了;不如尝试 Windows 本地开发。

Arduino 环境安装

  1. 访问 Arduino 官网,下载最新 Windows 版 IDE;富哥可以捐点钱,像我这样的穷鬼就 JUST DOWNLOAD 吧;然后如果不想被邮件骚扰,就继续 JUST DOWNLOAD:下载成功!然后运行安装一把梭。 Arduino download Arduino download 2 Arduino download 3

  2. 安装完初次运行会初始化亿会会,我是关掉重新开就立刻加载出来了。然后 Arduino IDE 似乎会装一堆驱动和插件,我就允许了…

  3. Ctrl+, 进入设置,先把语言改成中文(简体),然后 Additional board manager URLs 中填一个 https://espressif.github.io/arduino-esp32/package_esp32_index.json(看起来像是 ardiono ide - esp32 binding)。确认过后 IDE 就会自动加载啦。 IDE Preference

  4. 由于众所周知的原因,Github 的访问性令人堪忧。所以我们需要设置代理:Ctrl+, 进入设置,选择网络,填上你的代理地址(通常来说 Clash 是 7890 端口,其他的是 1080 端口)。 (不会吧不会吧不会真的有计算机人不会用梯子吧(手动滑稽) Proxy setting

  5. 装一个 esp32 插件,再装三个库: ESP32Servorplidar_arduino, 和新生杯 Simulator。这一步下载量巨大,建议网络配置好再下。

    Arduino 的库可以安装到 %userprofile%\Documents\Arduino\libraries (~/Arduino/libraries) 下。所以官方教程中要求我们把 RPLidarDriverSimulator 放到该目录内。

    esp32 plugin ESP32Servo

  6. 开箱,电脑连上开发板(注意不要正对眼睛,有A1高闪)。打开材料中的 test.ino,选择工具->开发板->esp32->ESP32S3 DEV MODULE,在工具->端口中选择 ESP32 开发板对应的端口,然后再点击 -> 按钮上传代码。看到开发板的A1高闪停止则成功!

Qt 环境配置

  1. 访问 Qt Offline Installer,选择左边的 5.12.x Offline Installers,下载(3.7 GB)。 Qt Offline Installer 安装前请把时间调到 2019 年以前跳过强制登陆。1然后选择安装内容(如下,可以不选 Sources 和 CDB Debugger Support),等待十分钟,完成安装。 Qt options

  2. 直接双击打开材料中的 Qt-based-LIDAR-mapping-simulator/Simulation.pro千万不要放在有非英文字符的路径中!

    这里会弹出一个吓人的警告 qt compiler warning

    这只需点击 OK 后手动选择 Build and Run 下面的 Desktop Qt 5.12.12 MinGW 64-bit

    select compiler

    成功打开项目!
    由于这是 Linux 下的项目,com 口的命名与 Windows 不同;因此需要把源文件中 Sources/src/serial.cpp 中的第七行 PORT_NAME 改为 "COM3"(具体名称可以在设备管理器-端口中看到)。然后 Ctrl+R 运行,稍等片刻编译后便能展示出界面!(注意连接好 arduino 板)若下方应用程序输出没有输出什么 “serial port open error” 即为成功。 main window

    这时由于编译产物在一个很奇怪的位置,运行时会找不到地图文件,所以需要在项目配置中把 Wording Directory 设置成 src 文件夹(其实任何子目录都行)。然后再次 Ctrl+R 运行。 working directory

    (二选一的)另一种方法是手动加载地图,可以点击 加载地图,手动选择 doc 目录下的 test.map 文件。 manually select map

碎碎念

  • 由于所有文件都是 Linux 式的换行符和 UTF-8 编码,MSVC 不能很好兼容。除非你愿意把所有文件都手动重编码一遍,否则不要使用 MSVC 作为编译器
  • 根目录下运行 git remote -v惊喜