小鱼 ROS 2 新书上线!点击链接查看, 新书配套视频点击链接查看。
提问前必看的发帖注意事项—— 提问前必看!不符合要求的问题拒绝回答!!
社区使用指南—如何添加标签修改密码
双驱教程机器人的开发板与ubuntu系统中无法连接,无法下载程序到开发板中
-
背景(可选):
初学ROS者,我的系统是Ubuntu22.04
问题描述:
在学习fishbot硬件控制篇中,我创建第一个helloworld工程,电脑跟开发版连接不上,
lsusb 终端里没有那个cp210x具体细节和上下文:
尝试过的解决方法:
网上找了一些解决办法,最终只得到里面这个CH340,还是没有解决连接不上的问题
求助各位大佬解惑,万分感谢!
-
针对您描述的问题,即在学习fishbot硬件控制篇中,创建第一个helloworld工程时,电脑与开发板连接不上,且
lsusb
终端中没有显示cp210x
设备,而是出现了CH340
,这通常表明开发板与电脑之间的USB通信接口并非您预期的cp210x
,而是CH340
或类似的USB转串口芯片。以下是一些可能的解决步骤和建议:1. 确认开发板与电脑的连接
- 确保开发板已正确连接到电脑的USB端口。
- 检查USB线是否完好,无损坏。
2. 安装或更新CH340驱动
由于
lsusb
显示的是CH340
,而不是cp210x
,您需要确保您的电脑上安装了适用于CH340
的驱动程序。- 在Ubuntu上安装CH340驱动:
Ubuntu系统可能默认不支持CH340
,您需要从第三方源下载并安装驱动。可以通过以下步骤进行:- 打开终端。
- 安装必要的包管理器工具(如果尚未安装):
sudo apt update sudo apt install -y build-essential
- 下载并编译
CH340
的Linux驱动源码(具体步骤和下载链接可能因版本而异,请参考最新的驱动发布页面或GitHub仓库)。 - 安装驱动后,重新连接开发板并检查
lsusb
输出。
3. 检查USB端口和设备识别
- 在终端中运行
lsusb
命令,查看是否有与CH340
相关的设备被列出。 - 如果设备被列出但无法识别,尝试不同的USB端口或更换USB线。
4. 检查ROS和开发环境配置
- 确保您的ROS环境(如ROS 2 Foxy)已正确安装并配置在Ubuntu 22.04上。
- 检查是否有任何与ROS或开发板相关的特定配置需要设置,如环境变量、网络配置等。
5. 使用串口工具测试通信
- 使用如
minicom
、screen
或picocom
等串口通信工具尝试与开发板进行通信。 - 配置这些工具以使用正确的串口(通常是
/dev/ttyUSB0
或类似设备,具体取决于您的系统如何识别CH340
设备)。
6. 查阅开发板文档和社区资源
- 查阅fishbot开发板的官方文档或用户手册,了解如何正确连接和配置开发板。
- 访问相关的开发者论坛、GitHub仓库或社区,搜索是否有其他用户遇到并解决了类似的问题。
7. 寻求专业帮助
- 如果以上步骤都无法解决问题,考虑联系fishbot的技术支持或寻求来自ROS社区的专业帮助。
希望这些步骤和建议能帮助您解决连接问题,并成功下载程序到开发板中。如果问题仍然存在,请提供更多详细信息以便进一步分析。
以上为生成回答,仅供参考~
-
@2102685741
以下是下载程序时报错的内容- 正在文件夹 example01_hello_world 中执行任务: platformio run --target upload
Processing featheresp32 (platform: espressif32; board: featheresp32; framework: arduino)
Verbose mode can be enabled via
-v, --verbose
option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/featheresp32.html
PLATFORM: Espressif 32 (6.7.0) > Adafruit ESP32 Feather
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (cmsis-dap) External (cmsis-dap, esp-bridge, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:- framework-arduinoespressif32 @ 3.20016.0 (2.0.16)
- tool-esptoolpy @ 1.40501.0 (4.5.1)
- tool-mkfatfs @ 2.0.1
- tool-mklittlefs @ 1.203.210628 (2.3)
- tool-mkspiffs @ 2.230.0 (2.30)
- toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 33 compatible libraries
Scanning dependencies...
No dependencies
Building in release mode
Retrieving maximum program size .pio/build/featheresp32/firmware.elf
Checking size .pio/build/featheresp32/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [= ] 6.6% (used 21464 bytes from 327680 bytes)
Flash: [== ] 20.4% (used 267025 bytes from 1310720 bytes)
Configuring upload protocol...
AVAILABLE: cmsis-dap, esp-bridge, esp-prog, espota, esptool, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa
CURRENT: upload_protocol = esptool
Looking for upload port...
Warning! Please install
99-platformio-udev.rules
.
More details: https://docs.platformio.org/en/latest/core/installation/udev-rules.htmlAuto-detected: /dev/ttyUSB0
Uploading .pio/build/featheresp32/firmware.bin
esptool.py v4.5.1
Serial port /dev/ttyUSB0A fatal error occurred: Could not open /dev/ttyUSB0, the port doesn't exist
*** [upload] Error 2
==================================================================== [FAILED] Took 1.75 seconds ====================================================================- 终端进程“platformio 'run', '--target', 'upload'”已终止,退出代码: 1。
- 终端将被任务重用,按任意键关闭。
-
-
@小鱼 谢谢小鱼的解答。
但是我排除了usb接口被brltty程序给占了的问题,因为为尝试卸载brltty,实际上为根本没有安装。
我尝试了通过同一根数据线的三种情况,分别是:
1、什么都不连接,lsusb列出
2、连接手机,能正常找到手机的口,并且ubuntu系统桌面有“嘟”的声音,桌面也悬浮有手机图表
3、连接fishbot的开发板,找不到CP210X标识的串口桥。但与什么都不连接时lsusb显示有区别,多了一行显示:Bus 001 Device 008: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
想来这便是与单片机连接上出现的情况,但是尝试了一些方法,这个问题仍未解决,无法在学习fishbot中的硬件控制篇中下载helloworld工程程序到开发板进行验证。初学者小白,许多不懂的地方,还请大佬解惑!
-
@2102685741 在 双驱教程机器人的开发板与ubuntu系统中无法连接,无法下载程序到开发板中 中说:
因为为尝试卸载brltty,实际上为根本没有安装
ubuntu22系统默认是会装的,可以运行下卸载命令看看。
@2102685741 在 双驱教程机器人的开发板与ubuntu系统中无法连接,无法下载程序到开发板中 中说:
:Bus 001 Device 008: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
这个是我的锅,新版的主控板采用的驱动芯片是这个,有这个就可以了,就是确认下有没有生成 /dev/ttyUSBx 这种端口,如果有,修改下串口权限,就可以尝试下载了。
周末在录课,没时间回复,还请谅解,另外请保持邮箱验证,这样才能收到回复信息。
-
@小鱼 谢谢小鱼!
不过在后来终端中输入指令:sudo chmod 666 /dev/ttyUSBx
之后一直报错:
chmod: 无法访问 '/dev/ttyUSBx': 没有那个文件或目录为排除了britty占用问题,其他也试过几个解决办法,一直还是找不到这个文件,不知道怎么回事,还请小鱼解惑
-
@2102685741 在 双驱教程机器人的开发板与ubuntu系统中无法连接,无法下载程序到开发板中 中说:
ttyUSBx
这个x一般表示个变量,它有可能是0,有可能是1,还有可能是其他,在每个人电脑上不一样,所以你要根据自己电脑的情况修改成 ttyUSB数字几
-
@小鱼 谢谢小鱼,这个问题以及解决。下面遇到了个新问题,就算在学习MPU6050时,无法访问下载依赖,错误提示如下:
Resolving featheresp32 dependencies...
Library Manager: Installing git+https://ghproxy.com/https://github.com/rfetick/MPU6050_light.git
git version 2.25.1
正克隆到 '/home/robot/.platformio/.cache/tmp/pkg-installing-83p6st4o'...fatal: 无法访问 'https://ghproxy.com/https://github.com/rfetick/MPU6050_light.git/':Failed to connect to ghproxy.com port 443: 连接超时
VCSBaseException: VCS: Could not process command ['git', 'clone', '--recursive', '--depth', '1', 'https://ghproxy.com/https://github.com/rfetick/MPU6050_light.git', '/home/robot/.platformio/.cache/tmp/pkg-installing-83p6st4o']
这个问题是网站上没有这个库还是其他什么问题呀?
-
-
@小鱼 谢谢小鱼
又遇到一个新问题了,又要麻烦您解答一下哦,非常抱歉!
遇到的问题是在学习在上位机上安装Agent时,安装完成Docker后打开终端,输入下面的指令
sudo docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged --net=host microros/micro-ros-agent:$ROS_DISTRO serial --dev /dev/ttyUSB0 -v6
没有生成教程中的情况。错误代码是:
Unable to find image 'microros/micro-ros-agent:noetic' locally
docker: Error response from daemon: manifest for microros/micro-ros-agent:noetic not found: manifest unknown: manifest unknown.
See 'docker run --help'.请问小鱼,这是不是为安装的系统版本造成的问题呢?如何解决呀
-
@2102685741 在 双驱教程机器人的开发板与ubuntu系统中无法连接,无法下载程序到开发板中 中说:
安装完成Docker后打开终端
Doker应该是安装成功了的:
robot@WP:~$ docker --version
Docker version 27.1.2, build d01f264 -
-
@小鱼 那这种情况还能抢救吗?只能从新安装ros2吗
-
@2102685741 是的
-
@小鱼 小鱼你好,为重新配置了ros2环境,下载的docker成功,但是配置Agent的时候出现下列报错:
robot@WP:~$ sudo docker run -it --rm -v /dev:/dev -v /dev/shm:/dev/shm --privileged --net=host microros/micro-ros-agent:$ROS_DISTRO serial --dev /dev/ttyUSB0 -v6
[sudo] robot 的密码:
Unable to find image 'microros/micro-ros-agent:foxy' locally
foxy: Pulling from microros/micro-ros-agent
99803d4b97f3: Retrying in 1 second
db5ff3f6c5dd: Retrying in 1 second
2b302bcd4745: Retrying in 1 second
11384cc19c20: Waiting
7c8e1899a5dd: Waiting
0ed172a7f8a3: Waiting
697c4bfe41b1: Waiting
275738f86033: Waiting
6c0cfeddf324: Waiting
c3049fa8b211: Waiting
288a0278b454: Waiting
b7218d53976c: Waiting
4f4fb700ef54: Waiting
ea51c84e90c0: Waiting
8772436ffb1c: Waiting
38b221044e3a: Waiting
d1cd86e61e41: Waiting
97fabc4d16df: Waiting
7ddea865b091: Waiting
f5a38820e852: Waiting请问小鱼这个是怎么会是啊
-