基于NB-IoT物联网的NTP时钟同步实现方式

2020-02-21
来源:网络转载

基于NB-IoT物联网的NTP时钟同步其实就是用ntp协议算法实现方式无线对时,其实也就是ntp对时,下面详细描述一下算法。

1 时钟同步原理(时差计算)

时差计算假定网络传输时延相等


Device本地时间

Server时间

Device发送

1000(deviceSendTime)

1543475762985

Server接收

1025

1543475763010(serverRecvTime)

Server发送

1035

1543475763020(serverSendTime)

Device接收

1060(deviceRecvTime)

1543475763045

同步后

1543475763045

1543475763045

原理图

注:误差存在于发送和接收传输过程时延不等


2.IoT平台设备端和服务端时钟同步实现


2.1 设备端Pub Topic

Topic格式    /ext/ntp/${productKey}/${deviceName}/request设备上报Payload内容:    { "deviceSendTime":"1543475663000" }


2.2 设备端收到Sub Topic

Topic格式    /ext/ntp/${productKey}/${deviceName}/response云端响应Payload内容:    { "deviceSendTime":"1000",      "serverRecvTime":"1543475763010",      "serverSendTime":"1543475763020"    }


2.3 设备端接收到Sub的本地时间戳


"deviceRecvTime":1060


2.4 设备端与服务端时钟同步后时间


deviceTime = serverTime = (serverRecvTime + serverSendTime + deviceRecvTime - deviceSendTime) / 2即 1543475763045=(1543475763010+1543475763020+1060-1000)/2


阅读1619
分享