वेब पर हार्डवेयर डिवाइसों को ऐक्सेस करना

अपनी पसंद के हार्डवेयर डिवाइस से संपर्क करने के लिए, सही एपीआई चुनें.

François Beaufort
François Beaufort

इस गाइड का मकसद, ईमेल पाने के लिए सबसे सही एपीआई चुनने में आपकी मदद करना है वेब पर हार्डवेयर डिवाइस (जैसे वेबकैम, माइक्रोफ़ोन वगैरह). "सबसे बढ़िया" के हिसाब से मेरा मतलब है इसमें कम से कम मेहनत में आपकी ज़रूरत की हर चीज़ उपलब्ध है. दूसरे शब्दों में, आपको कॉन्टेंट इस्तेमाल करने के उस सामान्य उदाहरण के बारे में पता है जिसे आपको हल करना है (उदाहरण के लिए, वीडियो ऐक्सेस करना) लेकिन मुझे नहीं पता कि किस एपीआई का इस्तेमाल करना चाहिए या नहीं पता कि इस काम को करने का कोई और तरीका है या नहीं.

एक समस्या जो कि आम तौर पर वेब डेवलपर को होती है वह है लो-लेवल एपीआई, बेहतर लेवल वाले एपीआई के बारे में सीखे बिना, जिन्हें लागू करें और एक बेहतर UX दें. इसलिए, यह गाइड इन सुझावों से शुरुआत करती है: उच्च-स्तरीय API को पहले, लेकिन अगर आपके पास है, तो निम्न-स्तरीय API का उल्लेख भी है पाया है कि उच्च-लेवल एपीआई आपकी ज़रूरतों को पूरा नहीं करता है.

🕹 इस डिवाइस से इनपुट इवेंट पाएं

कीबोर्ड और पॉइंटर इवेंट को सुनने की कोशिश करें. अगर यह डिवाइस एक गेम है कंट्रोलर के तौर पर, Gamepad API का इस्तेमाल करके यह पता करें कि कौनसे बटन दबाए जा रहे हैं और कौनसा ऐक्सिस चलाया गया.

अगर आपके लिए इनमें से कोई विकल्प काम नहीं करता, तो एक कम-लेवल वाला एपीआई समाधान हो सकता है. अपनी यात्रा शुरू करने के लिए, अपने डिवाइस से संपर्क करने का तरीका जानें.

📸 इस डिवाइस से ऑडियो और वीडियो ऐक्सेस करें

इस टूल से लाइव ऑडियो और वीडियो स्ट्रीम पाने के लिए, MediaDevices.getUserMedia() का इस्तेमाल करें साथ ही, ऑडियो और वीडियो कैप्चर करने के बारे में जानें. आपके पास यह भी कंट्रोल करने का विकल्प होता है कि कैमरे की पैन, टिल्ट, और ज़ूम के साथ-साथ कैमरे की अन्य सेटिंग, जैसे कि चमक और कंट्रास्ट, और यहां तक कि स्टिल इमेज भी ली जा सकती हैं. वेब ऑडियो का इस्तेमाल, इफ़ेक्ट जोड़ने के लिए किया जा सकता है ऑडियो इस्तेमाल करने, ऑडियो विज़ुअलाइज़ेशन बनाने या स्पेशल इफ़ेक्ट लागू करने का तरीका (जैसे कि पैनिंग). Chrome में वेब ऑडियो ऐप्लिकेशन की परफ़ॉर्मेंस को बेहतर बनाने का तरीका जानें भी.

अगर आपके लिए इनमें से कोई विकल्प काम नहीं करता, तो एक कम-लेवल वाला एपीआई समाधान हो सकता है. अपनी यात्रा शुरू करने के लिए, अपने डिवाइस से संपर्क करने का तरीका जानें.

🖨 इस डिवाइस पर प्रिंट करें

ब्राउज़र का वह डायलॉग खोलने के लिए, window.print() का इस्तेमाल करें जो उपयोगकर्ता को इसे चुनने की अनुमति देता है डिवाइस को डेस्टिनेशन के तौर पर सेव करें.

अगर यह तरीका काम नहीं करता, तो कम लेवल वाले एपीआई से समस्या हल हो सकती है. चेक आउट करने का समय यात्रा शुरू करने के लिए, अपने डिवाइस से संपर्क करने का तरीका जानें.

🔐 इस डिवाइस से पुष्टि करें

मज़बूत, प्रमाणित, और ऑरिजिन के स्कोप वाली सार्वजनिक पासकोड बनाने के लिए, WebAuthn का इस्तेमाल करें उपयोगकर्ताओं की पुष्टि करने के लिए, इस हार्डवेयर सुरक्षा डिवाइस का क्रेडेंशियल. यह एक साथ, ब्लूटूथ, एनएफ़सी, और यूएसबी-रोमिंग U2F या FIDO2 ऑथेंटिकेटर का इस्तेमाल करना. इन्हें सुरक्षा कुंजियां भी कहा जाता है. इन्हें प्लैटफ़ॉर्म की पुष्टि करने वाला टूल भी कहा जाता है. इनकी मदद से उपयोगकर्ता फ़िंगरप्रिंट या स्क्रीन लॉक की मदद से पुष्टि करना. अपना पहला WebAuthn ऐप्लिकेशन खोलें.

