लोग धारावाहिक संचार में एटी कमांड का उपयोग क्यों करते हैं?


21

मुझे यह जानने की आवश्यकता है कि एम्बेडेड सिस्टम में लोग AT कमांड का उपयोग क्यों करते हैं?
जब मैंने लोगों से पूछा है कि यह एक मानक है।

तो मेरा सवाल है: "एटी" का क्या मतलब है? लोग इसे मानक क्यों कहते रहते हैं?


1
+++ ATH0 किसी को भी?
किनोकिजुफ

@kinokijuf यू क्या मतलब है?
xsari3x

1
why people in embedded systems use AT commands- आपके प्रश्न या धारावाहिक लिंक पर एटी के उपयोग के बारे में कुछ भी विशिष्ट नहीं है। यह हो सकता है कि आपने इसे एक एम्बेडेड सिस्टम पर देखा हो, लेकिन इसका मूल नीचे बताया गया है और यह एम्बेडेड सिस्टम के लिए विशिष्ट नहीं है। (ब्रश के बहुत अधिक चौड़े हिस्से वाली चीजों को रंगने के लिए सावधान रहें।)
रेडियन

1
एटी कमांड को कुछ में भी लागू किया गया था modemu: एक यूनिक्स प्रोग्राम जो एक मास्टर / दास छद्म-ट्टी डिवाइस बनाता है, और एक मॉडेम का अनुकरण करता है जो वास्तव में टेलनेट पर जाता है। आप एक मेजबान के साथ "डायल" करते हैं ATD<hostname>। मजेदार बात यह है कि यह कार्यक्रम लगभग उसी समय सामने आया जब मुझे इसकी आवश्यकता थी, 1996 के आसपास: संस्करण 0.0.1। मुझे इसकी जरूरत नहीं है। और यह अभी भी 0.0.1 है! मैंने इसे मिनिकॉम के साथ मिलकर टेलनेट पर ज़मोडेम ट्रांसफ़र को सुदूर मेजबानों पर करने के लिए किया जो केवल उसी रास्ते तक पहुँचा जा सकता था।
काज

@kinokijuf कृपया टिप्पणी में मत डालिए। तुम बस StackOverflow मुझ पर लटका कर दिया! :-)
कर्ट जे। सैम्पसन

जवाबों:


31

"एटी" कमांड के बारे में शायद ही कभी सराहना की जाती है कि "ऑटो-बॉड / ऑटो-पैरिटी" मोड में कई मोडेम शुरू होंगे। प्रारंभ में, मॉडेम वास्तव में किसी भी सीरियल डेटा को डिकोड करने की कोशिश नहीं कर रहा होगा, लेकिन बस एक निरंतर कम पल्स और उच्च पल्स के लिए देखेगा, जिसकी चौड़ाई समान वैध बिट अवधि से मेल खाती है (उदाहरण के लिए ३००३ बॉड के लिए ३.३३३, १२०० बॉड के लिए us३३us, आदि। ।)। इसे खोजने पर, वे देखेंगे कि क्या अगली कम नाड़ी उस चौड़ाई से पांच गुना अधिक थी। यदि ऐसा है, तो वे कम से कम 1.5 बिट उच्च स्तर के लिए या तो एक और उच्च-निम्न-उच्च के लिए देखेंगे या नहीं। दोनों में से किसी एक को खोजने से संकेत मिलता है कि मॉडेम ने पहचान की गई बॉड दर का केवल 0x41 या 0xC1 (यानी "ए") देखा था। यह आगे इंगित करेगा कि या तो संलग्न कंप्यूटर 8-N-1 या 7-E-1 का उपयोग कर रहा था, या यह कि वह 7-N-1 या 7-O-1 का उपयोग कर रहा था। या तो मामले में, यह अगले वर्ण के लिए 0x54 या 0xD4 (यानी "T") होगा। यह मॉडेम को चरित्र की लंबाई और समता सेटिंग्स को और अधिक वर्गीकृत करने की अनुमति देगा।

