hello,
to minimize the time difference between multiple shakes, the following:
Minimize the difference between each Shake’s NTP daemon:
- arrange / set up a local NTP server that all the Shakes will connect to:
1.1. this should be on the same LAN as all the Shakes themselves - connect a GPS unit to this NTP server:
2.1. make sure that the NTP daemon on this Shake is using the GPS module as the NTP server it is using to set its time - configure all Shakes to use the NTP server set up in step 1
- let the Shakes run for at least a week for each Shake’s NTP daemon to “settle” on the minimum adjustment necessary to keep the Shake’s clock as close to “in sync” as possible
Minimize the difference between each Shake’s MCU clock:
this is trickier since each MCU is governed by a crystal that is unique to each Shake. the only thing that can be done here is to guarantee that the external conditions of each Shake are as close to the same as possible:
- minimize all wind influences
- minimize temperature fluctuations
- maintain the same ambient temperature for each unit
- add no extra software onto the Shake computer, to guarantee that the internal temperature is minimized:
4.1. if you don’t need to use SWARM, consider stopping the docker containerrsh-data-consumer
to further reduce CPU load, as a way to further minimize temperature variance over time.
stopping this container can be done with the following command, executed after the Shake boot-up sequence is complete, (see log file/opt/log/postboot.log
):
> sudo systemctl stop rsh-data-consumer
but like i said, since the MCU crystals run completely independent from each other, there is no way to guarantee “sync-ness” between Shake beyond what is advertised: within 10Ms of the Pi’s clock time.
once these conditions are set up, if you can, measure the difference between the units; though if the units are far apart from each other, this might not be possible. perhaps it would be an idea to set up the units in a lab, on a pier, and then generate a man-made “event”. any observed time differences between units placed close to each other could be regarded as accurate.
cheers, hope this helps,
richard