अगर यह डिवाइस किसी दूसरी तरह का हार्डवेयर सुरक्षा डिवाइस है (उदाहरण के लिए, क्रिप्टो करंसी वॉलेट), एक लो-लेवल एपीआई समस्या को हल करने में मदद कर सकता है. डिस्कवर' देखें डिवाइस से कैसे कनेक्ट करें.

🗄 इस डिवाइस पर फ़ाइलें ऐक्सेस करें

फ़ाइलों को पढ़ने और उनमें किए गए बदलावों को सीधे सेव करने के लिए, File System Access API का इस्तेमाल करें उपयोगकर्ता के डिवाइस पर मौजूद फ़ोल्डर ढूंढें. अगर उपलब्ध नहीं है, तो File API का इस्तेमाल करके पूछें उपयोगकर्ता, ब्राउज़र डायलॉग से लोकल फ़ाइलें चुन सकता है और फिर कॉन्टेंट पढ़ सकता है फ़ाइलें शामिल नहीं की जा सकतीं.

अगर आपके लिए इनमें से कोई विकल्प काम नहीं करता, तो एक कम-लेवल वाला एपीआई समाधान हो सकता है. अपनी यात्रा शुरू करने के लिए, अपने डिवाइस से संपर्क करने का तरीका जानें.

🧲 इस डिवाइस के सेंसर ऐक्सेस करें

मोशन सेंसर से सेंसर की रॉ वैल्यू पढ़ने के लिए, जेनेरिक सेंसर एपीआई का इस्तेमाल करें (जैसे, एक्सलरोमीटर या जाइरोस्कोप) और पर्यावरण सेंसर (जैसे, आस-पास की रोशनी, मैग्नेटोमीटर). अगर उपलब्ध नहीं है, तो DeviceMotion और DeviceOrientation का इस्तेमाल करें इवेंट में पहले से मौजूद एक्सलरोमीटर, जाइरोस्कोप, और कंपास का ऐक्सेस पाएं मोबाइल डिवाइस पर.

अगर इससे काम नहीं बनता, तो कम लेवल वाले एपीआई से समस्या हल हो सकती है. चेक आउट करने का समय यात्रा शुरू करने के लिए, अपने डिवाइस से संपर्क करने का तरीका जानें.

🛰 इस डिवाइस पर जीपीएस कोऑर्डिनेट ऐक्सेस करें

उपयोगकर्ता के अक्षांश और देशांतर की जानकारी पाने के लिए, भौगोलिक स्थान एपीआई का इस्तेमाल करें इस डिवाइस में मौजूदा स्थिति.

अगर इससे काम नहीं बनता, तो कम लेवल वाले एपीआई से समस्या हल हो सकती है. चेक आउट करने का समय यात्रा शुरू करने के लिए, अपने डिवाइस से संपर्क करने का तरीका जानें.

🔋 इस डिवाइस की बैटरी की जांच करें

बैटरी चार्ज लेवल और इसके बारे में होस्ट की जानकारी पाने के लिए, Battery API का इस्तेमाल करें बैटरी लेवल या चार्जिंग की स्थिति में बदलाव होने पर सूचना मिलेगी.

अगर इससे काम नहीं बनता, तो कम लेवल वाले एपीआई से समस्या हल हो सकती है. चेक आउट करने का समय यात्रा शुरू करने के लिए, अपने डिवाइस से संपर्क करने का तरीका जानें.

📍 नेटवर्क पर इस डिवाइस से संचार करें

