Ameba Arduino: [RTL8722CSM] [RTL8722DM] [RTL8722DM MINI] 使用NTPClient库获取本地时间

材料准备

  • AmebaD [RTL8722DM / RTL8722CSM / RTL8722DM MINI] x 1

范例说明

在此范例中,我们使用NTP客户端与使用UDP的NTP服务器同步,并追踪本地时间。打开范例 “File” -> “Examples” -> “NTPClient” -> “Advanced”

1

修改标注的代码部分(ssid,password)以连接到您的WiFi网络。

1

编译代码并将其上传到Ameba。按下“重置”按钮后,Ameba连接到WiFi,从NTP服务器获取UTC时间,并以时区偏移量输出当前时间到serial monitor。

1

Code Reference

配置NTP客户端:
NTPClient需要使用UDP客户端进行通信。 WiFiUDP客户端并将其与NTP服务器地址,时区偏移量(以秒为单位)和更新间隔(以毫秒为单位)一起传递给NTPClient。如果不需要详细的配置,只需传入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();
请先确认已安装QQ通讯软体