गार्मिन जीपीएस पर बहुत सटीक टाइम सर्वर स्ट्रैटम 1

जीपीएस रिसीवर का उपयोग न केवल स्थान निर्धारित करने के लिए किया जा सकता है, बल्कि सटीक समय संकेत प्राप्त करने के लिए भी किया जा सकता है। लेख में मैं दिखाऊंगा कि कैसे सही समय सर्वर को कॉन्फ़िगर किया जाए जो जीपीएस को स्रोत के रूप में उपयोग करता है और कई माइक्रोसेकंड की सटीकता के साथ काम करता है। एक उदाहरण के रूप में, मैं गार्मिन रिसीवर और फ्रीबीएसडी ओएस का उपयोग करता हूं, लेकिन यह लेख लिनक्स और विंडोज के मालिकों के लिए भी उपयोगी होगा।



UPD: सर्वर stratum1.net वेब फेस: www.stratum1.net पर उपलब्ध है



हब पर एक समान विषय पहले से ही चल रहा था, लेकिन मेरा मानना ​​है कि विषय का अधिक विस्तार से खुलासा किया जाना चाहिए: लेखक ने कई महत्वपूर्ण विवरणों को छोड़ दिया।

1. सिद्धांत का एक सा


जीपीएस वर्ल्ड पत्रिका के अनुसार, वर्तमान में दुनिया में एक अरब से अधिक जीपीएस रिसीवर उपयोग में हैं, और उनमें से 90% से अधिक का उपयोग केवल सटीक समय संकेत प्राप्त करने के लिए किया जाता है। [19]

अपने स्वयं के तीन-आयामी निर्देशांक निर्धारित करने के लिए, जीपीएस रिसीवर 4 उपग्रहों की दूरी की गणना करता है। इस दूरी की गणना उपग्रह से रेडियो सिग्नल के यात्रा समय को मापकर की जाती है। क्योंकि प्रकाश की गति 3 × 10 8 m / s है, संकेत पारगमन समय बहुत कम है, और गणना के लिए उपग्रह और रिसीवर पर घड़ी का बहुत सटीक सिंक्रनाइज़ेशन आवश्यक है। इसलिए, प्रत्येक जीपीएस उपग्रह 1 ns / दिन की सटीकता के साथ एक परमाणु घड़ी से सुसज्जित है, और रिसीवर लगभग 50 ns [17] की समय सटीकता प्रदान करता है। समय निर्धारित करने के लिए, रिसीवर के लिए एक उपग्रह ( टैनेन ) से संकेत प्राप्त करना पर्याप्त है।

इस प्रकार, आप GPS रिसीवर से सटीक समय प्राप्त कर सकते हैं। आखिरकार, कंप्यूटर की घड़ी विशेष रूप से सटीक नहीं है, स्विच, आईपी कैमरा आदि का उल्लेख नहीं करने के लिए। लेकिन आपको GPS की आवश्यकता क्यों है यदि आप NTP प्रोटोकॉल का उपयोग करके सिंक्रनाइज़ कर सकते हैं, उदाहरण के लिए, pool.ntp.org के साथ?


2. जीपीएस रिसीवर


आप लगभग किसी भी जीपीएस रिसीवर का उपयोग कर सकते हैं - मुख्य बात यह है कि यह मानक NMEA 0183 प्रोटोकॉल का समर्थन करता है। NMEA प्रोटोकॉल का उपयोग RS-232 जैसे सीरियल इंटरफ़ेस पर सरल ASCII स्ट्रिंग्स में GPS सूचना प्रसारित करने के लिए किया जाता है। भौगोलिक निर्देशांक के साथ, NMEA भी सटीक समय प्रसारित करता है, आमतौर पर प्रति सेकंड एक बार।

एक पारंपरिक जीपीएस रिसीवर से प्राप्त समय की सटीकता कई मिलीसेकंड (एमएस) तक हो सकती है, हालांकि, यह रिसीवर के मॉडल पर बहुत अधिक निर्भर करता है: आमतौर पर एनएमईए संदेशों को प्रेषित करना रिसीवर के लिए प्राथमिकता नहीं है, इसलिए सटीकता बहुत अच्छी नहीं हो सकती है।

यदि आप और भी अधिक सटीकता प्रदान करना चाहते हैं - कई माइक्रोसेकंड तक, आपको एक जीपीएस रिसीवर का उपयोग करना होगा जो एक पीपीएस ( प्रति सेकंड पल्स ) सिग्नल उत्पन्न कर सकता है। PPS पल्स को प्रति सेकंड एक बार बहुत अधिक सटीकता के साथ दोहराया जाता है और इसे ntpd पढ़ा जा सकता है।

नीचे मैं दोनों विकल्पों पर विचार करूंगा: पहला, नियमित NMEA और अधिक विस्तार से PPS।

3. GPS से समय प्राप्त करना (बिना PPS के)


3.1 GPS और ntpd को कॉन्फ़िगर करना


