中文字幕视频在线看,亚洲精品无码久久久久av老牛,亚洲精品无码av片,亚洲av影院一区二区三区,亚洲国产精品成人久久久

阿里云時間同步服務器教程

如何基于NTP協(xié)議獲取阿里云實時時間

NTP協(xié)議簡介

NTP服務器(NetworkTimeProtocol(NTP))是用來使計算機時間同步化的一種協(xié)議,它可以使計算機對其服務器或時鐘源(如石英鐘,GPS等等)做同步化,它可以提供高精準度的時間校正(LAN上與標準間差小于1毫秒,WAN上幾十毫秒),且可介由加密確認的方式來防止惡毒的協(xié)議攻擊。時間按NTP服務器的等級傳播。按照離外部UTC源的遠近把所有服務器歸入不同的Stratum(層)中。

NTP報文格式

阿里云時間同步服務器教程

從上圖可知:每一個字段代表不一樣的設置功能,如一下表所示:

阿里云時間同步服務器教程

首先我們做一個簡單的實驗,如下圖所示:

阿里云時間同步服務器教程

阿里云NTP服務器是ntp1.aliyun.com(IP為120.25.115.20)端口為123,因為ntp服務器是udp協(xié)議,ip:120.25.115.20端口號:123,格式是接收48個字節(jié),第一個字節(jié)以0xa3(版本4)、0x1b(版本3)、0x13(版本2)、0x0b(版本1),返回的數(shù)據(jù)中帶有時間。上圖所示我們使用版本3獲取阿里云NTP信息,阿里云服務器返回的數(shù)據(jù)我們?nèi)〉?0位到43位的十六進制,所以得到0xE2CFA73B十六進制,我們把該十六進制轉成十進制變成3805259579秒再減去1900-1970的時間差(2208988800秒)我們打開
https://tool.lu/timestamp/如下圖所示:

阿里云時間同步服務器教程

從上面我們可以知道獲取NTP實時時間需要以下步驟:

①連接阿里云NTP服務器。

②使用開發(fā)板發(fā)送NTP報文到阿里云NTP服務器中。

③獲取阿里云NTP服務器的數(shù)據(jù),取第40位到43位的十六進制。

④把40位到43位的十六進制轉成十進制。

⑤把十進制數(shù)減去1900-1970的時間差(2208988800秒)所得數(shù)值轉成年月日時分秒。

根據(jù)上述的步驟,我們可以使用MCU+ESP8266獲取實時時間,如下圖所示:

阿里云時間同步服務器教程

①連接阿里云NTP服務器,請配置esp8266為UDP協(xié)議(注意開透傳模式)

②發(fā)送NTP報文到阿里云NTP服務器中,如下源碼所示:

阿里云時間同步服務器教程

初始化NTP協(xié)議包,如一些源碼所示:

阿里云時間同步服務器教程

我們主要定義了兩個參數(shù)version和mode,定義版本號為3,模式為3(mode表示客戶端),0011<<3(version)+0011(mode)= 0x1b,其他位為0,符合前面的網(wǎng)絡調式助手發(fā)送的NTP數(shù)據(jù)包,然后我們開啟定時器1s發(fā)送esp_ntp_buf緩存區(qū)數(shù)據(jù)。

獲取阿里云NTP服務器的數(shù)據(jù),取第40位到43位的十六進制,如一下源碼所示:

阿里云時間同步服務器教程

上述源碼可以獲取服務器返回的數(shù)據(jù)取40位到43位并轉成十進制

把十進制數(shù)減去1900-1970的時間差(2208988800秒)所得數(shù)值轉成年月日時分秒即可。

阿里云時間同步服務器教程

阿里云時間同步服務器教程

版權聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至2705686032@qq.com 舉報,一經(jīng)查實,本站將立刻刪除。原文轉載: 原文出處:

(0)
尊云-小張的頭像尊云-小張
上一篇 2024 年 4 月 30 日 14:15
下一篇 2024 年 4 月 30 日 14:26

相關推薦

發(fā)表回復

登錄后才能評論

聯(lián)系我們

400-900-3935

在線咨詢: QQ交談

郵件:cong@zun.com

工作時間:365天無休服務 24小時在線

添加微信