情景描述:
我现在要实现主从机在局域网内的通讯。 我的主机ECI可以连接wifi,从机ECI也能连接同一个wifi,这都是通过无线网卡实现的。 为了控制两个不同的机器人,主机1通过有线连接连接了路由器A,在A侧形成了子网192.168.56.xxx 。从机2通过有线连接连接了路由器B,在B侧形成了子网192.168.12.xxx
现在我希望主从机能够互相ping通,这样我能够在主机上启动ROS master,从机能够访问到ROS节点。图中的不能有线,是我的应用场景要求。
实现方法一:路由器中继
路由器中继(Repeater)。具体来说:
当路由器A连接到路由器B并将其设为桥接模式时,路由器A不会作为独立的路由器工作,而是成为一个无线接入点或扩展的网段。这种模式下,路由器A和路由器B的网络互通,A的无线网络或有线网络可以被B访问,路由器A不会分配新的IP地址,而是让路由器B管理所有IP地址分配。
但是这个我认为我想维护两个机器人系统内网的稳定,而且1-A-B-2的连接模式,对我来说可能有潜在的延时。
实现方法二:走无线wifi
Ifconfig看网络状态
hosts修改
走两个主控1和2的wifi,通过wifi中继。我的主机叫xps,从WIFi处被分配的地址是:192.168.1.227,我的从机叫nrc,从WIFi处被分配的地址是:192.168.1.85
那么就要把这个信息在hosts中添加在最后两行
sudo nano /etc/hosts
主机:
从机:
ros修改
nano ~/.bashrc
主机的ros里面,要自己映射自己的地址,添加下边最后的两行:
从机的ros里面,要自己映射主机的master地址,添加下边最后的两行:
这样就可以了!