配置ESP32开发板烧录软件
烧录镜像
参见一键制卡章节烧录镜像,将SD卡插入开发者套件的卡槽,当前样例仅在Ubuntu OS适配验证过,未在openEuler OS适配验证,推荐烧录Ubuntu OS镜像。
父主题: 运行环境准备
连接路由器
- 确保路由器和开发者套件已按7与8中所述连接。
- 使用PC连接车载无线路由器提供的WiFi,SSID为GL-MT300N-V2-177。
- 参见[通过路由器联网](https://www.hiascend.com/document/detail/zh/Atlas200IDKA2DeveloperKit/23.0.RC2/Hardware Interfaces/hiug/hiug_0013.html),查询开发者套件IP地址。
- 使用root用户(默认密码为Mind@123)远程登录开发者套件,登录IP为3中查询到的IP。
父主题: 运行环境准备
配置ESP32开发板烧录软件
Arduino是一套便捷、灵活、容易上手的硬件开发平台,它包括多种型号的Arduino控制电路板和专用编程开发软件,能帮助用户快速的开发出智能硬件原型。
-
进入Arduino官网下载程序安装包“arduino-ide_version_Windows_64bit.exe”,并按照默认配置安装。
-
双击打开软件,修改语言为中文。
-
安装ESP32开发板。
-
单击“文件 > 首选项”,如图3所示。
图3 中文软件菜单

-
在“其他开发板管理器地址”中输入“https://www.arduino.cn/package_esp32_index.json”与“https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json”或单击
图标在文本框中输入开发板管理器地址,单击确定保存,如图4所示。
图4 添加开发板管理器地址

-
离线安装ESP32开发板,单击[链接](https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/Atlas 200I DK A2/DevKit/samples/23.0.RC1/e2e-samples/Car/esp32_package_2.0.6_arduinome.exe)下载Arduino的ESP32开发板安装包,下载完成后双击安装文件进行默认安装,安装完成后重启Arduino IDE。
图5 通过离线包安装ESP32开发板

-
在“开发板”中选择ESP32开发板,如图6所示。
图6 选择开发板

:::note 说明 此步骤中安装ESP32组件,推荐使用离线安装的方式,用户也可以自行搜索在线安装的方法,但由于国内网络等问题,在线安装过程很可能会非常慢甚至安装失败。 :::
-
-
用USB数据线连接PC和ESP32开发板,单击“工具 > 端口”,选择新增的COM串行端口作为Arduino与ESP32开发板传输数据的通道,如图7所示。
图7 选择串口

:::note 说明 若没有出现COM串行端口,可能是由于电脑没有安装USB串口驱动,需自行下载并安装CH340驱动工具。 :::
父主题: 运行环境准备
获取代码
获取代码
-
获取ESP32开发板代码。
获取链接,单击链接下载样例代码压缩包“ascend-devkit-master.zip”到PC并解压获得ESP32开发板的代码目录“ascend-devkit-master\src\E2E-Sample\Car\ESP32”。
-
获取小车项目代码。
-
远程登录开发者套件,进入“/usr/local”目录运行脚本拉取代码。
cd /usr/local -
运行脚本拉取代码。
bash E2E_samples_download_tool.sh -d download_destination_path -s source_repository -b branch target_path参数说明:
- -d:指定代码的下载路径。
- -s:指定开源仓库的clone url。
- -b:指定开源仓库分支名称及待下载的项目目录。
- -f:强制更新下载路径中的目录。当样例目录已删除,但重新下载时提示“Already up to date”时可使用此参数。
命令示例:
bash E2E_samples_download_tool.sh -d /home/HwHiAiUser/E2ESamples -s https://gitee.com/HUAWEI-ASCEND/ascend-devkit.git -b master src/E2E-Sample/Car/回显如下:
Download E2E samples successfully!执行完成后,会在“/home/HwHiAiUser/E2Esamples”目录下生成“src/E2E-Sample/Car/”目录。
-
配置功能库文件
将Car/ESP32/下的“ESP32_Servo.cpp”、“ESP32_Servo.h”、“RL_ESP32_Motor.cpp”、“RL_ESP32_Motor.h”四个文件复制到Arduino库文件路径下,例如:“C:\Users\10459\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\cores\esp32”。
烧录代码到ESP32开发板
-
在PC使用Arduino工具单击“文件>打开”按钮,选择“Car/ESP32/car_ctrl_esp32.ino”文件打开。
图1 打开脚本

-
在Arduino工具中单击
图2 烧录代码

图3 烧录回显

父主题: 运行环境准备
手动控制小车
-
将小车放置在运动场地。
-
以root用户远程登录小车的开发者套件。
-
进入获取代码中的样例代码目录下的“/python”文件夹路径,安装相关依赖后启动运行脚本。
cd /home/HwHiAiUser/E2ESamples/src/E2E-Sample/Car/pythonpip3 install -r requirements.txtpython3 main.py回显如下:
(base) root@davinci-mini:/home/HwHiAiUser/E2ESamples/src/E2E-Sample/Car/python# python main.py[EVENT] PROFILING(5821,python):2023-03-27-02:24:50.860.329 [msprof_callback_impl.cpp:236] >>> (tid:5821) Started to register profiling ctrl callback.2023-03-27 02:24:52 [MainProcess:5821][INFO]: start2023-03-27 02:24:52 [Process-2:5841][INFO]: update_controller_speed: True2023-03-27 02:24:52 [Process-2:5841][INFO]: self.speed: 02023-03-27 02:24:52 [Process-2:5841][INFO]: [0, 0, 0, 0, 90, 65, -12345]2023-03-27 02:24:52 [Process-2:5841][INFO]: action SetServo execute SUCC2023-03-27 02:24:52 [Process-2:5841][INFO]: Manual loop start:::note 说明 运行python3 main.py报错请参见运行智能车主入口程序main.py时出现‘ttyUSB0’或'ttyUSB1'相关错误导致程序无法启动解决。 :::
-
通过键盘输入键位手动控制小车移动,如表1所示。
表1 键位映射表
键位 动作 w 前进 a 左转 s 后退 d 右转 q 逆时针旋转 e 顺时针旋转 ↑ 加速(小车运动状态与静止状态均可以调整) ↓ 减速(小车运动状态与静止状态均可以调整) c 捕获当前摄像头的图片 space 暂时停车 :::note 说明 由于TT减速电机成本较低,若此处手动控制小车出现轮子转向相反,或四个轮子转速不同导致小车不走直线的情况。
- 参照FAQ中的E2E样例开发问题。
- 参考“/Car/src/actions/base_action.py”文件代码中的注释修改“/Car/src/actions/base_action.py”的'self.motor_rating'参数,四个参数依次对应图1中的1、2、3、4号电机,修改参数的比例大小即可修改对应电机的转速,添加负号即可使对应电机反转,进行微调即可使小车恢复正常。 :::
父主题: 快速体验
自动驾驶与泊车
-
将小车放置在运动场地。
-
以root用户远程登录小车的开发者套件。
-
进入获取代码中的样例代码目录,启动运行脚本。
cd /home/HwHiAiUser/E2ESamples/src/E2E-Sample/Car/pythonpython3 main.py --mode=easy回显如下:
(base) root@davinci-mini:/home/HwHiAiUser/E2ESamples/src/E2E-Sample/Car/python# python main.py --mode=easy[EVENT] PROFILING(5821,python):2023-03-27-02:24:50.860.329 [msprof_callback_impl.cpp:236] >>> (tid:5821) Started to register profiling ctrl callback.2023-03-27 02:24:52 [MainProcess:5821][INFO]: start2023-03-27 02:24:52 [Process-2:5841][INFO]: update_controller_speed: True2023-03-27 02:24:52 [Process-2:5841][INFO]: self.speed: 02023-03-27 02:24:52 [Process-2:5841][INFO]: [0, 0, 0, 0, 90, 65, -12345]2023-03-27 02:24:52 [Process-2:5841][INFO]: action SetServo execute SUCC2023-03-27 02:24:52 [Process-2:5841][INFO]: Manual loop start:::note 说明 运行python3 main.py报错请参见运行智能车主入口程序main.py时出现‘ttyUSB0’或'ttyUSB1'相关错误导致程序无法启动解决。 :::
-
在命令行中输入Helper,加载转弯及停车辅助模型。无需等待,继续在命令行中输入LF,加载直线矫正模型。
-
小车开始自动驾驶,待行驶至停车标识处会自动进行泊车。
父主题: 快速体验
在线提单

