TimeBeat

Used for Code19 to do Hardware Synchronization.

We have a Miniature PTP & NTP Grandmaster Clock

  • This will server as a master and the cameras/lidars? will serve as slaves to be hardware synchronized.

ip: 10.101.101.99

username: admin password: 1234

Then, make sure to set clock_disable to false.

I figured out that we are using NetworkManager, by doing

sudo systemctl NetworkManager status

These are the commands

sudo nmcli connection modify "eth0" ipv4.addresses 172.168.1.30/24
sudo nmcli connection modify "eth0" ipv4.method manual
sudo nmcli connection down "eth0"
sudo nmcli connection up "eth0"

Take a look at timebeat.yml for configuration guide.

  • They have this
  - protocol:                ptp
    domain:                  0
    #serve_unicast:          true  # (Enterprise Feature)
    #serve_multicast:        true  # (Enterprise Feature)
    #server_only:            true  # (Enterprise Feature)
    announce_interval:       1
    sync_interval:           0
    delayrequest_interval:   0
  • that tells it how often the time sync happens

You also have a hardware trigger, that is done PPS.

the software guide is here
https://support.timebeat.app/hc/en-gb/sections/360004895599-Timebeat-Software-Installation

timebeat software installation:
https://www.timebeat.app/downloads

hardware documents and guides (?) https://support.timebeat.app/hc/en-gb/categories/8782077703314-Hardware-documents-and-guides

Setting up timebeat

Should install Elasticsearch first (forget this, setting the elasticsearch is more overhead, not sure if its worth it). I set it up, but there’s also a dashboard.

Then, go through the software guide https://support.timebeat.app/hc/en-gb/sections/360004895599-Timebeat-Software-Installation

You should configure the username and password correctly.

I had to disable xpack security in /etc/elasticsearch/elasticsearch.yml, to get it working. Not sure if that’s good

  • Didn’t know how to get timebeat

Try this command and make sure no errors

sudo /usr/share/timebeat/bin/timebeat -c /etc/timebeat/timebeat.yml -path.home /usr/share/timebeat -path.config /etc/timebeat -path.data /var/lib/timebeat -path.logs /var/log/timebeat -e

How it works

They say “Timebeat ships data to an elastic database”. Why do they do that if all we need is to do basic hardware sync?

  • Because it offers more advanced features like logging

Timebeat synchronizes devices by distributing precise timestamps across the network.

  • PTP provides higher accuracy (down to nanoseconds), while NTP is more suited for scenarios where millisecond accuracy is sufficient.

The Miniature PTP/NTP Grandmaster Clock broadcasts the time to all other devices (cameras) using the PTP protocol.

  • The cameras will act as slaves, receiving time from the Grandmaster and adjusting their internal clocks accordingly. This ensures that all cameras are precisely synchronized to the same clock.

  • Synchronization Process:

    • The Grandmaster Clock will distribute precise timestamps to the cameras over the network.
    • The cameras use these timestamps to align their internal clocks so that each frame they capture has the same reference time, ensuring accurate time alignment between video streams. This is especially important for applications like 3D reconstruction or video stitching.