विंडोज प्रशासक विंडोज के लिए ntpd पोर्ट इंस्टॉल कर सकते हैं और इस लेख में दिए गए निर्देशों का पालन कर सकते हैं।

लिनक्स और फ्रीबीएसडी के लिए, निर्देश समान हैं:
  1. GPS रिसीवर को सर्वर के COM पोर्ट (USB एडॉप्टर को भी काम करना चाहिए) से कनेक्ट करें।
  2. डिवाइस के लिए एक प्रतीकात्मक लिंक / dev / gpsX बनाएं (उदाहरण के लिए, मेरे पास / dev / cuau0 -> / dev / gps0) है।
  3. Ntp.conf में लाइन जोड़ें
      सर्वर 127.127.20.0 मोड 0 iburst minpoll 4 मैक्सपॉल 6 पसंद करते हैं 

    लाइन 127.127.20। 0 का मतलब है कि हम स्थानीय समय स्रोत, ड्राइवर 20 (NMEA जेनेरिक), डिवाइस / देव / जीपीएस 0 का उपयोग कर रहे हैं

    यदि आपका उपकरण 4800 bps के अलावा अन्य गति पर काम करता है, तो आपको मोड कमांड का उपयोग करके गति निर्धारित करने की आवश्यकता है: 0 - 4800 bps (डिफ़ॉल्ट रूप से, आप निर्दिष्ट नहीं कर सकते), 16 - 9600, 32 - 19200, आदि।

    इबुर्स्ट - आरंभीकरण की गति;
    minpoll n - 2 n सेकंड का न्यूनतम मतदान अंतराल, न्यूनतम 4, अर्थात्। 16 एस;
    मैक्सपॉल एन - 2 एन सेकंड का अधिकतम मतदान अंतराल, अधिकतम 17, एक दिन और एक आधा के बारे में;
    पसंद - पसंदीदा सर्वर।
    अधिक विवरण उत्कृष्ट ntpd प्रलेखन में पाया जा सकता है
  4. सर्वर को पुनरारंभ करें। Ntpq -p चलाएं। सूची में GPS_NMEA (0) होना चाहिए ... यदि ऐसा नहीं हुआ, तो आइटम 5 "संभावित समस्याओं" का संदर्भ लें।


3.2 सत्यापन और सुधार


समस्या यह है कि रिसीवर देर से डेटा भेज सकता है। इसके अलावा, NMEA संदेशों को प्रसारित करने में देरी के बारे में मत भूलना। इस विलंब को समायोजित करने के लिए, ntp.conf और ntpd को पुनः आरंभ करने के लिए पसंदीदा पैरामीटर के साथ एक विश्वसनीय NTP सर्वर स्ट्रैटम -1 जोड़ें।

सत्यापन के लिए, हमें ntpq -p कमांड का उपयोग करने की आवश्यकता है। मुद्दा प्रारूप:
प्रत्येक पंक्ति में समय स्रोत के बारे में जानकारी होती है, चाहे वह NTP सर्वर हो या स्थानीय समय स्रोत।
लाइन में पहला वर्ण चयन की स्थिति है: * - चयनित स्रोत, + - जैसा कि मैं इसे समझता हूं, चयन के लिए उम्मीदवार - मुख्य स्रोत, - पीपीएस-स्रोत, अंतरिक्ष - कार्यशील स्रोत नहीं - x , आदि की विफलता के मामले में सिस्टम इसे स्विच करेगा। - "अस्वीकृत" (अविश्वसनीय) स्रोत।
अगला भाग:
रिमोट - होस्ट नाम या आईपी पता;
refid - source ID (ड्राइवर का नाम या सर्वर पता जिसके साथ स्रोत सिंक्रनाइज़ किया गया है);
स्ट्रैटम: प्राइमरी टाइम सोर्स (GPS) के लिए, इससे जुड़े सर्वर के लिए 1, स्ट्रैटम 1 आदि के साथ सिंक करने वाले सर्वर के लिए 2;
टी - प्रकार: एल - स्थानीय घड़ी, यू - नेटवर्क नोड, आदि;
जब - अंतिम संचरण से समय;
जनमत सर्वेक्षण - मतदान अंतराल 2 सेकंड, अर्थात अगर पोल = 4, सर्वर हर 2 4 = 16 सेकंड में स्रोत को पोल करता है;
पहुंच एक अष्टक संख्या है जो पिछले 8 ट्रांसमिशन प्रयासों की सफलता को दर्शाती है। उदाहरण के लिए, 0 - एक भी सफल प्रयास नहीं, 377 8 = 11111111 2 - सभी प्रयास सफल रहे। Ntpd शुरू करने के बाद, यदि सब कुछ क्रम में है, तो स्रोत 0, 1, 3, 7, 17, 37, 77, 177, 377 तक पहुंचता है;
देरी - पैकेट पारगमन समय;
ऑफसेट - स्रोत और स्थानीय समय के बीच का अंतर;
घबराना - jitter या, दूसरे शब्दों में, पैकेट पारगमन समय का विचरण (फैलाव)।

