我目前正在做一个机器人项目。我在这个项目中使用了两个不同的传感器,它们通过以太网交换机连接到我的电脑。然而,这两个传感器需要为电脑设置两个不同的静态 IP。我的意思是,
- 对于传感器 1,我必须将计算机的静态 IP 设置为 192.168.1.102
- 对于传感器 2,我必须将计算机的静态 IP 设置为 192.168.1.2
但是,由于我的计算机只有一个以太网接口,因此我一次只能设置其中一个,并且无法从两个传感器获取数据。
传感器正在向其相关的 ROS 驱动程序/包发送 UDP 包。而且我无法访问传感器固件,因此无法更改传感器的默认 IP 地址。
我对网络不太了解。希望问题定义清楚。
是否有一种软件或硬件技巧可以使两个传感器同时工作?
我正在运行 Ubuntu 16.04 和 ROS Kinetic。
答案1
您可以在同一个以太网连接上拥有多个地址,只需指定其中一个地址作为“主”地址即可。
我首先想到的是,这两个命令应该可以解决问题:
ifconfig eth0 inet 192.168.1.102/24 up
ifconfig eth0:1 inet 192.168.1.2/24 up
要使上述操作有效,您需要将其替换eth0
为以太网连接的实际名称。您可以通过查看ifconfig
(无参数)来获取此设备名称。它很可能以 开头e
。
上述两个命令应设置两个 IP,并且它们应保留到重新启动为止。如果您需要它在启动后保持不变,则需要/etc/sysconfig/network-scripts/
相应地编辑相应的接口脚本。
我不确定 Ubuntu 是否默认安装了 ifconfig 命令子集,如果没有,则可以使用 轻松修复apt-get install
。