目录
1. pc和树莓派同时连在同个局域网下,wifi或者手机热点
4. 分别在树莓派和pc端中的hosts文件中添加对方的ip与用户名
1. pc和树莓派同时连在同个局域网下,wifi或者手机热点
2. ifconfig 分别获取二者的ip地址![](https://img-blog.csdnimg.cn/direct/62d3505d9ecc474787a31b6816d14bc8.png)
3. hostname 分别获取二者的用户名
4. 分别在树莓派和pc端中的hosts文件中添加对方的ip与用户名
sudo gedit /etc/hosts
5. 测试是否成功连接
在pc端输入 ping (树莓派用户名),树莓派输入ping (pc用户名)
6. 更改pc和树莓派的bash文件
sudo gedit ~/.bashrc
二者分别添加下面语句,这里设置pc为主机,树莓派为从机,第一行中本机用户名需要根据情况而定
export ROS_HOSTNAME=wh #本机用户名
export ROS_MASTER_URI=http://192.168.31.80:11311 #主机ip:11311
export ROS_IP=192.168.31.234 #从机ip
更改完成后,点击保存,并且 source ~/.bashrc
7. 运行测试
pc端运行 roscore,树莓派运行 rosrun rosserial_python serial_node.py, pc端运行 rosrun arduino_pkg arduino_node,经测试,树莓派也可运行 rosrun arduino_pkg arduino_node
ROS多机通讯(unable to communicate with master 解决)
8. hosts文件自动还原的解决
如果发现每次重启后,配置的hosts文件被还原,那么
sudo gedit /etc/cloud/templates/hosts.debian.tmpl
在文件中加入和hosts文件中同样的“对方的ip与用户名”,即可解决