सबसे अधिक, हम पसंद, पहुंच, ऑफसेट और घबराहट की स्थिति के प्रतीक में दिलचस्पी लेंगे। रीच 377 के बराबर होना चाहिए, और ऑफसेट और घबराना जितना संभव हो उतना छोटा होना चाहिए।

Ntpq -p कमांड को रन करें। तब तक प्रतीक्षा करें जब तक NTP सर्वर की ऑफसेट पर्याप्त कम न हो जाए।
    
  रिमोट रिफिड सेंट टी जब पोल देरी से पहुंचता है तो घबराना
 ================================================== ============================
 * mail.mobatime.r .DTS।  1 यू ५ ३9090 १ १४. -3 ९ ४ -१ ९ 5 ९ ० ९ ०
 xGPS_NMEA (0) .GPS।  0 एल 2 377 7 0.000 -955.90 31.554

चयनित ntpd सर्वर * चिह्नित है, जबकि हमारा GPS रिसीवर खराब (x) के रूप में चिह्नित है। ऑफसेट जीपीएस रिसीवर के बारे में -956 एमएस है। जाहिरा तौर पर, पिछले दूसरे के बारे में जानकारी प्रसारित की जाती है। इस अंतराल को ठीक करने के लिए, लाइन सर्वर 127.127.20.0 के तहत यह आवश्यक है ... लाइन जोड़ें:
  ठगना 127.127.20.0 समय 2 0.956 

अब आप फिर से जीपीएस को अपना पसंदीदा सर्वर बना सकते हैं। सर्वर को पुनरारंभ करने के बाद, * GPS_NMEA (0) से पहले दिखाई देना चाहिए।

4. PPS सिग्नल के साथ GPS से समय प्राप्त करना


4.1 अपने Garmin 18x LVC रिसीवर को कनेक्ट करना


अपने लिए, मैंने in 1 μs की PPS पल्स सटीकता के साथ Garmin 18x LVC रिसीवर चुना। यह एक ओईएम रिसीवर है, इसमें एक सुंदर स्क्रीन नहीं है, लेकिन यह आपके स्वयं के अनुप्रयोगों में उपयोग करने के लिए सुविधाजनक है।


यह रिसीवर COM पोर्ट तक डेटा पहुंचाता है और इसके लिए 5V, 90 mA पॉवर की आवश्यकता होती है, इसलिए इसे USB से पॉवर देना सुविधाजनक होगा। हमें आधे में एक डीबी 9 महिला कनेक्टर या एक COM केबल कट की आवश्यकता है, साथ ही बिजली के लिए एक कट यूएसबी केबल भी चाहिए। देशी रिसीवर कनेक्टर को भी काट दिया जाना चाहिए - यह वारंटी को प्रभावित नहीं करेगा। कनेक्शन आरेख:
पीला तार - पिन 1 (PPS) के साथ
सफेद तार - पिन 2 (ट्रांसमिशन) के साथ
हरी तार - पिन 3 (प्राप्त) के साथ
दोनों काले तारों - काले USB केबल और पिन 5 (जमीन) के साथ
लाल तार - एक लाल यूएसबी केबल (+ 5 वी) के साथ।



संपर्कों को मिलाप करना उचित है। एक साधारण मोड़ काम नहीं कर सकता है (हालांकि, मैंने जांच नहीं की)।

[2] और [3] लेखों से प्रेरित होकर, मैं और भी आगे बढ़ गया और एक फ्यूज जोड़ा, एक "पावर" एलईडी, एक "पीपीएस" एलईडी और वायरिंग आरेख के लिए एलईडी के लिए प्रतिरोध। शिल्पकार-इलेक्ट्रॉनिक्स इंजीनियर COM-केबल के प्लग में सब कुछ अच्छी तरह से फिट कर सकते हैं, लेकिन मुझे एक पूरा बॉक्स मिला।
मैंने एक तैयार ब्रेडबोर्ड, DB-9 और USB टाइप B सॉकेट्स, स्क्रू टर्मिनल ब्लॉक्स खरीदे (मुझे देशी BM06B-SRSS-TBT या SM06B-SRSS-TB कनेक्टर नहीं मिला), 1A फ्यूज और होल्डर। मैं यह सब कैसे कर सकता हूं, और एपॉक्सी ने कनेक्टरों को रोक दिया :)



सिद्धांत रूप में, यह आवश्यक नहीं है। आप बस GPS, COM और USB से तारों को जोड़ सकते हैं, जैसा कि यहां किया गया है

4.2 गार्मिन 18x एलवीसी को कॉन्फ़िगर करना


प्रदर्शन और विश्वसनीयता में सुधार करने के लिए, रिसीवर को ट्यून करने की सलाह दी जाती है। यह टर्मिनल के माध्यम से कमांड भेजकर ( मैनुअल देखें) या विंडोज उपयोगिता एसएनएसआरसीएफजी का उपयोग करके किया जा सकता है। मैंने दूसरा रास्ता चुना।