ध्यान दें कि "एटी" से पहले प्राप्त सभी चीजों को अनदेखा किया जाएगा। यदि प्रतिध्वनि चालू की गई थी, तो डेटा को संलग्न कंप्यूटर पर वापस बिना किसी धारावाहिक डिकोडिंग के सभी लाइन संक्रमणों को प्रतिबिंबित करके प्रतिध्वनित किया जाएगा। यदि कोई कंप्यूटर उदासीन 247 बॉड पर "AT" से पहले डेटा भेजता है, तो यह उस गति से वापस गूँज जाएगा।

आजकल, कुछ डिवाइस ऑटो-बॉड-रेट का पता लगाने के लिए एक प्रारंभिक "ए" का उपयोग करते हैं, लेकिन अन्यथा यह तथ्य कि "एटी" से शुरू होता है, मूल रूप से एक ऐतिहासिक जिज्ञासा है।


1
एहम ... आपका क्या मतलब है "7-N-1" ??
xsari3x

1
सात डेटा बिट्स, कोई समता नहीं, एक बिट बंद करो। 8-N-1 की तुलना में डेटा को 11% तेजी से भेजने की अनुमति देता है, अगर कोई उच्च बिट सेट के साथ कोई डेटा नहीं भेज रहा है।
सुपरकैट

सिवाय इसके कि ऑटो-बॉडिंग था (और है) आमतौर पर ++ कमांड के +++ भाग पर या कमांड पर + गार्ड + के बाद किया जाता है। देखें en.wikipedia.org/wiki/Time_Independent_Escape_Sequence
डेविड

1
@ डेविड: मुझे समय-स्वतंत्र भागने अनुक्रम लेख में ऑटो-बॉडिंग का कोई उल्लेख नहीं है, और न ही मैंने कभी किसी मॉडेम को +++ किसी अन्य बॉड दर पर स्वीकार करने के लिए देखा है जो संचार के लिए उपयोग कर रहा था। पात्रों 0x9E 0x86 2400-8-N-1 पर बैक-टू-वापस भेज दिया (या ^ N ^ एफ में 2400-7-ओ-1) का उत्पादन होता है वास्तव में 1200 बॉड पर एक "+" चरित्र के रूप में एक ही पंक्ति संक्रमण, इसलिए मैं बॉड-ट्रेनिंग चरित्र के लिए एक अजीब विकल्प के रूप में "+" का संबंध होगा।
सुपरकैट

विकिपीडिया (!) संदर्भ सिर्फ उन लोगों के लिए था जो +++ के बारे में नहीं जानते हैं। हार्डवेयर I, 'U' पर ट्रेनों का उपयोग करता है, कस्टम स्ट्रिंग्स पर सॉफ्टवेयर ट्रेनों का। क्या आप एक मानक के बारे में जानते हैं? +++ को प्रारंभ करने के लिए उपयोग किए जाने वाले सभी कनेक्ट स्ट्रिंग्स, इसलिए किसी भी अन्य संचार से पहले ऑटो-बॉडिंग पूरा हो गया था।
दाविद

22

यह हेस कमांड सेट को संदर्भित करता है जो एक सीरियल लाइन पर मोडेम (और अन्य उपकरण) को कमांड जारी करने के लिए लंबे समय से मानक है।

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

विकी पृष्ठ और नीचे दिए गए लिंक पर एक नज़र डालें - वहां बहुत विस्तार है।

हालांकि मूल एटी सेट के सभी प्रकार के एक्सटेंशन हैं, इसलिए मैं उन सभी चीजों पर बैंक नहीं करूंगा जिनमें एटी का उल्लेख वास्तव में सभी मूल हेस कमांड का उपयोग करने के लिए किया गया है। उदाहरण के लिए मेरे पास एक ब्लूटूथ सीरियल चिप है जो IIRC का उपयोग करता है यह खुद का एटी टाइप सेट है।
मैं इस पर कोई विशेषज्ञ नहीं हूँ, मैं सिर्फ डायल अप और BBS के पुराने दिनों में आदेशों के साथ हैकिंग याद है।


13

