Skip to content

时间同步

Open Edge Device Kit 在 MindSphere 时钟与设备时钟不同时发布一条消息。时钟偏斜在 agentruntime/monitoring/clockskew 主题的 diff 字符段中发布。它以秒为单位保存时间差,并用一个整数表示,该整数用以下公式表示:

serverTime [s] - deviceTime [s]

这意味着。例如 diff-10 秒,设备时钟必须往回调10秒。

同步设备时钟和 MindSphere 时钟

  1. 建立到 MQTT 代理的连接,其中 <mqtt_host> 是主机名称, <mqtt_port> 是端口:

    String broker = String.format("tcp://%s:%d", <mqtt_host>, <mqtt_port>);
    MqttClient mqttClient = new MqttClient(broker, "MQTTClientID");
    mqttClient.connect();
    
  2. 订阅各自的主题。

    mqttClient.subscribe("agentruntime/monitoring/clockskew", mqttMessageListener);
    
  3. 处理消息并生成日志消息。更新设备时间(没有在下面展示)。

    @Override
    public void messageArrived(String topic, MqttMessage message) {
        LOG.info("MQTT message arrived: {} --> {}", topic, message.toString());
    }
    

还有问题?

向社区提问


除非另行声明,该网站内容遵循MindSphere开发许可协议.


Last update: June 26, 2019