रिसीवर से कनेक्ट करें:
कॉम → सेटअप: COM पोर्ट, बॉड दर: मैनुअल, 4800 स्थापित करें।
कॉम → कनेक्ट
कार्यक्रम को वर्तमान कॉन्फ़िगरेशन लोड करना चाहिए।

सेट करें:
विन्यास → सेंसर विन्यास
आपको यह सुनिश्चित करना चाहिए कि PPS चालू है और पल्स की लंबाई बढ़ाकर 200 ms कर देगा।
आप DGPS को अक्षम करने का भी प्रयास कर सकते हैं - हमने इसका उपयोग नहीं किया है और सिद्धांत में Fix Mode = 2D को सेट करना है, इससे रिसीवर चार के बजाय तीन दृश्यमान उपग्रहों के साथ काम कर सकेगा। हालांकि, मैं गारंटी नहीं दे सकता कि ये दो विकल्प किसी चीज को प्रभावित करते हैं।


NMEA संदेश चुनें:
विन्यास → NMEA वाक्य चयन
एनटीपीडी जीपीआरएमसी और जीपीजीजीए संदेशों को समझता है। डेटा ट्रांसफर का समय कम करने के लिए, मैंने केवल GPGGA छोड़ दिया।


4.3 FreeBSD और ntpd को कॉन्फ़िगर करना


फ्रीबीएसडी में पीपीएस के लिए समर्थन लगभग कुछ समय के लिए रहा है, इसलिए पीपीएस को कॉन्फ़िगर करना आसान है और अधिक सटीक है। लिनक्स उपयोगकर्ता लिनक्स 2.6 पर एनटीआर स्ट्रैटम -0 के रूप में एक गार्मिन जीपीएस 18 एलवीसी का उपयोग करके लेख को संदर्भित कर सकते हैं। नीचे लिखी सेटिंग्स FreeBSD पर लागू होती हैं।

PPS समर्थन को सक्षम करने के लिए, आपको विकल्प के साथ सिस्टम कर्नेल को फिर से बनाना होगा:
  विकल्प PPS_SYNC 

एनटीपी सर्वर पहले से ही सिस्टम में मौजूद है, लेकिन यह अपडेट करने के लिए शानदार नहीं होगा। FreeBSD के लिए, हम बंदरगाहों से ऐसा करते हैं:
  सीडी / यूएसआर / पोर्ट / नेट / एनटीपी
 साफ स्थापित करें 

अब आपको rc.conf में लाइनें जोड़ने की आवश्यकता है:
  ntpd_enable = "YES"
 ntpd_program = "/ usr / स्थानीय / बिन / ntpd" 

ntpd_program बंदरगाहों से ntpd की स्थापना पथ को इंगित करता है।

/ Dev / gpsX और / dev / ppsX डिवाइस के लिए एक प्रतीकात्मक लिंक बनाएं (उदाहरण के लिए, मेरे पास / dev / cuau0 -> / dev / gps0)। आप ln कमांड का उपयोग कर सकते हैं या /etc/devfs.conf में उपयुक्त लाइनें जोड़ सकते हैं:
  लिंक cuau0 gps0
 लिंक cuau0 pps0 

NTP प्रलेखन में, यह अनुशंसा की जाती है कि घड़ी के सटीक चलने के लिए GPS केवल PPS दालें प्राप्त करें, और समय एक और स्ट्रैटम 1 सर्वर से। ऐसा करने के लिए, (4-5) स्ट्रैटम 1 सर्वर और हमारे PPS को /cc/ntp.conf में जोड़ें। उदाहरण के लिए:
  सर्वर ntp.mobatime.ru iburst मैक्सपॉल 9 को पसंद करते हैं
 सर्वर ntp1.vniiftri.ru iburst मैक्सपॉल 9
 सर्वर ntp2.vniiftri.ru iburst मैक्सपॉल 9
 सर्वर 127.127.22.0 मिनपोल 4
 ठगना 127.127.22.0 flag3 1 

PPS के लिए ड्राइवर 22 जिम्मेदार है। flag3 कर्नेल अनुशासन को चालू करता है । Ntpd प्रलेखन कहता है कि कर्नेल अनुशासन को शामिल करना आवश्यक नहीं है: यदि आप अभी minpoll 4 सेट करते हैं तो ntpd अधिक सटीक रूप से काम करेगा। हालाँकि, यह विपरीत कार्य करता है: flag3 के साथ घड़ी अधिक सटीक रूप से चलती है - इसलिए मेरा सुझाव है कि आप स्वयं इस पैरामीटर का प्रयोग करें।

आप दूसरे तरीके से जा सकते हैं: जीपीएस समय और पीपीएस सिग्नल दोनों प्राप्त करें:
  सर्वर 127.127.20.0 मिनपोल 4 पसंद करते हैं
 fudge 127.127.20.0 flag1 1 flag3 1 

