Axis Camera M1103 Ethernet setup with RoboRIO

For the past two years, my team has used the M1103 camera for vision processing. In the past this was as simple as configuring its static IP (which for the last two years was 10.45.4.11) and connecting it to the wireless bridge, then connecting the cRIO to the bridge. After that point, the camera could be accessed both wirelessly via http://10.45.4.11 and the Driver Station

However, the new 2015 control system with the RobioRIO includes ports for USB cameras, as well as a new IP system through mDNS. After configuring the IP through the axis camera utility, which set the IP to change via DNS (10.45.4.20 one time and 10.45.4.22 another), I have been able to display the camera via the web interface at its respective IP. However, I have not been able to view the camera on the Drive Station. I open the Dashboard and the Driver Station, change “Camera Off” to “IP Camera,” then enable the code. Nothing shows up.

Currently, the camera is connected to the router, along with the roboRIO, which I can access wirelessly. I have also tried an Ethernet chord between the computer and the wireless bridge.

What makes this situation even more annoying is not only the lack of resources regarding 2015 camera configuration, but I also receive an error when I load the driver station: “IMAQdx: Camera not Found,” along with a hex code. I have found no explanations for this error. I can view camera feed on the web interface, but not on the driver station. I have used the setup utility for the axis camera, along with the bridge access point setup, multiple times.

I am aware that the new “IP” for the axis camera is axis-camera.local. I receive no connection. Only on the IP provided by the axis setup utility can I receive any feed. Is there a way to set this? I notice in the code there is a select function with either axis-camera.local or USB 0. I have ran the code in test mode and have noticed that false is sent, selection axis-camera.local. Is there a way to change the camera “IP” to axis-camera.local. Is that why the driver station can’t find the camera?

Thank you very much

EDIT: I realize this should probably go under Control Systems.

Yes the default LabVIEW dashboard only works with axis-camera.local. You can change the DNS address in the axis webserver in the advanced networking settings. NI posted instructions here: Using the Machine Name of an Axis IP Camera - NI Community

Were you able to get the camera up on the dashboard?

I followed the link to NI and posted there as well, but nothing I do seems to get the dashboard to find the camera, which makes the vision section not run at all :frowning:

Any suggestions would be much appreciated. I’m thinking it has to do with the addressing of the camera, the camera is setup as ipv4 but the vision code looks to me like it is looking for axis-camera.local which I have heard is ipv6? No idea if that is the problem or not as I have fiddled a tiny bit with that setting and nothing seems to make it find the camera.

Yes, I was able to get the camera working. So what I realized I had to do was go to the web interface, at 10.45.4.22, and then change the DNS-name from axis-123841234 to axis-local. Once I did that, the dashboard was able to recognize the camera.

“axis-camera” is what the DNS name should be.

As shown here: For the 2020 season software documentation has been moved to https://docs.wpilib.org. Documentation for KOP items can still be found here. | FRC KOP Documentation

We ended up getting our camera to work as well. Our problem was the true/false constant that switches between USB and IP camera access. We had it set to USB. Doh!