概述
随着互联网的普及和发展,时间同步变得更加重要。准确的时间同步有助于确保计算机和其他设备的时间一致性,这对于许多任务来说至关重要,特别是对于需要进行数据同步的任务。
在开发基于ESP8266或ESP32的Arduino项目时,获取准确的网络时间是非常重要的。通过使用 NTP (网络时间协议)服务器,我们可以获取到当前的日期和时间,并在我们的项目中使用。
本文将详细介绍常用的NTP服务器地址及端口,让您的网络时钟精准同步!
一、什么是NTP
网络时间协议(Network Time Protocol,NTP)是一种用于同步计算机时钟的协议。它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正, 与标准时间的误差小于1ms。标准时间来源于原子钟,卫星,天文台等。
使用NTP可以确保计算机和其它设备的时间准确性,Arduino环境下的NTPClient库安装方法,主要函数使用方法,并提供可直接一个可完整运行的示例程序源代码实现。
二、常用的NTP服务器
NTP服务器是一种运行NTP服务的服务器,它可以向计算机和其他设备提供时间信息。这些服务器以UDP协议的形式在123端口进行通讯。在配置计算机的网络时钟时,需要使用NTP服务器的IP地址和端口。以下是常用的NTP服务器IP地址,默认端口号:123。
1、210.72.145.44
是由国家时间服务中心提供的,是中国官方的时间参考标准服务。使用国家授时中心的NTP服务器,可以实现对于中国境内的计算机时间的同步,特别是对于需要确保准确时间的业务来说,使用国家授时中心的NTP服务器可以提供更高的精度。
2、time.nist.gov
美国国家标准局提供了多个NTP服务器来保证全球网络时间的准确性,是全球使用最为普遍的时间参考之一,使用该服务器可以让您的计算机与美国标准时间同步。
3、ntp.ecb.int
欧洲央行提供了多个NTP服务器,它们分别位于欧洲不同的国家和城市,它可以确保计算机和其他设备的时间准确性,可以用于欧洲境内的计算机时钟同步。
4、pool.ntp.org
这是一个开放的NTP服务器池,它会根据你所在地区的网络条件自动分配最近的可用服务器。这也是Arduino NTPClient 默认NTP服务器。
/ NTPClient.h
#pragma once
#include "Arduino.h"
#include <Udp.h>
#define