ROS串口通信(1)环境搭建
ROS串口通信(1)环境搭建
引言
无疑,串口的调试需要联合串口助手调试更加方便。
1、ubuntu串口驱动安装和使用
1.1 安装
终端中输入
sudo apt-get install minicom
配置:输入sudo minicom -s
注意前边一定要加sudo以root权限执行,否则在配置完后会出现cannot write to /etc/minicom/minirc.dfl的权限问题!
弹出下图设置界面:
使用方向键选择Serial port setup,按Enter键,进入设置环境,如下图
输入a或者A,选择串口设备,在这里我使用的是USB转串口,将/dev/tty8修改为/dev/ttyUSB0,这里不固定,试试就知道是USB0还是USB1,也可以先安装下文的调试助手,调试助手更方便的检测出是哪个口。
注意:使用USB转串口,那么串口COM1对应ttyUSB0, COM2对应ttyUSB1;如果没有使用USB转串口,而是直接使用串口,那么串口COM1对应ttyUSB0, COM2对应ttyUSB1。
配置完串口设备后,按Enter键,再输入E,配置波特率,按默认配置即可 115200 8N1 (波特率:115200,数据位:8,奇偶校验位:N 无,停止位:1)。 配置完波特率,按Enter键,再输入F,配置硬件流控,选择NO。 再继续配置软件流控,也选择NO。都配置完后,按下Enter键返回上一界面,选择save setup as dfl(即将其保存位默认配置),再选择Exit,关闭minicom。
1.2 使用
再次输入命令 sudo minicom,是刚才的配置生效,就可以看到串口输出信息。
1.3 Ubuntu 查看串口,设置串口权限
(2)ubuntu 查看串口,设置串口权限
使用命令 ls -l /dev/ttyUSB*
查看相关的信息。
但是普通用户没有usb操作权限,插入USB转串口设备后,普通用户无法访问设备/dev/ttyUSB0, 使用minicom时需在root用户下或加sudo才能使用。为了在普通用户也能正常使用USB转串口设备, 可以通过增加udev规则来实现。步骤如下:
(1)创建文件/etc/udev/rules.d/70-ttyusb.rules
(2)sudo gedit /etc/udev/rules.d/70-ttyusb.rules
一定要增加访问权限:
sudo chmod 666 /dev/ttyUSB0
用文件调整访问权限也可以,没试过,在文件内增加一行
KERNEL=="ttyUSB[0-9]*", MODE="0666"
重新插入USB转串口设备,普通用户就有权限访问了。70-ttyusb.rules文件还有另一种写法,先用lsusb查看USB转串口芯片的idVendor和idProduct:
#lsusb
显示结果中有这么一行
Bus 005 Device 007: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
ID 0403:6001表示idVendor=0403,idProduct=6001
70-ttyusb.rules的内容如下:
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001",MODE="0666"
重新插入USB转串口设备,普通用户同样可以访问了。
2、Ubuntu下的串口助手cutecom
安装:
sudo apt-get install cutecom
打开:
sudo cutecom
查看电脑链接的串口信息(名称):
dmesg | grep ttyS*
初步使用串口助手测试:
发送IMU自动输出指令(使用自己的串口通信设备调试):0xa515ba 读取加速度原始数据。结果如图所示: