
Dump1090 RTLSDR डिवाइसों के लिए एक सरल Mode S डिकोडर है
Dump 1090 एक Mode S डिकोडर है जिसे विशेष रूप से RTLSDR उपकरणों के लिए डिज़ाइन किया गया है।
मुख्य विशेषताएँ हैं:
जबकि समय-समय पर मैं अपने fork में चीज़ें जोड़ता / ठीक करता रहता हूँ, मैं कार्यान्वयन की minimalism को लक्षित करता हूँ। हालाँकि अधिक feature-complete fork उपलब्ध है, जिसे MalcolmRobb ने विकसित किया है।
"make" टाइप करें।
अपने RTL डिवाइस से सीधे ट्रैफ़िक कैप्चर करने और कैप्चर किए गए ट्रैफ़िक को स्टैंडर्ड आउटपुट पर दिखाने के लिए, बस प्रोग्राम को बिना किसी विकल्प के चलाएँ:
./dump1090
केवल हेक्साडेसिमल संदेश आउटपुट करने के लिए:
./dump1090 --raw
प्रोग्राम को इंटरैक्टिव मोड में चलाने के लिए:
./dump1090 --interactive
प्रोग्राम को इंटरैक्टिव मोड में, नेटवर्किंग समर्थन के साथ चलाने के लिए, और लाइव ट्रैफ़िक देखने के लिए अपने ब्राउज़र से http://localhost:8080 पर कनेक्ट करें:
./dump1090 --interactive --net
इंटरैक्टिव मोड में कम सूचना-सघन लेकिन अधिक "आर्केड शैली" आउटपुट प्राप्त करना संभव है, जहाँ स्क्रीन हर सेकंड रिफ्रेश होती है और प्राप्त Mode S पैकेटों से निकाली गई ऊँचाई और उड़ान संख्या जैसी कुछ अतिरिक्त जानकारी के साथ हाल ही में देखे गए सभी विमानों को प्रदर्शित करती है।
फ़ाइल से डेटा डिकोड करने के लिए, उपयोग करें:
./dump1090 --ifile /path/to/binfile
बाइनरी फ़ाइल को rtl_sdr का उपयोग करके इस प्रकार बनाया जाना चाहिए (या किसी अन्य प्रोग्राम के साथ जो 2Mhz सैंपल दर पर 8-बिट unsigned IQ सैंपल आउटपुट करने में सक्षम हो)।
rtl_sdr -f 1090000000 -s 2000000 -g 50 output.bin
उदाहरण में rtl_sdr में 50 का gain उपयोग किया गया है, आपको बस अपने tuner के लिए उपलब्ध उच्चतम gain का उपयोग करना चाहिए। Dump1090 को कॉल करते समय यह आवश्यक नहीं है क्योंकि यह स्वचालित रूप से समर्थित उच्चतम gain का चयन करने में सक्षम है।
--ifile विकल्प के साथ तर्क के रूप में "-" का उपयोग करके प्रोग्राम को स्टैंडर्ड इनपुट के माध्यम से डेटा फीड करना संभव है।
Dump1090 को अलग gain, फ़्रीक्वेंसी आदि सेट करने के लिए अन्य कमांड लाइन विकल्पों के साथ कॉल किया जा सकता है। विकल्पों की सूची के लिए उपयोग करें:
./dump1090 --help
यहाँ जो कुछ भी प्रलेखित नहीं है वह स्पष्ट होना चाहिए, और अधिकांश उपयोगकर्ताओं के लिए इसे बिना किसी तर्क के कॉल करना सबसे अच्छा है।
डिफ़ॉल्ट रूप से Dump1090 CRC चेकसम का उपयोग करके बिट त्रुटियों को ठीक करने का प्रयास करता है। प्रोग्राम प्राप्त संदेशों में दो बिट त्रुटियों तक को शीघ्रता से पहचानने और सुधारने के लिए एक पूर्व-गणना की गई syndrome तालिका का उपयोग करता है।
यह वास्तव में त्रुटियों को ठीक करने में सक्षम है और मेरे अनुभव में विश्वसनीय रूप से काम करता है, हालाँकि यदि आप बहुत विश्वसनीय डेटा में रुचि रखते हैं तो मैं त्रुटि सुधार को अक्षम करने के लिए --no-fix कमांड लाइन स्विच का उपयोग करने का सुझाव देता हूँ।
मेरे सीमित अनुभव में Dump1090 बड़ी संख्या में संदेशों को डिकोड करने में सक्षम था, यहाँ तक कि उन परिस्थितियों में भी जहाँ मुझे अन्य प्रोग्रामों का उपयोग करते समय समस्याओं का सामना करना पड़ा, हालाँकि कोई औपचारिक परीक्षण नहीं किया गया इसलिए मैं वास्तव में यह दावा नहीं कर सकता कि यह प्रोग्राम अन्य समान प्रोग्रामों की तुलना में बेहतर या बदतर है।
यदि आप ऐसा ट्रैफ़िक कैप्चर कर सकते हैं जिसे Dump1090 ठीक से डिकोड नहीं कर पाता, तो मुझे डाउनलोड लिंक के साथ एक ईमेल भेजें। मैं अपने खाली समय में पहचान को बेहतर बनाने का प्रयास कर सकता हूँ (यह केवल एक शौकिया प्रोजेक्ट है)।
Dump1090 सतही स्थिति संदेशों (Type Code 5-8) को डिकोड कर सकता है, जो ज़मीन पर रहते हुए विमानों द्वारा प्रेषित किए जाते हैं (टैक्सीिंग, गेट पर प्रतीक्षा आदि)। इन संदेशों में विमान की स्थिति, ज़मीनी गति और ज़मीनी ट्रैक शामिल होते हैं।
सतही स्थितियाँ हवाई स्थितियों से भिन्न एन्कोडिंग का उपयोग करती हैं: CPR (Compact Position Reporting) प्रारूप 360 के बजाय केवल 90 डिग्री कवर करता है, और असंदिग्ध डिकोडिंग के लिए 45 nautical miles के भीतर एक संदर्भ स्थिति की आवश्यकता होती है।
आपसे अपने रिसीवर का स्थान कॉन्फ़िगर करने की आवश्यकता के बजाय, Dump1090 सभी सफलतापूर्वक डिकोड की गई हवाई स्थितियों का औसत निकालकर स्वचालित रूप से एक संदर्भ स्थिति की गणना करता है। यह इसलिए काम करता है क्योंकि यदि आप किसी हवाई अड्डे से सतही ट्रैफ़िक प्राप्त कर सकते हैं, तो आपको लगभग निश्चित रूप से हवाई ट्रैफ़िक भी प्राप्त होता है। ऊपर से उड़ान भरने वाले विमानों की औसत स्थिति एक ऐसा संदर्भ प्रदान करती है जो सतही स्थितियों को डिकोड करने के लिए पर्याप्त निकट (45 NM आवश्यकता के भीतर) होता है।
नोट: सतही स्थितियाँ केवल तभी प्रदर्शित की जाएँगी जब संदर्भ स्थापित करने के लिए कम से कम एक हवाई स्थिति सफलतापूर्वक डिकोड की गई हो। ज़मीन पर मौजूद विमान इंटरैक्टिव डिस्प्ले में altitude 0 के साथ दिखाई देंगे।
--net के साथ नेटवर्किंग समर्थन सक्षम करने पर Dump1090 पोर्ट 30002 और 30001 पर क्लाइंट कनेक्शन के लिए सुनना शुरू कर देता है (यदि आप चाहें तो दोनों पोर्ट बदल सकते हैं, --help आउटपुट देखें)।
कनेक्टेड क्लाइंट्स को डिवाइस (या यदि --ifile उपयोग किया गया है तो फ़ाइल से) से आते ही डेटा ASAP परोसा जाता है, निम्नलिखित के समान रॉ प्रारूप में:
*8D451E8B99019699C00B0A81F36E;
प्रत्येक प्रविष्टि एक साधारण newline (LF कैरेक्टर, hex 0x0A) द्वारा अलग की जाती है।
पोर्ट 30001 रॉ इनपुट पोर्ट है, और इसका उपयोग Dump1090 को ऊपर निर्दिष्ट प्रारूप में डेटा फीड करने के लिए किया जा सकता है, जिसमें हेक्स संदेश * से शुरू होते हैं और ; कैरेक्टर के साथ समाप्त होते हैं।
उदाहरण के लिए, यदि कोई अन्य रिमोट Dump1090 इंस्टेंस डेटा एकत्र कर रहा है, तो इस प्रकार कुछ करके आउटपुट को स्थानीय Dump1090 इंस्टेंस में जोड़ना संभव है:
nc remote-dump1090.example.net 30002 | nc localhost 30001
यह ध्यान रखना महत्वपूर्ण है कि पोर्ट 30001 के माध्यम से जो प्राप्त होता है वह पोर्ट 30002 पर सुनने वाले क्लाइंट्स को भी प्रसारित किया जाता है।
सामान्य तौर पर पोर्ट 30001 से प्राप्त हर चीज़ को RTL डिवाइसों से सामान्य ट्रैफ़िक या --ifile उपयोग किए जाने पर फ़ाइल से ट्रैफ़िक की तरह ही संभाला जाता है।
निम्नलिखित उदाहरण की तरह --ifile के साथ तर्क के रूप में /dev/zero का उपयोग करके Dump1090 को केवल एक hub के रूप में उपयोग करना संभव है:
./dump1090 --net-only
या वैकल्पिक रूप से स्क्रीन पर क्या हो रहा है यह देखने के लिए:
./dump1090 --net-only --interactive
फिर आप इसे इंटरनेट से विभिन्न डेटा स्रोतों से फीड कर सकते हैं।
कनेक्टेड क्लाइंट्स को SBS1 (BaseStation) प्रारूप में संदेश परोसे जाते हैं, जो इस प्रकार हैं:
MSG,4,,,738065,,,,,,,,420,179,,,0,,0,0,0,0
MSG,3,,,738065,,,,,,,35000,,,34.81609,34.07810,,,0,0,0,0
इसका उपयोग किसी अन्य डिकोडर का उपयोग करने की आवश्यकता के बिना विभिन्न शेयरिंग साइटों को डेटा फीड करने के लिए किया जा सकता है।
Mode S संदेश 1090 Mhz फ़्रीक्वेंसी पर प्रेषित होते हैं। यदि आपके पास एक अच्छा एंटीना है, तो आप अपनी स्थिति से काफी दूर के विमानों से संकेत प्राप्त कर सकेंगे, खासकर यदि आप बाहर हैं और अच्छे आसमान के दृश्य वाली स्थिति में हैं।
आप निम्नलिखित निर्देशों का पालन करके बहुत सस्ता एंटीना आसानी से बना सकते हैं:
http://antirez.com/news/46
इस साधारण एंटीना के साथ मैं अपने से 200+ किमी दूर के विमानों के संकेत प्राप्त करने में सक्षम था।