1. 前言
最近在做一个嵌入式的项目,遇到了一下的麻烦:
- 服务器和板卡(arm)之间需要严格的时间同步
- 板子启动wifi配网成功之后,总会有一定的时间延时
- 配网之前的时间均为1970-01-01,配网之后变为现在的UTC本地时间
现在需要测试一下,从联网成功,到时间更新完成,大致的延迟时间。
2. 程序
ARM板子的时间同步模块为ntp
模块,如下图所示:
(注:ntp是网络时间同步协议,非常精确和稳定,可自行维基百科查询)
本次测试采用shell脚本形式,代码如下:
#!/bin/bash#ping IP地址(或网址)建议使用IP地址
ip=baidu.com
cnt=2
timer=0 #从联网到时间更新所消耗的秒数
#每次ping 两次ip地址
while true
doping -c $cnt -w 2 $ip > /dev/null 2>&1if [ $? -eq 0 ]thenecho "联网成功" #如果ping通了,表示wifi已经联网了while truedoecho "timer=$timer"let "timer++"time=`date|awk '{print $6}'` #获取板卡中当前的时间(6是因为我的板卡第6列是年份,这个需要根据系统不同自行修改)if [ $time -eq 2018 ]thenecho "the time is $time"echo "从联网到更新时间共经历$timer秒"exitelseecho "The time is $time"fisleep 1doneelseecho "网络未连接"sleep 1fidone
PS: 以上代码如有问题,请留言,多谢!