फ्लैग 1 में पीपीएस, फ्लैग 3 - कर्नेल अनुशासन शामिल हैं।
यह आपको इंटरनेट का उपयोग किए बिना समय प्राप्त करने की अनुमति देगा, लेकिन इस मामले में, सबसे अधिक संभावना है कि आपको सुधार की आवश्यकता होगी (पैराग्राफ 3.2 के समान)।

परिवर्तन करने के बाद, ntpd को पुनरारंभ करें:
  /etc/rc.d/ntpd पुनरारंभ करें 

Ntpq -p कमांड चलाएँ (अधिक विवरण के लिए, खंड 3.2 देखें)। यदि आपको केवल PPS सिग्नल मिलता है, तो आउटपुट कुछ इस तरह होना चाहिए:
  रिमोट रिफिड सेंट टी जब पोल देरी से पहुंचता है तो घबराना
 ================================================== ============================
 xnut.rsuitb.ru 5.89.176.137 3 u 21 64 377 2.074 41.522 5.869
 + mx.kr-pro.ru 62.117.76.138 2 यू 34 64 377 4.167 0.336 0.423
 + wooster.rojer.p 195.54.192.55 3 u 25 64 377 70.609 9.523 0.262
 x193.124.4.177 7.123.225.33 3 u 21 64 377 2.133 56.525 9.041
  ntp1.vniiftri.r .INIT  16 यू - 512 0 0.000 0.000 0.000
 xntp2.vniiftri.r .PPS  1 यू 39 64 377 73.585 -14.117 0.189
 * mail.mobatime.r .DTS।  1 यू 17 64 377 15.223 0.147 0.843
 oPPS (0) .PPS।  0 एल 5 16 377 0.000 -0.001 0.002 


पीपीएस (0) से पहले "ओ" होना चाहिए, कुछ मिनट के भीतर 377 तक पहुंचने के लिए। शेष सर्वर का उपयोग समय प्राप्त करने के लिए किया जाता है।

यदि आप GPS से NMEA जानकारी भी प्राप्त करते हैं, तो
  रिमोट रिफिड सेंट टी जब पोल देरी से पहुंचता है तो घबराना
 ================================================== ============================
 * GPS_NMEA (0) .GPS।  0 एल 11 16 17 0.000 -9.795 14.537 

GPS_NMEA (0) * से पहले होना चाहिए।

पीपीएस की स्थिति की जांच करना अतिश्योक्तिपूर्ण नहीं होगा। यह ntpdc -c kerninfo या ntptime कमांड का उपयोग करके किया जा सकता है। ntptime थोड़ी अधिक विस्तृत जानकारी देता है:
  ntptime
 ntp_gettime () रिटर्न कोड 0 (ठीक है)
   समय d24065e8.9067dfac Wed, 12 अक्टूबर 2011 23: 15: 52.564, (.5640858545), माइक्रो।
   अधिकतम त्रुटि 4739 हमें, अनुमानित त्रुटि 1 हमें, टीएआई ऑफसेट 0
 ntp_adjtime () रिटर्न कोड 0 (ठीक है)
   मोड 0x0 (),
   ऑफ़सेट 2.004 हमें, आवृत्ति -28.979 पीपीएम, अंतराल 256 एस,
   अधिकतम त्रुटि 4739 हमें, अनुमानित त्रुटि 1 हमें,
   स्थिति 0x2107 (PLL, PPSFREQ, PPSTIME, PPSSIGNAL, NANO)
   समय लगातार 4, परिशुद्धता 0.001 हमें, सहिष्णुता 496 पीपीएम,
   pps आवृत्ति -28.979 पीपीएम, स्थिरता 0.019 पीपीएम, घबराना 1.434 हमें,
   अंतराल 313, घबराना 195 से अधिक, स्थिरता 0 से अधिक, त्रुटियां 1। 


आपको क्या देखना है:
ntp_gettime () और ntp_adjtime () को "ओके" लौटना चाहिए।
स्थिति में झंडे PPSFREQ, PPSTIME, PPSSIGNAL होना चाहिए, और PPSWANDER, PPSJITTER, PPSERROR नहीं होना चाहिए।
घबराना पार हो गया है दालों की संख्या जो समय पर काफी नहीं पहुंची। यह चिंताजनक है अगर घबराना से अधिक मूल्य बहुत बड़ा हो जाता है और स्थिति में PPSJITTER ध्वज दिखाई देता है।
अंतराल - अंशांकन अंतराल की संख्या, अंतराल अंतराल प्रति एक बार (उदाहरण के लिए, 256 एस) से बढ़नी चाहिए
स्थिरता पार हो गई - समय सुधार की संख्या बहुत बड़ी है, 0 - सब कुछ क्रम में है।
त्रुटियों - पीपीएस दालों की संख्या जो बिल्कुल नहीं पहुंची या सही समय पर नहीं पहुंची, ऑपरेशन के दौरान वृद्धि नहीं होनी चाहिए।
स्थिरता - कम, अधिक स्थिर पीपीएस स्रोत और सर्वर घड़ी का काम। 0.1 से कम होना चाहिए।
घबराना - पीपीएस दालों का घबराना । कुछ माइक्रोसेकंड (हमें) होना चाहिए, अधिक नहीं।

5. संभावित समस्याएं और डिबगिंग


5.1 घबराओ मत!


हमेशा ध्यान रखें कि जीपीएस रिसीवर को चालू करने के बाद अपना स्थान स्थापित करने में कुछ समय लगता है: पुराने मॉडल के लिए आधे घंटे तक, गार्मिन 18x के लिए 45 सेकंड। यह समय इस बात पर निर्भर करता है कि रिसीवर कब तक बंद हो गया है ( टैनेन )। ntpd को घड़ी को सही करने में भी कुछ समय लगता है। मेरी टिप्पणियों के अनुसार: रिसीवर को "देखने" के लिए 10-20 सेकंड, इष्टतम मूल्य में कमी करने के लिए ऑफसेट करने के लिए 20-30 मिनट। यदि आपकी पहुंच, ऑपरेशन के कई मिनटों के बाद, 377 पर सेट है, और ऑफसेट कम हो जाता है (मोडुलो), तो सब कुछ क्रम में है।

5.2 एनटीपीपी रिसीवर को नहीं देखता है


यदि ntpd रिसीवर को नहीं देखता है: ntpq -p में पहुंच शून्य पर जमी है, तो आपको सर्वर से रिसीवर के कनेक्शन की सावधानीपूर्वक जांच करने की आवश्यकता है। Ntpd को रोकें और COM पोर्ट को टर्मिनल में खोलें। FreeBSD में:
  cu -l / dev / gps0 -s 4800
 कनेक्टेड
 $ GPGGA, 160042.5545.7890, N, 03722.6113, E, 1,08,0.9,188.3, ​​M, 13.3, M, * 47
 $ GPGGA, 160043.5545.7890, N, 03722.6114, E, 1.08.0.9.188.3, ​​M, 13.3, M, * 41
       | ह्म्सम्स | --- अक्षांश-- | - देशांतर --- |  ^^
                                          | उपग्रहों की संख्या |   
 ...

जहां / dev / gps0 डिवाइस फ़ाइल है, 4800 डेटा ट्रांसफर दर है।

यदि रिसीवर सही ढंग से जुड़ा हुआ है, तो NMEA संदेशों को "छिड़कना" चाहिए। सुनिश्चित करें कि रिसीवर "उपग्रहों" को देखता है। GPGGA संदेश में, उपग्रहों की संख्या 4 या अधिक होनी चाहिए, और उस संख्या के सामने एक होना चाहिए। यदि आपके पास जीपीआरएमसी संदेश सक्षम हैं, तो समय के बाद, "ए" प्रतीक जाना चाहिए।
क्यू से बाहर निकलने के लिए, "एंटर" दबाएं, फिर "~", फिर "।"।

यदि NMEA संदेशों से संकेत मिलता है कि रिसीवर उपग्रहों को नहीं देखता है, तो आपको इसे कवरेज क्षेत्र में ले जाना चाहिए। यह सबसे अच्छा है कि रिसीवर पूरे आकाश को देख सकता है। मेरे गार्मिन को छत पर भी स्थापित किया जा सकता है, लेकिन प्रयोगों के माध्यम से मैंने इसे खिड़की पर एक जगह पर चिपका दिया जहां वह घड़ी के चारों ओर उपग्रहों को देखता है।

Ntpd लॉग की जांच करें। शायद आपको सर्वर का नवीनतम संस्करण स्थापित करना चाहिए।

यदि NMEA संदेश बिल्कुल नहीं आते हैं, तो सुनिश्चित करें कि रिसीवर से डेटा दर अपेक्षित ntpd से मेल खाती है। सत्यापित करें कि COM पोर्ट और रिसीवर इससे जुड़े हैं।

सुनिश्चित करें कि पोर्ट से रिसीवर तक की कुल केबल की लंबाई 5 मीटर से अधिक नहीं है। अन्यथा, आपको व्यवधान से बचाने के लिए सिग्नल को संचारित करने के लिए एक अंतर रेखा को परेशान और बनाना होगा। यह अनुशंसा की जाती है कि GPS केबल परिरक्षण USB केबल परिरक्षण से जुड़ा हो।

5.3 ntpd में PPS सिग्नल नहीं दिखता है


फिर से, कनेक्शन की जांच करें, उदाहरण के लिए एक वाल्टमीटर या एक आस्टसीलस्कप का उपयोग करके। मैं डीएसओ नैनो पॉकेट पॉकेट ओस्सिलोस्कोप का उपयोग करता हूं। यह PPS सिग्नल कैसा दिखता है:



RealTerm का उपयोग करना भी सुविधाजनक है: यह DCD लाइन पर NMEA संदेश और PPS सिग्नल प्रति सेकंड एक बार प्रदर्शित करता है।