लोकल नेटवर्क में, ऑडियो और/या ब्रॉडकास्ट करने के लिए रिमोट प्लेबैक एपीआई का इस्तेमाल करें रिमोट प्लेबैक डिवाइस (जैसे कि स्मार्ट टीवी या वायरलेस स्पीकर) पर वीडियो या किसी वेब पेज को दूसरी स्क्रीन पर रेंडर करने के लिए प्रज़ेंटेशन एपीआई का इस्तेमाल करना (जैसे कि सेकंडरी डिसप्ले को एचडीएमआई केबल या स्मार्ट टीवी से वायरलेस तरीके से कनेक्ट किया गया हो.

अगर इस डिवाइस पर कोई वेब सर्वर दिखता है, तो Get API और/या WebSockets का इस्तेमाल करें सही एंडपॉइंट पर दबाकर इस डिवाइस से कुछ डेटा फ़ेच कर सकते हैं. हालांकि, टीसीपी और यूडीपी सॉकेट वेब पर उपलब्ध नहीं हैं. इन्हें मैनेज करने के लिए WebTransport देखें इंटरैक्टिव, बाईडायरेक्शनल, और मल्टीप्लेक्स कनेक्शन. ध्यान दें कि WebRTC का इस्तेमाल, दूसरे ब्राउज़र के साथ रीयल-टाइम में डेटा शेयर करने के लिए भी किया जा सकता है पीयर-टू-पीयर प्रोटोकॉल का इस्तेमाल करके.

🧱 अपने डिवाइस से कम्यूनिकेट करने का तरीका जानें

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

  • वेब एनएफ़सी की मदद से, इस डिवाइस के आस-पास होने पर मैसेज को पढ़ें और लिखें उपयोगकर्ता का डिवाइस (आम तौर पर 5 से 10 सें॰मी॰ या 2 से 4 इंच). एनएफ़सी TagInfo जैसे टूल NXP की मदद से रिवर्स इंजीनियरिंग के लिए, इस डिवाइस का कॉन्टेंट ब्राउज़ किया जा सकता है के मकसद से बनाया गया है.

  • वेब ब्लूटूथ की मदद से, इस डिवाइस को ब्लूटूथ कम ऊर्जा वाले मोड पर कनेक्ट करें कनेक्शन. इसका इस्तेमाल करते समय, दर्शकों से संपर्क करना बहुत आसान होना चाहिए स्टैंडर्ड ब्लूटूथ GATT सेवाएं (जैसे, बैटरी सेवा) व्यवहार के बारे में अच्छी तरह से दस्तावेज़ में बताया गया हो. अगर नहीं, तो इस बिंदु पर, आपको या तो इस डिवाइस के लिए कुछ हार्डवेयर दस्तावेज़ पढ़ें या इसे रिवर्स इंजीनियरिंग करें. आप मोबाइल के लिए nRF Connect और पहले से मौजूद ब्राउज़र टूल जैसे बाहरी टूल का इस्तेमाल करें जैसे कि Chromium के हिसाब से, इंटरनल पेज about://bluetooth-internals ब्राउज़र पर आज़माएं. ब्लूटूथ लाइट बल्ब को रिवर्स-इंजीनियरिंग से देखें यूरी शेक किया गया. ध्यान दें कि ब्लूटूथ डिवाइस, एचआईडी या सीरियल नंबर भी बोल सकते हैं प्रोटोकॉल इस्तेमाल किए.

अगर वायर वाला है, तो इन एपीआई को इस खास क्रम में देखें:

  1. WebHID की मदद से, एचआईडी रिपोर्ट और रिपोर्ट डिस्क्रिप्टर को इसके ज़रिए समझना कलेक्शन, इस डिवाइस को समझने में आपकी मदद करते हैं. यह काम किया जा सकता है इस डिवाइस के लिए वेंडर के दस्तावेज़ के बिना चुनौती भरा काम करना होगा. इस तरह के टूल Wireshark, टूल की रिवर्स इंजीनियरिंग करने में आपकी मदद कर सकती है. एचआईडी का इस्तेमाल भी किया जा सकता है एचआईडी डिवाइसों की जानकारी को ऐसे फ़ॉर्मैट में डालने के लिए वेब ऐप्लिकेशन एक्सप्लोरर जिसे कोई भी व्यक्ति आसानी से पढ़ सके.

  2. वेब सीरियल के साथ, इस डिवाइस के लिए वेंडर के दस्तावेज़ के बिना और ये निर्देश इस डिवाइस पर काम करते हैं. यह मुश्किल है, लेकिन फिर भी मुमकिन है अंदाज़ा लगा रही हूँ. रॉ यूएसबी कैप्चर करके, इस डिवाइस की रिवर्स इंजीनियरिंग की जा सकती है Wireshark जैसे टूल से ट्रैफ़िक आता है. आप सीरियल टर्मिनल वेब ऐप्लिकेशन को डाउनलोड कर सकें.

  3. WebUSB की मदद से, इस डिवाइस के लिए साफ़ तौर पर दस्तावेज़ और यूएसबी का इस्तेमाल नहीं किया जा सकता ये निर्देश इस डिवाइस पर काम करते हैं. यह मुश्किल है, लेकिन फिर भी मुमकिन है अंदाज़ा लगा रही हूँ. Suz के WebUSB और इसकी रोमांचक क्षमता को एक्सप्लोर करना देखें हिंटन. रॉ यूएसबी कैप्चर करके, इस डिवाइस की रिवर्स इंजीनियरिंग भी की जा सकती है Wireshark जैसे बाहरी टूल की मदद से, ट्रैफ़िक और यूएसबी डिस्क्रिप्टर की जांच करना और बिल्ट-इन ब्राउज़र टूल, जैसे कि आंतरिक पेज about://usb-internals और उन्हें सिंक करने की सुविधा देता है.

स्वीकार की गई

इस लेख को पढ़ने के लिए, रेली ग्रांट, थॉमस स्टाइनर, और केयस बास्क को धन्यवाद.

Unस्प्लैश पर डारिया ट्रिफ़ानावा की फ़ोटो.