Android के सेंसर, ऐप्लिकेशन को मोबाइल डिवाइस के फ़िज़िकल सेंसर ऐक्सेस करने की अनुमति देते हैं. ये वर्चुअल डिवाइस होते हैं, जो डेटा उपलब्ध कराते हैं. इन्हें सेंसर एचएएल (हार्डवेयर ऐब्स्ट्रैक्शन लेयर) की sensors.h फ़ाइल में तय किया जाता है.
Android के सेंसर क्या होते हैं?
Android के सेंसर, वर्चुअल डिवाइस होते हैं. ये फ़िज़िकल सेंसर से डेटा उपलब्ध कराते हैं. इनमें एक्सलरोमीटर, जाइरोस्कोप, मैग्नेटोमीटर, बैरोमीटर, नमी, प्रेशर, लाइट, प्रॉक्सिमिटी, और धड़कन की दर सेंसर शामिल हैं.
कैमरा, फ़िंगरप्रिंट सेंसर, माइक्रोफ़ोन, और टच स्क्रीन, डेटा उपलब्ध कराने वाले फ़िज़िकल डिवाइसों की सूची में शामिल नहीं हैं. इन डिवाइसों का अपना रिपोर्टिंग मैकेनिज़्म होता है. इन्हें अलग-अलग कैटगरी में रखना ज़रूरी नहीं है. हालांकि, आम तौर पर Android के सेंसर, कम बैंडविथ वाला डेटा उपलब्ध कराते हैं. उदाहरण के लिए, एक्सलरोमीटर के लिए “100 हर्ट्ज़ x 3 चैनल” बनाम कैमरे के लिए “25 हर्ट्ज़ x 8 मेगापिक्सल x 3 चैनल” या माइक्रोफ़ोन के लिए “44 किलोहर्ट्ज़ x 1 चैनल”.
Android यह तय नहीं करता कि अलग-अलग फ़िज़िकल सेंसर, चिप पर सिस्टम (SoC) से कैसे कनेक्ट होते हैं .
- अक्सर, सेंसर चिप को SoC से सेंसर हब के ज़रिए कनेक्ट किया जाता है. इससे, कम पावर वाले मॉनिटरिंग और डेटा की प्रोसेसिंग की जा सकती है.
- अक्सर, इंटर-इंटीग्रेटेड सर्किट (I2C) या सीरियल पेरिफ़ेरल इंटरफ़ेस (SPI) का इस्तेमाल, ट्रांसपोर्ट मैकेनिज़्म के तौर पर किया जाता है.
- पावर की खपत कम करने के लिए, कुछ आर्किटेक्चर हैरारकी वाले होते हैं. इनमें, ऐप्लिकेशन के लिए खास तौर पर बनाए गए इंटिग्रेटेड सर्किट (एएसआईसी - जैसे, एक्सलरोमीटर चिप पर हलचल का पता लगाने वाली सुविधा) में कम प्रोसेसिंग की जाती है. वहीं, माइक्रो कंट्रोलर (जैसे, सेंसर हब में कदमों का पता लगाना) में ज़्यादा प्रोसेसिंग की जाती है.
- डिवाइस बनाने वाली कंपनी को, सटीक जानकारी, पावर, कीमत, और पैकेज के साइज़ की विशेषताओं के आधार पर आर्किटेक्चर चुनने का अधिकार होता है. ज़्यादा जानकारी के लिए, सेंसर स्टैक देखें.
- पावर ऑप्टिमाइज़ेशन के लिए, बैचिंग की सुविधाओं को ध्यान में रखना ज़रूरी है. ज़्यादा जानकारी के लिए, बैचिंग देखें.
Android के हर सेंसर का एक “टाइप” होता है. इससे यह पता चलता है कि सेंसर कैसे काम करता है और यह किस तरह का डेटा उपलब्ध कराता है.
- Android के सेंसर
के आधिकारिक टाइप, sensors.h फ़ाइल में SENSOR_TYPE_… नाम से तय किए जाते हैं.
- ज़्यादातर सेंसर के लिए, सेंसर का आधिकारिक टाइप तय किया गया है.
- इन टाइप के बारे में, Android SDK में बताया गया है.
- Android Compatibility Test Suite (CTS) में, इन टाइप वाले सेंसर के काम करने के तरीके की जांच की जाती है.
- अगर कोई मैन्युफ़ैक्चरर, Android डिवाइस में किसी नए तरह का सेंसर इंटिग्रेट करता है, तो वह सेंसर के लिए अपना अस्थायी टाइप तय कर सकता है.
- इन टाइप के बारे में कोई दस्तावेज़ उपलब्ध नहीं है. इसलिए, ऐप्लिकेशन डेवलपर इनका इस्तेमाल शायद ही करते हैं. इसकी वजह यह है कि उन्हें इनके बारे में जानकारी नहीं होती या उन्हें पता होता है कि ये बहुत कम डिवाइसों में मौजूद होते हैं (सिर्फ़ इस मैन्युफ़ैक्चरर के कुछ डिवाइसों में).
- CTS में इनकी जांच नहीं की जाती.
- Android, इस तरह के सेंसर के लिए सेंसर का आधिकारिक टाइप तय करता है. इसके बाद, कंपनियों को अपने अस्थायी टाइप का इस्तेमाल बंद करना होगा और आधिकारिक टाइप का इस्तेमाल करना होगा. इससे, ज़्यादा ऐप्लिकेशन डेवलपर इस सेंसर का इस्तेमाल कर पाएंगे.
- डिवाइस में मौजूद सभी सेंसर की सूची, एचएएल
के लागू करने की प्रोसेस से रिपोर्ट की जाती है.
- एक ही टाइप के कई सेंसर हो सकते हैं. उदाहरण के लिए, दो प्रॉक्सिमिटी सेंसर या दो एक्सलरोमीटर.
- ज़्यादातर ऐप्लिकेशन, किसी दिए गए टाइप का सिर्फ़ एक सेंसर इस्तेमाल करने का अनुरोध करते हैं. उदाहरण के लिए, डिफ़ॉल्ट एक्सलरोमीटर का अनुरोध करने वाले ऐप्लिकेशन को, सूची में मौजूद पहला एक्सलरोमीटर मिलेगा.
- सेंसर को अक्सर वेक-अप और नॉन-वेक-अप पेयर के तौर पर तय किया जाता है. दोनों सेंसर का टाइप एक ही होता है, लेकिन वेक-अप की सुविधा के मामले में दोनों अलग-अलग होते हैं.
Android के सेंसर, सेंसर इवेंट की सीरीज़ के तौर पर डेटा उपलब्ध कराते हैं.
हर इवेंट में ये चीज़ें शामिल होती हैं:
- उस सेंसर का हैंडल जिसने इवेंट जनरेट किया है
- वह टाइमस्टैंप जिस पर इवेंट का पता चला या उसे मापा गया. यह टाइमस्टैंप,
SystemClock.elapsedRealtimeNanos()पर आधारित होता है - और कुछ डेटा
रिपोर्ट किए गए डेटा की व्याख्या, सेंसर के टाइप पर निर्भर करती है. हर सेंसर टाइप के लिए, किस तरह का डेटा रिपोर्ट किया जाता है, इस बारे में जानकारी पाने के लिए, सेंसर टाइप की परिभाषाएं देखें.
मौजूदा दस्तावेज़
डेवलपर के लिए
- खास जानकारी
- एसडीके रेफ़रंस
- स्टैक ओवरफ़्लो और ट्यूटोरियल वाली वेबसाइटें
- सेंसर के बारे में दस्तावेज़ कभी-कभी उपलब्ध नहीं होते थे. इसलिए, डेवलपर सवालों के जवाब पाने के लिए, स्टैक ओवरफ़्लो जैसी सवाल-जवाब वाली वेबसाइटों का सहारा लेते थे.
- ट्यूटोरियल वाली कुछ वेबसाइटें भी मौजूद हैं. हालांकि, इनमें बैचिंग, सिग्निफ़िकेंट मोशन, और गेम रोटेशन वेक्टर जैसी नई सुविधाओं के बारे में जानकारी नहीं दी गई है.
- इन वेबसाइटों पर दिए गए जवाब हमेशा सही नहीं होते. इससे यह पता चलता है कि ज़्यादा दस्तावेज़ों की ज़रूरत कहां है.
कंपनियों के लिए
- खास जानकारी
- हार्डवेयर ऐब्स्ट्रैक्शन लेयर (एचएएल)
- /platform/hardware/libhardware/+/android17-release/include/hardware/sensors.h
- इसे “sensors.h” के नाम से भी जाना जाता है
- सही और पूरी जानकारी का सोर्स. नई सुविधाएं डेवलप होने पर, सबसे पहले इस दस्तावेज़ को अपडेट किया जाता है.
- Android सीडीडी (कंपैटबिलिटी डेफ़िनिशन डॉक्यूमेंट)
- /compatibility/android-cdd.pdf
- सेंसर से जुड़े सेक्शन देखें.
- सीडीडी में दी गई शर्तें आसान होती हैं. इसलिए, सीडीडी की शर्तों को पूरा करने से, यह पक्का नहीं होता कि सेंसर की क्वालिटी अच्छी होगी.