ubuntu 开启串口 树莓派_树莓派3B开启串口并运行ROS的串口节点所遇问题

本文详细介绍了如何在Ubuntu系统下为树莓派3B开启串口,并解决了在运行ROS串口节点时遇到的问题,包括串口号匹配和权限设置。通过修改cmdline.txt文件、关闭板载蓝牙、调整串口登录设置,以及添加udev规则,确保串口正常工作。
摘要由CSDN通过智能技术生成

sudo nano /boot/cmdline.txt

修改为如下内容:

dwc_otg.lpm_enable=0 console=serial1,115200 console=tty1 root=/dev/mmcblk0p2 kgdboc=serial1,115200 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait

保存并退出。

(二)关闭板载蓝牙方法:

1、输入下面命令关闭hciuart:

sudo systemctl disable hciuart

2、编辑/lib/systemd/system/hciuart.server 将 “ttyAMA0”(或者serial0)修改为“ttyS0”

ce2bb11c03844552cd13c1fc6518be4d.png

保存并退出。

3、更新并重启

sudo apt-getupdate

sudo apt-getupgrade

sudo reboot

(三)关闭串口登录树莓派的通道并使能串口

打开设置:

sudo raspi-config

依次选择Interfacing Options->serial->NO->YES

设置结果:

e2a5903da08daf903aefcdba4038ab04.png

二、开启ROS串口节点所遇问题

运行ROS节点却发现打不开串口,原因一般为以下两种:

(一)串口号对不上问题

解决方法:

1、查看一下树莓派的串口号是否正确,查看指令如下:

ls -l /dev |grep ttyUSB

结果如下:

17b51ddedb397483dbae185e1fafcff1.png

ROS节点程序中用的是”/dev/ttyUSB0”串口端口号,因此端口号能够对应起来,否则的话需要修改程序中的端口号,使得程序中的端口号和设备的端口号相对应。

(二)串口开启权限问题

串口的开启需要root权限,节点运行成功却打不开串口,可能是用户没开启root权限,解决方法如下:

增加udev规则

创建文件/etc/udev/rules.d/70-ttyusb.rules:

sudo vim /etc/udev/rules.d/70-ttyusb.rules

在文件内添加:

KERNEL==”ttyUSB[0-9]*”, MODE=”0666”

重新插入串口设备,普通用户就拥有开启串口的权限了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值