USB-COM एडाप्टर का उपयोग न करें: उनके माध्यम से PPS सिग्नल देरी से जा सकते हैं या नहीं जा सकते हैं। एक नियम के रूप में, COM पोर्ट हमेशा मदरबोर्ड पर मौजूद होता है, यह सिर्फ मामले की दीवार पर प्रदर्शित नहीं हो सकता है।

5.4 बड़े ऑफसेट / घबराना


सुनिश्चित करें कि आप 3.2 में वर्णित के रूप में प्राप्त समय को समायोजित करते हैं। यदि रिसीवर सेटिंग्स आपको सभी NMEA संदेशों को निष्क्रिय करने की अनुमति देती हैं, तो इनमें से एक को छोड़कर: $ GPRMC, $ GPGLL, $ GPGGA, $ GPZDA या $ GPZDG। यदि आप केवल PPS का उपयोग करते हैं, तो आप सभी संदेशों को अक्षम कर सकते हैं।

COM पोर्ट बफ़रिंग बंद करने का प्रयास करें। /Boot/device.hints में स्थापित करें:
  hint.sio.0.flags = "0x2" 

देखें कि क्या आपके जीपीएस रिसीवर के लिए नए फर्मवेयर संस्करण हैं। ( गार्मिन 18x LVC फ़र्मवेयर डाउनलोड )

स्पष्ट विचार डेटा अंतरण दर को बढ़ाना है। लेकिन ntpd प्रलेखन के अनुसार , यह हमारी मदद नहीं करेगा। गति 4800 छोड़ने के लिए बेहतर है।

शायद आपको ओएस सिस्टम टाइमर को बदलने की कोशिश करनी चाहिए। FreeBSD में, आप /etc/sysctl.conf में लिख सकते हैं:
  kern.timecounter.hardware = i8254 

जब सर्वर रूम में एयर कंडीशनिंग लगातार चालू और बंद होने लगी तो मेरी ऑफसेट "कूद" शुरू हुई।
तापमान स्थिर होने पर ऑफसेट PPS और तापमान का ग्राफ:


जब एयर कंडीशनिंग गड़बड़ हो जाती है:


ग्राफ दिखाता है कि ऑफसेट कमरे में हवा के तापमान पर निर्भर करता है। यह स्पष्ट रूप से सर्वर पर टाइमर की अपूर्णता के कारण है। इस मुद्दे को हल करने के तरीके यहां और यहां वर्णित हैं
"कठिन" तरीका मदरबोर्ड पर जनरेटर को एक तापमान मुआवजा (TXCO) के साथ बदलना है। लेकिन यह माइक्रोइलेक्ट्रॉनिक और एक टांका लगाने वाले लोहे के गुरुओं के लिए एक विकल्प है।

6. उपयोग के लिए NTP सर्वर तैयार करना


सर्वर को नेटवर्क पर प्रकाशित करने से पहले, एक्सेस अधिकारों को सेट करने और अनुरोधों की संख्या को सीमित करने के बारे में प्रलेखन अनुभाग पढ़ें।

यदि आप स्थानीय नेटवर्क के लिए एक एनटीपी सर्वर बनाना चाहते हैं, तो आप सर्वर पते को डीएचसीपी सेटिंग्स में जोड़ सकते हैं। हालांकि, मुझे संदेह है कि यह विकल्प विंडोज क्लाइंट पर काम नहीं करता है, लेकिन * nix dchpclient पर आपको इसे प्रत्येक मशीन पर कॉन्फ़िगर करने की आवश्यकता है।

अक्सर वे केवल एक स्थानीय NTP सर्वर के साथ time.windows.com DNS को प्रतिस्थापित करते हैं :) अब, हमारे सर्वर पर सभी विंडोज कंप्यूटरों का वध किया जाएगा।

क्लाइंट की सूची को ntpdc -c monlist कमांड के साथ देखा जा सकता है।

मैंने Zabbix के लिए एक छोटी स्क्रिप्ट भी लिखी है जो पहुंच / ऑफसेट / घबराना पीपीएस और चयनित समय सर्वर को ट्रैक करती है। स्क्रिप्ट चलाने के लिए zabbix_agentd.conf को जोड़ना होगा:
  UserParameter = ntp.pps_jitter, / usr / local / bin / php /usr/local/share/zabbix/ntp_zabbix.php pps jitter
 UserParameter = ntp.pps_offset, / usr / local / bin / php /usr/local/share/zabbix/ntp_zabbix.php pps ऑफसेट
 UserParameter = ntp.pps_reach, / usr / local / bin / php /usr/local/share/zabbix/ntp_zabbix.php pps तक पहुँचने
 UserParameter = ntp.source_jitter, / usr / local / bin / php /usr/local/share/zabbix/ntp_zabbix.php स्रोत घबराना
 UserParameter = ntp.source_offset, / usr / local / bin / php /usr/local/share/zabbix/ntp_zabbix.php स्रोत ऑफसेट
 UserParameter = ntp.source_reach, / usr / local / bin / php /usr/local/share/zabbix/ntp_zabbix.php स्रोत पहुंच

