NTP校時,網絡校時,NVR校時,錄像機NTP校時,京准電子


NTP校時,網絡校時,NVR校時,錄像機NTP校時,京准電子

NTP校時,網絡校時,NVR校時,錄像機NTP校時,京准電子

官微 ahjzsz 技術交流 ahjzsz 京准電子科技

1.前言

本文檔主要介紹通過ntp服務實現開發板的聯網自動校對時間。

2.簡介

ntp的下載編譯,以及開發板接通外網,實現ntp服務。

3.開發環境

開發語言:C語言

編  譯  器:arm-linux-geaubihf-gcc

編輯工具:vi,vim

下載工具:瀏覽器內置下載

調試工具:超級終端win7版本

調試方式:串口輸出LOG信息

4.編譯環境安裝(簡)

Win7下安裝好VMware  Workstation11(下載地址:http://www.xpgod.com/soft/20113.html)下載好后按操作步驟安裝(https://jingyan.baidu.com/article/a3a3f811d6d32e8da2eb8a33.html)

下載Ubuntu14.04鏡像(http://releases.ubuntu.com/14.04/ubuntu-14.04.5-desktop-amd64.iso)然后在VMware 11 里安裝,創建虛擬機選擇稍后安裝系統:

內存:2GB(大於等於1GB即可)

處理器:4(自主選擇)

硬盤:50GB(大於等於40GB)

網絡適配器:選擇橋接

然后重啟該虛擬機選擇前面下載下來的鏡像安裝好Ubuntu。

然后在VMware界面點擊菜單上的虛擬機選項,選擇安裝VMware Tools。安裝步驟(https://jingyan.baidu.com/article/1974b289b813dcf4b1f77411.html)。

安裝完這個工具之后,重啟Ubuntu,Win7和Ubuntu就可以互傳文件了。

在win7上下載AM335x SDK(http://downloads.ti.com/processor-sdk-linux/esd/AM335X/latest/exports/ti-processor-sdk-linux-am335x-evm-04.01.00.06-Linux-x86-Install.bin?tracked=1)下載完成后直接拉到Ubuntu桌面。

在Ubuntu下用Ctrl+Alt+T打開中端,輸入sudo –s   再輸入su –root獲取root權限。

然后在終端下找到剛剛拉過去的bin文件,通過chmod +X bin文件名再用./bin文件安裝SDK,這里會進入圖形界面安裝,按要求安裝好SDK后,我們需要配置開發環境。

具體步驟可以看TI的官方文檔。

5.下載ntp源碼包並編譯

上網查找ntp的源碼包(下載地址:http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-dev/ntp-dev-4.3.93.tar.gz),

下載下來,在之前下載配置好的am335x的開發環境中進行交叉編譯,步驟如下:

1.解壓ntp源碼包到指定目錄 

root@ubuntu2:/home/faceless/share# tar -zxvf ntp-dev-4.3.93.tar.gz

2.進入剛解壓的目錄,並配置

(1)root@ubuntu2:/home/faceless/share# cd  ntp-dev-4.3.93.tar.gz

(2)在ntpd/ntp_loopfilter.c中增加下面的宏定義

#ifndef  MOD_NANO

#define  MOD_NANO  0x2000

#endif

(3)root@ubuntu2:/home/faceless/share/ntp-dev-4.3.93#  ./configure –prefix=$PWD/install –exec-prefix=$PWD/install –host=arm-linux CC=arm-linux-geaubihf-gcc

注意:a.指定的安裝目錄位源碼目錄下的install文件夾, b.運行configure前要先設置好arm-linux開發環境,否則報錯。

在安裝目錄下成功生成了Makefile文件。

3.編譯安裝

root@ubuntu2:/home/faceless/share/ntp-dev-4.3.93# make

root@ubuntu2:/home/faceless/share/ntp-dev-4.3.93# make install

4.安裝完成后,在安裝目錄install下有幾個文件夾

root@ubuntu2 : /home/faceless/share/ntp-dev-4.3.93/install# ls

bin      libexec      sbin     share

進入bin文件夾,里面的命令文件如下:

root@ubuntu2 : /home/faceless/share/ntp-dev-4.3.93/install/bin# ls

calc_tickadj    ntpd    ntpdate    ntpdc      ntp-keygen     ntpq      ntptime      ntptrace    ntp-wait     sntp      tickad      update-leap

5.將需要的文件拷貝進開發板的/bin目錄下

ntpdate和ntp

6.讓開發板能夠接入外網

1.共享或橋接

將電腦的無線網絡共享或者橋接到本地連接:

共享:打開右下角的網絡和共享中心,鼠標右鍵單擊無線網絡連接,選擇屬性,屬性界面點擊共享,勾選Internet連接共享,確定保存。

 

橋接:打開右下角的網絡和共享中心,按住Ctrl鍵,鼠標左鍵單擊本地連接和無線網絡連接,此時同時選中,鼠標右鍵單擊橋接

 

兩種選其一即可,我用的是網絡橋接。橋接后計算機的ipv4地址為

 

2.使開發板能夠ping通外網

我通過終端輸入ifconfig eth0 192.168.10.106指令將開發板的IP更改到與計算機同一頻段

此時我ping 8.8.8.8,得到結果如下

 

發現網關不通,然后我修改了開發板的默認網關

終端下執行命令route add default gw 192.168.10.1

然后再次ping 8.8.8.8,發現可以ping通

 

接下來我ping了外網,ping www.baidu.com  ,ping不通。

 

可能是開發板的DNS有問題,接下來我對開發板的DNS進行了設置

終端輸入vi /etc/resolv.conf,進行編輯

 

編輯完成后按ESC鍵,按住shift鍵+:鍵,然后輸入wq按Enter鍵保存,保存后

再次對www.baidu.com進行ping,結果如下,等一段時間后,發現可以ping通。

 

此時開發板接入了外網。

7.用ntpdate命令自動校時

我用ntpdate命令更新網絡時間,ntpdate 0.pool.ntp.org

(0.pool.ntp.org是智能dns的ntp服務器,返回的基本都是中國的ntp服務,1.pool.ntp.org,2.pool.ntp.org,3.pool.ntp.org同上)

 

板子時間成功被校准,與網絡上的時間同步。

測試我的最終目的是否達成:

在終端鍵入date命令,看下此時的開發板時間,並通過date命令修改時間(時間隨機),查看板子rtc時間,hwclock,再使用hwclock –w命令更新板子時間到rtc中。

 

再次用ntpdate  0.pool.ntp.org更新時間

 

經驗證,可以完成校時。
————————————————
版權聲明:本文為CSDN博主「lucky55661」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/lucky55661/article/details/85697993

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM