Technical Application Note 013

The CARRIDA discovery protocol

Revision: 4.8.1
Date: 2024-03-06
Contact: support@carrida-technologies.com
Copyright: 1996-2023 CARRIDA Technologies GmbH, Ettlingen, Germany
Author: CARRIDA Support

Home page

Table of Contents

1   Introduction

Sometimes a CARRIDA camera has been configured with an unknown IP address and you do not know how to access it easily. There is a chance that the camera is in its default configuration, which is factory default 192.168.3.15, but in any other configuration the network setup may be completely unknown.

In order to allow the camera to be discovered, even over network boundaries, the camera runs a discovery protocol server which answers to specific external requests.

The CameraClient Tool from CARRIDA which is available for Windows, implements the client side of this protocol so that you can use it to discover any CARRIDA edge device in your local network. You can either use the discovery tool to find and reset the camera's IP address, or you can build your own tool based on the protocol description below.

In addition to the basic camera discovery, the server on the camera allows you also to update the camera with new firmware-packages provided by Carrida.


1.1   Server side protocol

This is the server side protocol which is implemented on each CARRIDA edge device:


Discovery:
  • The discovery server listens on port 4800 for UDP connections.

  • It is a member of multicast group 239.192.13.230 on IPv4 and ff68::CADA on IPv6.

  • When a multicast message is received, two replies containing a camera info package are sent back.

    1. A UDP packet is sent back to the IP address of the sender.
    2. A multicast message for the group 239.192.13.231 for IPv4 resp. ff68::57A7 for IPv6 on port 4900.

1.2   Client side protocol


Discovery:
  • The client sends a multicast UDP packet (contents irrelevant) in the group 239.192.13.230 on IPv4 or ff68::CADA on IPv6 and port 4800.
  • A reply can come in two ways
    1. The socket which was used to sent the packet can wait and listen for replies.
    2. A socket which listens on port 4900 for multicasts in the group 239.192.13.231, resp. ff68::57A7 if IPv6 is used.

The message which is sent back as reply contains information about the system on which CARRIDA is running. The message is composed as long string with new lines to separate message parts.

On original CARRIDA edge devices, the CARRIDA Cam Basic+ and CARRIDA Cam Dragon+, the first part of message contains the full output of the vcver command.


- BEGIN VC SIGNED MESSAGE -
SN: 400341
MAC: 2C:54:91:88:C9:E3
Signature: 738cd672fabe6
...
- END VC SIGNATURE -

On any other system, the content of the first message part is


S/N: N/A
<uname -a output>

The second part of the message is the output of the uname -a command.

For example, on a generic Linux embedded board system, the content of the full return message would be


SN: N/A
uname: Linux 5.8.0-59-generic #66~20.04.1-Ubuntu SMP Thu Jun 17 11:14:10 UTC
       2021 arm64 GNU/Linux