基于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 |
原理图
注:误差存在于发送和接收传输过程时延不等
Topic格式 /ext/ntp/${productKey}/${deviceName}/request设备上报Payload内容: { "deviceSendTime":"1543475663000" }
Topic格式 /ext/ntp/${productKey}/${deviceName}/response云端响应Payload内容: { "deviceSendTime":"1000", "serverRecvTime":"1543475763010", "serverSendTime":"1543475763020" }
"deviceRecvTime":1060
deviceTime = serverTime = (serverRecvTime + serverSendTime + deviceRecvTime - deviceSendTime) / 2即 1543475763045=(1543475763010+1543475763020+1060-1000)/2