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();
Copyrights ©瑞晟微电子(苏州)有限公司 2021. All rights reserved.
請先確認已安裝QQ通訊軟體