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”
保存并退出。
3、更新并重启
sudo apt-getupdate
sudo apt-getupgrade
sudo reboot
(三)关闭串口登录树莓派的通道并使能串口
打开设置:
sudo raspi-config
依次选择Interfacing Options->serial->NO->YES
设置结果:
二、开启ROS串口节点所遇问题
运行ROS节点却发现打不开串口,原因一般为以下两种:
(一)串口号对不上问题
解决方法:
1、查看一下树莓派的串口号是否正确,查看指令如下:
ls -l /dev |grep ttyUSB
结果如下:
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”
重新插入串口设备,普通用户就拥有开启串口的权限了