"एटी" कमांड सेट को एक ही बाइट-स्ट्रीम चैनल पर बैंड नियंत्रण जानकारी से बाहर की जरूरत की समस्या को हल करने के लिए मनमाना डेटा भेजा गया था। यह मॉडेम की एक आम समस्या थी, वापस जब वे धारावाहिक केबल के माध्यम से कंप्यूटर से जुड़े बाहरी बॉक्स थे।

हेस इस तरह के मॉडेम का निर्माता था, और उसने शुरुआती लोकप्रियता हासिल की। बैंड समस्या से बाहर निकलने के लिए उनका समाधान मॉडेम ज्यादातर दो अक्षर ASCII नियंत्रण आदेशों को एक विशेष अनुक्रम के साथ डेटा पास थ्रू मोड में भेजना था। कमांड की तरह दिखने वाले यादृच्छिक सामान की संभावना को कम करने के लिए, उनके कमांड क्रम सभी एटी कमांड के साथ शुरू हुए, जो "ध्यान" के लिए खड़ा था।

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

आजकल, इस योजना का उपयोग शायद ही कभी किया जाता है, लेकिन निश्चित रूप से कुछ ऐसा था जो आज भी अंधेरे कोनों में चारों ओर व्याप्त है।


1
मुझे हेस के बारे में यह ऐतिहासिक नोट पसंद आया और इसने अपने स्वयं के मानक को कैसे मजबूर किया, उपर्युक्त दो उत्तर के साथ अपने उत्तर को
संक्षिप्त

संयोग से, कई नए मोडेम की आवश्यकता नहीं लगती है कि अक्षर "एटी" अपरकेस हो, जो उस आवृत्ति को बढ़ाता है जिसके साथ पाठ फ़ाइल भेजने के बीच में डिस्कनेक्ट होने से गलत मॉडेम व्यवहार हो जाएगा।
सुपरकैट

बैंड-ब्रेक कंट्रोल कोड +++ AT या +++ <guard time> है। AT मानक नियंत्रण सेट के पहले दो अक्षर हैं, और ATtention के लिए खड़े हैं।
दाविद

1

एक विशेष रूप से अच्छा दस्तावेज है जो "एटी" कमांड के इतिहास का वर्णन करता है जो यहां पाया जा सकता है:

http://nemesis.lonestar.org/reference/telecom/modems/at/history.html

इसमें अच्छे "इतिहास" के कई पृष्ठ शामिल हैं कि प्रोटोकॉल कैसे आया।


0

क्यों एम्बेडेड सिस्टम में लोग AT कमांड का उपयोग करते हैं?

मैं उन "एम्बेडेड सिस्टम में लोगों" में से एक नहीं हूं, लेकिन मैं कहूंगा कि ATकमांड अभी भी उपयोग में हैं क्योंकि वे इन-लाइन सिग्नलिंग के लिए एक अच्छी तरह से परिभाषित कम-ओवरहेड मानक से आते हैं।

इसका मतलब यह है कि आप सिग्नल के लिए एक ही संचार चैनल का उपयोग कर सकते हैं (संचार को प्रबंधित करने के लिए एटी कमांड) और डेटा (वास्तविक डेटा जिसे आप भेजना चाहते हैं)। ATमानक निर्दिष्ट करती है कि ताकि आप और आपके धारावाहिक डिवाइस दोनों के बीच अंतर करने के लिए जब एक दूसरे से बात उलझन में नहीं मिलता।

"एटी" का क्या अर्थ है?

ATके लिए है ध्यान

लोग इसे मानक क्यों कहते रहते हैं?

खैर, क्योंकि यह है। मैं कहेंगे यह वास्तव में का एक मिश्रण है जिस वास्तविक मानकीकरण और एक जोड़ी के 'असली' मानकों और कुछ सिफारिशों


यह कुछ भी नहीं लगता है जो कि पहले से ही अन्य उत्तरों में वर्षों पहले नहीं कहा गया था। यदि आप एक पुराने प्रश्न को समाप्त करने जा रहे हैं, तो यह वास्तव में कुछ महत्वपूर्ण कहना चाहिए जो पहले नहीं कहा गया है।
क्रिस स्ट्रैटन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.