We have 3 OAK-1 PoE cameras attached to one PC. Each camera is connected to a separate ethernet port. We can connect to each camera individually (without the others plugged in). We can also update the IP address for each camera so that each one is unique. The problems come when we try to use more than one at the same time.
We use getAllAvailableDevices
to give us a std::vector
of connected cameras. This works as far as giving us 3 sets of dai::DeviceInfo
but the .desc.name
for each of them is the same. It seems to give each entry the IP address for the first one. So if we have 169.254.1.221, 169.254.1.222 and 169.254.1.223
we get 3 entries with 169.254.1.221
. Also we can connect to the first one but it fails to connect to the other two. This suggests it's not just the same camera listed multiple times.
The three ethernet ports have their own IPs of 169.254.1.10, 169.254.1.11 and 169.254.1.12
and when we flashed the new IP addresses we obviously had to use these as the gateway addresses for each camera. This wouldn't be an issue would it? You would expect the ports to have different addresses.
Any idea why we're getting the same three IP addresses back?
Also, there seem to be different versions of getAllAvailableDevices
. There's:
dai::DeviceBootloader::getAllAvailableDevices
dai::Device::getAllAvailableDevices
And there's also:
dai::XLinkConnection::getAllConnectedDevices
Does it matter which you use? Do they all do the same thing?