材料
示例
在本例中,我们使用 NTP 客户端使用 UDP 与 NTP 服务器同步,并在本地跟踪时间。
打开示例。“文件”->“示例”->“NTPClient”->“Advanced”
修改突出显示的代码部分(ssid,密码)以连接到您的 WiFi 网络。
编译代码并将其上传到 BW21-CBV-Kit。按下复位按键后,BW21-CBV-Kit 连接 WiFi,从 NTP 服务器获取 UTC 时间,并将带有时区偏移的当前时间打印到串行监视器。
代码参考
-
配置 NTP 客户端:
NTPClient 需要使用 UDP 客户端进行通信。WiFiUDP 客户端被声明并传递给 NTPClient 构造函数,以及 NTP 服务器地址、时区偏移(以秒为单位)和更新间隔(以毫秒为单位)。如果不需要详细配置,只传入 UDP 客户端也可以,参考“NTPClient”->“Basic”示例。
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, "europe.pool.ntp.org``", 3600, 60000);
-
启动 NTP 客户端:
连接 WiFi 后,使用 begin()函数启动 NTPClient,使客户端与 NTP 服务器同步并获得 UTC 时间。
WiFiUDP ntpUDP;
timeClient.begin();
-
获取当地时间:
getFormattedTime()用于将接收到的 UTC 时间格式化为本地时区。update()在每个循环中被调用,这样 NTPClient 将在每个更新间隔与 NTP 服务器同步一次。
timeClient.update();
timeClient.getFormattedTime();
|