时间同步¶
Open Edge Device Kit 在 MindSphere 时钟与设备时钟不同时发布一条消息。时钟偏斜在 agentruntime/monitoring/clockskew
主题的 diff
字符段中发布。它以秒为单位保存时间差,并用一个整数表示,该整数用以下公式表示:
serverTime [s] - deviceTime [s]
这意味着。例如 diff
是 -10
秒,设备时钟必须往回调10秒。
同步设备时钟和 MindSphere 时钟¶
-
建立到 MQTT 代理的连接,其中
<mqtt_host>
是主机名称,<mqtt_port>
是端口:String broker = String.format("tcp://%s:%d", <mqtt_host>, <mqtt_port>); MqttClient mqttClient = new MqttClient(broker, "MQTTClientID"); mqttClient.connect();
-
订阅各自的主题。
mqttClient.subscribe("agentruntime/monitoring/clockskew", mqttMessageListener);
-
处理消息并生成日志消息。更新设备时间(没有在下面展示)。
@Override public void messageArrived(String topic, MqttMessage message) { LOG.info("MQTT message arrived: {} --> {}", topic, message.toString()); }
Last update: June 26, 2019