एजेंट को पुनरारंभ करें। सर्वर पर, क्रमशः, आपको एनटीपी सर्वर के लिए इन वस्तुओं को जोड़ना होगा। अब आप ट्रिगर्स और ग्राफ़ को कॉन्फ़िगर कर सकते हैं।

7. समय सिंक्रनाइज़ेशन के अन्य तरीके


NMEA के अलावा, ntpd अधिक विदेशी उपकरणों के एक मेजबान का समर्थन करता है ( पूरी सूची देखें)।

यह ध्यान देने योग्य है, सबसे पहले, रेडियो सिग्नल द्वारा घड़ी को सिंक्रनाइज़ करने की क्षमता।उदाहरण के लिए, आरडब्ल्यूएम सेवा रूस में संचालित होती है, और डीसीएफ 77 स्टेशन जर्मनी के फ्रैंकफर्ट से प्रसारित होता है। DCF77 रूस के यूरोपीय भाग में अच्छी तरह से पकड़ा गया है (मेरा मास्को में एक स्वागत योग्य स्वागत है)। दोस्तों DCF77 और ntpd बनाना आसान है, लेख देखें । इस तरह के समाधान की सटीकता कम होगी, हालांकि यह जीपीएस विकल्प की तुलना में कई गुना सस्ता है: आपको केवल एक एंटीना खरीदने की आवश्यकता है, यहां कोई रेडियो इंजीनियरिंग ज्ञान की आवश्यकता नहीं है।
कारीगर प्रत्येक घंटे के अंत में मयंक रेडियो के दालों के सिंक्रनाइज़ेशन को समायोजित कर सकते हैं। अंतिम छठे नाड़ी की लंबाई वर्तमान घंटे पर निर्भर करती है। लेकिन यह विधि इंटरनेट पर पारंपरिक समय तुल्यकालन की तुलना में सटीकता में स्पष्ट रूप से बदतर होगी।

सही समय मोबाइल ऑपरेटर ( नर्क) से प्राप्त किया जा सकता है)। इस "फीचर" को NITZ कहा जाता है। हालांकि, सभी ऑपरेटर नहीं और सभी जीएसएम डिवाइस इसका समर्थन नहीं करते हैं। मैंने एक सिम 900 चिप पर अपने जीएसएम मॉडेम सीमेंस एमसी 55 और अरुडिनो जीपीआरएस-शील्ड की जांच की - इन उपकरणों में ऐसी कोई एटी कमांड नहीं हैं।

जीपीएस या ग्लोनास सेंसर के साथ रेडीमेड एनटी सर्वर भी हैं, लेकिन वे निश्चित रूप से बहुत अधिक महंगे हैं।

काम कर रहे रूसी सार्वजनिक सर्वर की सूची 1


ntp1.vniiftri.ru
ntp2.vniiftri.ru
ntp4.vniiftri.ru
ntp.mobatime.ru
ntp0.ntp-servers.net
ntp1.ntp-servers.net
ntp2.ntp-servers.net
ntp0.zenon.net
gps-time prao.psn.ru
ntp.ix.ru

मैं अनुमतियों का पता लगाते ही अपने सर्वर को खोलने का प्रयास करूंगा। stratum1.net

साहित्य


"उपयोगिता" द्वारा क्रमबद्ध:
  1. Ntpd प्रलेखन
  2. GPS 18 LVC डिवाइस पर आधारित FreeBSD NTP सर्वर जोड़ना
  3. लिनक्स 2.6 पर एनटीटी स्ट्रैटम -0 के रूप में गार्मिन जीपीएस 18 एलवीसी का उपयोग करना
  4. फ्रीबीएसडी 7.0 का उपयोग करते हुए एनटीपी संदर्भ घड़ियां
  5. स्ट्रेटम 1 एनटीपी, गार्मिन जीपीएस 18 एलवीसी पर फ्रीबीएसडी 8.0 ( दर्पण )
  6. एक Garmin जीपीएस के साथ समय तुल्यकालन
  7. PPS सिंक्रोनाइज़ेशन (NTP FAQ)
  8. एक समय सर्वर स्ट्रैटम
  9. प्रो डेविड आर एंडरसन: एनटीपी तापमान मुआवजा
  10. NTP तापमान मुआवजा
  11. पीसी गन्नू / लिनक्स और फ्रीबस्ड का उपयोग कर नेटवर्क टाइम प्रोटोकॉल सर्वर
  12. LinuxPPS NTPD समर्थन करते हैं
  13. गिरी अनुशासन
  14. मेरे कंप्यूटर पर घड़ी गलत समय क्यों रखती है? (FreeBSD FAQ)
  15. एनटीपी परिशुद्धता समय प्रणाली
  16. अंत में नेटवर्क टाइम प्रोटोकॉल (NTP) RFC और मेलिंग सूचियों के लिंक प्रदान करता है।
  17. जीपीएस के पीछे पाँच विचार
  18. DFC77 रिसीवर
  19. सस्ते जीपीएस जैमर से क्या खतरा है

Source: https://habr.com/ru/post/In118266/


All Articles