Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags. |
How to Determine Your Prosilica GigE Camera's IP Address
Description: This tutorial will show you how to determine the prosilica camera's IP address if you do not remember it.Keywords: Prosilica, IP, camera
Tutorial Level: BEGINNER
Next Tutorial: Configuring the Prosilica gigE for a desktop
Contents
Compiling
Start by getting the dependencies and compiling the driver.
$ rosdep install prosilica_camera $ rosmake prosilica_camera
Powered On and Plugged in
Make sure that your Prosilica camera is powered at 12V, connected to your computer, and the green and orange network lights are lit.
Making Sure the Network is Configured for IPv4 Networking
Before you can find a camera on the network, the network adapter to which the camera is connected must be configured for IPv4 networking. In many cases this will be done already, so try skipping to the next section of this tutorial, and come back here if the discover command can't find your camera.
Configuring a network adapter is beyond the scope of this tutorial. The following tips may allow you to get started, but may get you in trouble with your network administrator. Moreover, the setup you get by following these tips will not persist when the computer is rebooted.
To check that an adapter is configured for IPv4 networking, use the ifconfig command. For example if your camera is connected to eth0, do:
$ ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:50:b6:03:f4:60 inet6 addr: fe80::250:b6ff:fe03:f460/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:492 (492.0 B)
In this case, the camera has an inet6 addr, but no inet addr, so it is not configured for IPv4 networking.
We can give the adapter an IPv4 address with the following command (this address probably won't get you in trouble):
$ sudo ifconfig eth0 192.168.123.1 netmask 255.255.255.0
Now we can check that the computer does indeed have an inet addr:
$ ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:50:b6:03:f4:60 inet addr:192.168.123.1 Bcast:192.168.123.255 Mask:255.255.255.0 inet6 addr: fe80::250:b6ff:fe03:f460/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:20 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:3641 (3.5 KB)
Capturing the IP address
Run:
sudo tcpdump -n src port 3956 -i ethx
where ethx is the interface the camera is connected to. This will be listening for traffic and return the IP address of our camera.
In another window run:
rosrun prosilica_gige_sdk ListCameras
The tcpdump command will output a line similar to this one:
23:14:47.009127 IP 10.68.0.20.3956 > 10.68.0.1.41020: UDP, length 256
The address of the camera is 10.68.0.20. (Note that ListCameras will probably not see the camera.)
You can now configure the network interface (or an alias) in such a way that the camera is on the same subnet, and you can set the camera's IP address as described in the configuring the Prosilica gigE for a desktop tutorial.