嵌入式设备ntp同步时间的一些笔记
本文主要记录平常积累的关于ntp的东东。
为了连接ntp服务器,设备必须连外网,设置方法不尽相同,此处从略。
ntp服务器有很多,但有些是用不了的。测试中用的是202.120.2.101,它是上海交通大学网络中心NTP服务器地址。ntp客户端使用的是ntpclient,使用方法如下:
$ ntpclient -s -t -i 10 -h 202.120.2.101
一、ntp同步时间测试
随意设置一个时间:
$ date 09120013
Thu Sep 12 00:13:00 GMT-8 2013
同步时间:
$ ntpclient -s -t -i 10 -h 202.120.2.101
41526 58384.802 121782.0 24.6 -2172899597099.9 37323.0 0
查看时间:
$ date
Sat Aug 17 20:38:07 GMT-8 2013
写到RTC中
$hwclock -uw
在测试中,发现设备重启后,时区老是不对,一个很牛的但现在已经离职的同事告诉我是有个地方没设置。
修改/etc/default/rcS,将UTC打开,设置为yes。
# Set UTC=yes if your system clock is set to UTC (GMT), and UTC=no if not.
UTC=yes
注:原来是注释掉的。
修改后,再次同步时间:
$ ntpclient -s -t -i 10 -h 202.120.2.101
41506 84272.529 61186.0 20.2 28896829196.1 28976.4 0
$ date
Fri Aug 23 15:26:10 GMT-8 2013
$ hwclock -uw
$ hwclock -r
Fri Aug 23 07:26:19 2013 0.000000 seconds
时间没问题,时钟芯片比系统少8个小时。
重启设备
内核启动信息:
setting system clock to 2013-08-23 07:26:32 UTC (1377242792)
登陆后查看时间:
$ date
Fri Aug 23 15:26:46 GMT-8 2013
这次没问题了。
二、时区在程序的使用。
linux系统的时区文件在/usr/share/zoneinfo目录中。
可以对时区进行一个小小的测试。
$ date
Thu May 9 17:42:24 CST 2013
复制时区文件
$ pwd
/usr/share/zoneinfo/Asia
$ cp Tokyo /etc/localtime
$ date
Thu May 9 18:43:36 JST 2013
(东京时间比北京时间快一个小时)
很多上位机可以进行时区的选择,那么,在程序如何响应这个选择呢?
可以将每一个时区文件整合到一个数组当中,这里指的是每一个时区中的一个文件,比如东8区,可以使用Asia目录的Shanghai、Chongqing、Taipei中任意一个即可。
数组示例如下,当然,这个数组肯定要根据实际情况修改的。
static char* timezone_files[] =
{
"GMT+12",
"GMT+11",
...
"GMT-12",
};
上位机发送时区索引值到下位机中,通过查找时区文件数组,得到对应的时区文件,然后拷贝为/etc/localtime(软链接方式也可以)即可。从上面的测试可知,当/etc/localtime更改时,系统时间会马上跟着更改。这样便完成时区的设置了。
后记:计算机时间不会骗人,这个文章中设置的各种时间与文章编写时间都差很远(测试的时间有5月初的,有8月底的,现在是10月底),因为这些是在日常中慢慢积累出来的。从文章中的时间以及文章中某一句话,可以得知此期间发生了一些事,如今物是人非,不回忆也罢。
迟,记于2013年10月20日。
嵌入式设备ntp同步时间的一些笔记相关推荐
- [云计算学习3] Linux基础 : 使用chrony搭建时间服务器并让下游NTP同步时间
Linux基础 : 使用chrony搭建时间服务器并让下游NTP同步时间 第一步 安装Chrony并设置开机启动 第二步 为主机1(服务器)搭建时间服务器 第二步 为主机2(客户端)同步主机1的NTP ...
- linux NTP同步时间后比实际时间慢8小时
1. issue ntp同步时间后比实际时间慢8小时 2. analysis 查询系统当前的时区设置 date -R,看到系统是 +0000 时区,而中国统一采用北京所在的东8时区,由此造成了8小时的 ...
- linux ubuntu多台主机使用ntp同步时间
linux ubuntu多台主机使用ntp同步时间 1台主机同步网络时间,叫做server,其他主机同步server的时间,叫做client 步骤: 1.下载ntpdate 2.统一时区 tzsele ...
- ESP32超详细学习记录:NTP同步时间
本来想从开源项目找找灵感的,但是!那些代码真烂!!!!! 开源项目免不了的就是抄抄抄代码,想知道 NTP 是怎么实现的还要读那一堆烂代码,烦! 就算开源项目能怎么样!不还是一样的 烂!代!码! 自己 ...
- windows下局域网内通过NTP同步时间
目录 一.主机设置 1.打开注册表编辑器 2.启用NTP服务 3.设定强制主机 4.重启NTP服务 二.服务器操作 有些服务器无法连接外网,所以服务器时间可能存在偏差,这样就需要通过局域网来同步服务器 ...
- linux ntp 同步时间,linux ntp时间同步的两种方法
服务端IP 192.168.1.101 客户端IP 192.168.1.88 1.首先配置ntpd服务器: vi /etc/ntp.conf 配置文件中有restrict default语句 ...
- Linux安装ntp同步时间
1.安装 yum install ntp 安装下就可以了. 2.寻找一个网络时间服务器,比如一些国家授时中心 微软公司授时主机(美国) time.windows.com 台警大授时中心(台湾) as ...
- linux下客户端与ntp同步时间,如何在Windows客户端和Linux NTP服务器之间同步时间?...
我希望我的 Windows 7机器能够从我的 Linux Debian Sid服务器中获取时间. 所以我想提前并从Debian存储库安装OpenNTPD.默认情况下它不会监听任何内容,因此我将其配置如 ...
- Windows作为NTP同步时间的服务器时的设置
1.先关闭Windows系统自带的防火墙; 2. 在桌面上右击"计算机", 选择"管理", 然后选择"服务". 具体如图所示 2. 选中&q ...
最新文章
- UML与软件建模 第三次作业
- 【科普】为什么ip地址通常以192.168开头?
- 改善EF代码的方法(下)
- ubuntu16.04安装UR3/UR5/UR10机械臂的ROS驱动并实现gazebo下Moveit运动规划仿真以及真实UR3机械臂的运动控制(2)
- si4438-IAR不能接收和发送的问题
- python gitlab_Python Gitlab Api 使用方法
- Auto-Configuration Error: Cannot find gcc or CC
- ABP开发框架前后端开发系列---(9)ABP框架的权限控制管理
- C# - 类_使用新成员隐藏基类成员
- python模块导入_Python模块及其导入
- 作者:赵衎衎,男,中国人民大学信息学院博士生,CCF学生会员。
- Asp.Net完美隐藏服务器信息
- Ubuntu18.04安装markdown工具Typora
- Atitit websocket 的前后端实现最佳实践t66 目录 1. 技术选型	1 2. 1.首先,在pom.xml引入如下jar包。Java-WebSocket-1.3.0.jar	1 3.
- 基因的entrez ID 跟symbol等其它ID的转换程序
- angular7.0+ngx-weui公众号开发,开发及框架搭建(一)
- 复旦的新衣再登Nature!穿在身上能为手机充电
- 能哄老婆睡觉的小故事
- 【社区图书馆】一年一度世界读书日正当时!
- 登录onedrive显示无法连接服务器,Win10打不开OneDrive提示“连接到OneDrive时出现问题”怎么解决?...
热门文章
- 2699!Redmi Note 11潮流限定版再次发售:全球首发“全系悬浮工艺”
- 看过各地的方言标语,才明白什么叫文字的力量
- 12499元!“不知名”折叠手机2分钟售罄,网友:备货就10台...
- 蚂蚁区块链正式升级为蚂蚁链:首次公布“日活”超1亿
- 雷军晒十多年前的手机:支持无线充电、内置8GB存储
- 百度AI实力响应“新基建”号召 Q1财报智能交通成绩亮眼
- 中概股信任危机?美证监会主席直言不要购买中概股股票
- 女子15000元网购兰基博尼跑车,上路就被查了,这操作真没见过!
- 又一个脑洞实现了!索尼将推出穿在身上的空调:夏日出门必备
- 6400万像素时代来了,小米首个入局