1.通过sudo apt-get install ros-indigo-serial下载ROS对应版本的工具包
serial会安装在opt/ros//share/serial目录下,
重启终端,输入 roscd serial,可以检测到serial包的路径,说明serial包已经安装成功
2.永久修改串口权限
发现无法通过串口下载程序,权限不足的问题。
假设串口设备是 /dev/ttyUSB0,那么可以在终端下输入
sudo chmod 666 /dev/ttyUSB0
但是每次重新插入USB to TTL设备都要重新更改权限,很不方便,于是找到了插入后自动设置权限的方法:
sudo gedit /etc/udev/rules.d/70-ttyusb.rules
其中gedit用vim也好其它的也行
在该文件中添加如下一行(可能不存在此文件而创建一个新文件)
KERNEL==“ttyUSB[0-9]*”, MODE=“0666”
这样ttyUSB0-ttyUSB9默认的权限都变成了666,普通用户也可以读写串口了。
#include <ros/ros.h>
#include <serial/serial.h> //ROS已经内置了的串口包
#include <std_msgs/String.h>
#include <std_msgs/Empty.h>
serial::Serial ser; //声明串口对象
//回调函数
void write_callback(const std_msgs::String::ConstPtr& msg)
{
ROS_INFO_STREAM("Writing to serial port" <<msg->data);
ser.