डेस्कटॉप हेड यूनिट का इस्तेमाल करके जांच करना

डेस्कटॉप हेड यूनिट (डीएचयू) की मदद से, डेवलपमेंट मशीन में Android Auto हेड यूनिट को एमुलेट किया जा सकता है. इससे, Android Auto ऐप्लिकेशन चलाए जा सकते हैं और उनकी जांच की जा सकती है. DHU, Windows, macOS, और Linux सिस्टम पर काम करता है.

डीएचयू इंस्टॉल करने के बाद, अपने इनमें से किसी एक का इस्तेमाल करके, अपने मोबाइल डिवाइस को Android Auto ऐप्लिकेशन से कनेक्ट करें DHU चलाएं में बताए गए काम करने वाले कनेक्शन मैकेनिज़्म.

डीएचयू से जुड़ी गड़बड़ियों की शिकायत करने या सुविधाओं के लिए अनुरोध करने के लिए, समस्या ट्रैकर का इस्तेमाल करें.

डीयूए इंस्टॉल करना

अपनी डेवलपमेंट मशीन पर डीएचयू इंस्टॉल करने के लिए यह तरीका अपनाएं:

  1. डिवाइस पर डेवलपर के विकल्प कॉन्फ़िगर करना में बताए गए तरीके से, Android 9 (एपीआई लेवल 28) या इसके बाद के वर्शन पर चलने वाले मोबाइल डिवाइस पर डेवलपर मोड चालू करें.
  2. अपने ऐप्लिकेशन को डिवाइस पर कंपाइल और इंस्टॉल करें.
  3. Android Auto इंस्टॉल करें डिवाइस पर. अगर Android Auto पहले से इंस्टॉल है, तो पक्का करें कि आपके डिवाइस पर इसका नया वर्शन इस्तेमाल किया जा रहा हो.
  4. Android Studio में, SDK मैनेजर खोलें और SDK टूल टैब पर जाएं. इसके बाद, Android Auto के लिए डेस्कटॉप हेड यूनिट एमुलेटर पैकेज डाउनलोड करें.

डीएचयू 2.0 दिखाने वाला एसडीके मैनेजर

डीएचयू को SDK_LOCATION/extras/google/auto/ डायरेक्ट्री.

  1. Linux या macOS सिस्टम पर, उस डायरेक्ट्री में यह कमांड चलाएं, ताकि यह पक्का किया जा सके कि DHU बाइनरी को चलाया जा सकता है:

    chmod +x ./desktop-head-unit
    

Linux के लिए अतिरिक्त चरण

अगर Linux सिस्टम पर DHU वर्शन 2.x चलाया जा रहा है, तो आपको कुछ अतिरिक्त लाइब्रेरी होनी चाहिए. DHU बाइनरी, GLIBC के 2.32 या इसके बाद के वर्शन पर काम करती है. इस निर्देश की मदद से, अपने सिस्टम का GLIBC वर्शन देखा जा सकता है:

ldd --version

अगर वर्शन 2.32 से पहले का है, तो GLIBC को 2.32 या उसके बाद के वर्शन पर अपडेट करें. इसके लिए, आपको ओएस को ऐसे वर्शन पर अपग्रेड करना पड़ सकता है जो GLIBC 2.32 या उसके बाद के वर्शन के साथ काम करता हो.

आपको libc++1 और libc++abi1 लाइब्रेरी भी इंस्टॉल करनी होंगी. इंस्टॉलेशन प्रक्रिया आपके Linux डिस्ट्रिब्यूशन के आधार पर अलग-अलग होती है. उदाहरण के लिए, डिबियन से बने Linux डिस्ट्रिब्यूशन पर, लाइब्रेरी को इस कमांड से इंस्टॉल किया जा सकता है:

sudo apt-get install libc++1 libc++abi1

DHU के रिलीज़ से पहले वाले वर्शन इंस्टॉल करें

डीएचयू के रिलीज़ होने से पहले के वर्शन का ऐक्सेस पाने के लिए, Android Studio के झलक वाले वर्शन का इस्तेमाल किया जा सकता है. इसके अलावा, अपने मौजूदा Android Studio इंस्टॉलेशन के अपडेट चैनल को बीटा चैनल में बदला जा सकता है.

डीएचयू चलाना

DHU इंस्टॉल करने के बाद, अपने Android Auto ऐप्लिकेशन की जांच की जा सकती है. इसके लिए, अपने मोबाइल डिवाइस और वर्कस्टेशन को यूएसबी से कनेक्ट करें. अपने डिवाइस को कनेक्ट करके DHU मोबाइल डिवाइस से डेवलप की जा रही है, तो ऐक्सेसरी मोड (DHU 2.x के लिए सुझाया गया) या ADB टनलिंग.

ऐक्सेसरी मोड का इस्तेमाल करके कनेक्ट करना

Android Auto, Android Open की मदद से DHU वर्शन 2.x से कनेक्ट करने पर काम करता है ऐक्सेसरी (एओए) प्रोटोकॉल का पालन करने के लिए, नीचे दिए गए निर्देश का इस्तेमाल करें:

./desktop-head-unit --usb

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

./desktop-head-unit --usb=[DEVICE_ID]

ADB टनल का इस्तेमाल करके कनेक्ट करना

इस तरीके के लिए, Android Auto की मुख्य यूनिट से कनेक्शन सेट अप करना ज़रूरी है Android डीबग ब्रिज (adb) पर सर्वर बनाएं. फ़ॉलो करें टनलिंग को सेट अप करने और डीएचयू चलाने के लिए यह तरीका अपनाएं:

  1. अगर Android Auto का डेवलपर मोड पहले से चालू नहीं है, तो उसे चालू करें.
  2. अगर हेड यूनिट सर्वर पहले से नहीं चल रहा है, तो ओवरफ़्लो मेन्यू खोलें और हेड यूनिट सर्वर शुरू करें को चुनें, जैसा कि पहले चित्र में दिखाया गया है.

    डिवाइस पर, सूचना देने वाली जगह में एक फ़ोरग्राउंड सेवा दिखती है इससे पता चलता है कि सर्वर चालू है, जैसा कि दूसरी इमेज में दिखाया गया है.

    डेवलपर के लिए सेटिंग और टूल वाला संदर्भ मेन्यू

    पहली इमेज. डेवलपर के लिए सेटिंग और टूल वाला संदर्भ मेन्यू.

    हेड यूनिट सर्वर के चालू होने की सूचना

    दूसरी इमेज. सूचना कि मुख्य यूनिट सर्वर चल रहा है.

  3. Android Auto ऐप्लिकेशन में, सेटिंग के सबसे ऊपर मौजूद पहले से कनेक्ट की गई कारें पर टैप करें. साथ ही, पक्का करें कि Android Auto में नई कारें जोड़ें चालू हो.

  4. मोबाइल डिवाइस को यूएसबी का इस्तेमाल करके डेवलपमेंट मशीन से कनेक्ट करें.

  5. पक्का करें कि मोबाइल डिवाइस की स्क्रीन अनलॉक हो, ताकि वह डीएचयू को लॉन्च कर सके.

  6. डेवलपमेंट मशीन के पोर्ट 5277 से, Android डिवाइस के उसी पोर्ट नंबर पर सॉकेट कनेक्शन फ़ॉरवर्ड करने के लिए, डेवलपमेंट मशीन पर यह adb कमांड चलाएं. यह कॉन्फ़िगरेशन, डीएचयू को हेड से कनेक्ट करने देता है मोबाइल डिवाइस पर टीसीपी सॉकेट पर चलने वाला यूनिट सर्वर.

    adb forward tcp:5277 tcp:5277
    
  7. Windows पर desktop-head-unit.exe निर्देश देकर, DHU शुरू करें या macOS या Linux पर ./desktop-head-unit, SDK_LOCATION/extras/google/auto/ डायरेक्ट्री:

    cd SDK_LOCATION/extras/google/auto
    desktop-head-unit.exe # Windows
    ./desktop-head-unit # macOS or Linux
    

डेवलपमेंट मशीन पर चल रहा DHU

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

डीएचयू शुरू होने के बाद, डीएचयू कंसोल के निर्देशों का इस्तेमाल किया जा सकता है आपके ऐप्लिकेशन को चलाने और उसकी जांच करने के लिए.

कमांड-लाइन के विकल्प

डिफ़ॉल्ट रूप से, हेड यूनिट सर्वर पोर्ट 5277 से कनेक्ट होता है. होस्ट या पोर्ट को बदलने के लिए, --adb=<[localhost:]port> फ़्लैग का इस्तेमाल करें, जैसा कि इस उदाहरण में दिखाया गया है:

./desktop-head-unit --adb=5999

डिफ़ॉल्ट रूप से, डीएचयू, Android Auto के साथ काम करने वाली मुख्य यूनिट की टचस्क्रीन का यूज़र इंटरफ़ेस. माउस से DHU पर क्लिक करके, उपयोगकर्ता के टच की नकल करें. इनपुट के लिए रोटरी कंट्रोलर का इस्तेमाल करने वाली हेड यूनिट को एमुलेट करने के लिए, -i rotary फ़्लैग का इस्तेमाल किया जा सकता है. इसका उदाहरण यहां दिया गया है:

./desktop-head-unit -i controller

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

DHU के लिए अन्य कमांड-लाइन विकल्प इस टेबल में दिए गए हैं:

विकल्प ब्यौरा
-c, --config=FILE बताई गई कॉन्फ़िगरेशन .ini फ़ाइल का इस्तेमाल करें. ज़्यादा जानकारी के लिए, डीयूए कॉन्फ़िगर करना सेक्शन देखें.
-i, --input=INPUT इनमें से किसी एक इनपुट मोड का इस्तेमाल करें: touch, rotary या hybrid.
-a, --adb=HOSTPORT ADB ट्रांसपोर्ट का इस्तेमाल करें. host:port या port. डिफ़ॉल्ट रूप से, पोर्ट 5277 सेट होता है.
-a, --usb=DEVICE_ID यूएसबी एओए ट्रांसपोर्ट का इस्तेमाल करें. ज़रूरी नहीं DEVICE_ID.
-v, --version वर्शन की जानकारी दिखाएं.
-l, --licenses ओपन सोर्स लाइसेंस दिखाएं.
-h, --headless बिना यूज़र इंटरफ़ेस (यूआई) के, बिना ग्राफ़िक यूज़र इंटरफ़ेस वाले मोड में चलाएं.
-t, --always_show_window_on_top DHU विंडो को दूसरी विंडो के ऊपर दिखाएं (डिफ़ॉल्ट रूप से बंद)
-?, --help सहायता सूची दिखाएं.

DHU के इस्तेमाल के लिए गाइड

इस सेक्शन में, डीएचयू की सुविधाओं और उनका इस्तेमाल करने के तरीके के बारे में बताया गया है.

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

सिस्टम

निर्देश सुरक्षा कुंजी ब्यौरा
help [command] सभी निर्देश का सेट दिखाएं. अगर कोई कमांड का नाम दिया गया है, तो उस कमांड के लिए सहायता दिखाएं.
quit
exit
Alt+Q हेड यूनिट से बाहर निकलें.
sleep [seconds] एक सेकंड के लिए सोएँ. अगर देरी का समय तय है, तो इतनी देर तक सोएं seconds. इसका इस्तेमाल, ./desktop-head-unit < script.txt के साथ हेड यूनिट की स्क्रिप्ट बनाने के लिए किया जा सकता है. उदाहरण के लिए, सीआई (कंट्रोल इंटिग्रेशन) एनवायरमेंट में.
screenshot filename.png filename.png. में स्क्रीनशॉट सेव करें
licenses डीएचयू में इस्तेमाल की गई लाइब्रेरी के लाइसेंस दिखाएं.
keycode keycode keycode भेजें, जो कीकोड सेक्शन में दिए गए नामों में से एक है.

टच और टचपैड

टच या टचपैड चालू होने पर, टच के लिए डिसप्ले विंडो या टचपैड के लिए टचपैड विंडो पर क्लिक करने पर, टच इवेंट के तौर पर रजिस्टर होता है.

टच के लिए, पहली उंगली की जगह पर राइट क्लिक करके मल्टी-टच सिम्युलेट करें. इसके बाद, दूसरी उंगली के लिए राइट बटन को दबाकर रखें. दो उंगलियों का सेंटरपॉइंट एक जैसा रहता है. माउस को हिलाने पर, उन्हें सेंटर के आस-पास घुमाया जा सकता है, पिंच इन और पिंच आउट किया जा सकता है या दोनों किया जा सकता है.

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

निर्देश सुरक्षा कुंजी ब्यौरा
tap x y तय किए गए निर्देशांकों पर टच इवेंट को सिम्युलेट करें.

रोटरी कंट्रोलर

डीएचयू में रोटरी कंट्रोलर की सुविधा है. चालू होने पर, ये कार्रवाइयां की जा सकती हैं:

  • डी-पैड पर ऊपर, नीचे, बाएं, और दाएं क्लिक करना
  • घड़ी की सुई की दिशा में और घड़ी की उलटी दिशा में घूम रहा है
  • रोटेशन फ़्लिक करना (एक साथ पांच चरण)
  • कंट्रोलर पर नीचे और वापस जाकर क्लिक करना

निर्देश और की बाइंडिंग की जानकारी नीचे दी गई टेबल में दी गई है.

माउस पर मौजूद स्क्रोल व्हील, dpad rotate निर्देश भेजता है. साथ ही, माउस के बीच वाले बटन पर क्लिक करने से, आम तौर पर स्क्रोल व्हील, dpad click निर्देश भेजता है.

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

निर्देश सुरक्षा कुंजी ब्यौरा
dpad {up|down|left|right} ऐरो बटन रोटरी कंट्रोलर को मूव करें.
dpad {ur|dl|ul|dr} रोटरी कंट्रोलर को घुमाएं.
dpad soft {left|right} Shift+ऐरो बटन कुछ रोटरी कंट्रोलर पर मौजूद साइड बटन दबाएँ.
dpad click वापस लाएं रोटरी कंट्रोलर को दबाएं.
dpad back backspace कुछ रोटरी कंट्रोलर के नीचे मौजूद, 'वापस जाएं' बटन दबाएं.
dpad rotate left 1 रोटरी कंट्रोलर को घड़ी की उल्टी दिशा में (बाईं ओर) घुमाएं.
dpad rotate right 2 रोटरी कंट्रोलर को घड़ी की दिशा में (दाईं ओर) घुमाएं.
dpad flick left Shift+1 रोटरी कंट्रोलर को घड़ी की उल्टी दिशा में तेज़ी से घुमाएं.
dpad flick right Shift+2 रोटरी कंट्रोलर को तेज़ी से घड़ी की दिशा में घुमाएं.
dpad 0-9*#+ नंबर पैड

माइक्रोफ़ोन

डीएचयू में माइक्रोफ़ोन इस्तेमाल करके, बोलकर फ़ोन को निर्देश देने या पहले से रिकॉर्ड किए गए वीडियो को चलाने की सुविधा मिलती है वॉइस ट्रैक. सुविधा के लिए, सामान्य आवाज़ के लिए निम्न ध्वनि फ़ाइलें ये कमांड DHU के साथ शामिल किए गए हैं. ये साउंड फ़ाइलें, SDK_LOCATION/extras/google/auto/voice/ डायरेक्ट्री में मौजूद होती हैं.

फ़ाइल का नाम टेक्स्ट
navhome.wav होम पेज पर जाएं.
navwork.wav ऑफ़िस पर जाएं.
navsoh.wav सिडनी ऑपरा हाउस का रास्ता बताओ.
navgoogle.wav 1600 Amphitheatre Parkway, California, USA तक नेविगेट करें.
exitnav.wav नेविगेशन से बाहर निकलें.
howlong.wav मुझे वहाँ पहुँचने में कितना समय लगेगा?
showtraffic.wav ट्रैफ़िक दिखाएं.
showalternateroute.wav वैकल्पिक रास्ते दिखाएं.
pause.wav संगीत रोकें.
nextturn.wav मेरा अगला मोड़ कब है?

डीएचयू प्रॉम्प्ट में किसी एक .wav फ़ाइल को चलाने के लिए, नीचे दिए गए निर्देश का इस्तेमाल करें:

mic play /path/to/filename.wav

यहां दी गई टेबल में, माइक्रोफ़ोन से जुड़े अन्य निर्देशों की सूची दी गई है:

निर्देश सुरक्षा कुंजी ब्यौरा
mic begin क॰ स्टीयरिंग व्हील पर क्लिक करते हुए माइक्रोफ़ोन चालू करें बटन पर क्लिक करें और कंप्यूटर माइक्रोफ़ोन से इनपुट मिलने की इंतज़ार करें.
mic play filename.wav माइक्रोफ़ोन चालू करें और बताई गई WAV फ़ाइल रिकॉर्डिंग चलाएं. ध्यान दें: आपको चल रही WAV फ़ाइल की आवाज़ सुनाई नहीं दे रही, लेकिन आपको Android Auto से मिला जवाब.
mic repeat mic play के साथ इस्तेमाल की गई पिछली रिकॉर्डिंग को दोहराएं.
mic reject {on|off} माइक्रोफ़ोन के लिए अनुरोध अस्वीकार करने की सुविधा चालू या बंद करें. इस सेटिंग के चालू होने पर, माइक्रोफ़ोन के लिए किए गए सभी अनुरोधों को अस्वीकार कर दिया जाता है.

सेंसर

डीएचयू, इन निर्देशों की मदद से वाहन के सेंसर डेटा में बदलावों को सिम्युलेट करता है. सेंसर डेटा की नकल करने और उसे Android Auto को भेजने के लिए, संबंधित सेंसर इसके साथ सक्षम होने चाहिए कॉन्फ़िगरेशन .ini ने DHU शुरू करते समय फ़ाइल का इस्तेमाल किया.

निर्देश ब्यौरा
fuel [percentage] ईंधन के लेवल को तय किए गए प्रतिशत पर सेट करें या (कोई वैल्यू पास किए बिना) ईंधन के लेवल की सुविधा बंद करें.
range [km] सीमा को निर्दिष्ट किलोमीटर पर सेट करें या (बिना कोई मान पास किए) श्रेणी डेटा को निष्क्रिय कर सकता है.
lowfuel [{on|off}] ईंधन के कम होने की चेतावनी देने वाला सेंसर सेट करें या (बिना कोई वैल्यू दिए) बंद करें सेंसर को हाइलाइट करें.
accel [x] [y] [z] एक्सलरोमीटर को x, y, और z की दी गई वैल्यू (m/s^2) पर सेट करें या (बिना कोई पैरामीटर दिए) एक्सलरोमीटर डेटा अनसेट करें. अगर ज़रूरी हो, तो वैकल्पिक पैरामीटर को छोड़ने के लिए NAN डालें.
compass bearing [pitch] [roll] कंपास को बियरिंग, पिच, और रोल की वैल्यू (डिग्री) पर सेट करें. अगर ज़रूरी हो, तो वैकल्पिक पैरामीटर को छोड़ने के लिए, NAN में पास करें.
gyro [x] [y] [z] जाइरोस्कोप को x, y, और z के बताए गए घूमने की स्पीड (रैड/s) पर सेट करें या (बिना कोई पैरामीटर दिए) से जाइरोस्कोप डेटा अनसेट करें. अगर ज़रूरी हो, तो वैकल्पिक पैरामीटर को छोड़ने के लिए NAN डालें.
location lat long [accuracy] [altitude] [speed] [bearing] जगह की जानकारी को तय किए गए अक्षांश और देशांतर की वैल्यू पर सेट करें. साथ ही, सटीक जानकारी (मीटर), ऊंचाई (मीटर), रफ़्तार (मीटर/सेकंड), और दिशा (डिग्री) की वैल्यू भी सेट करें. हालांकि, ये वैल्यू सेट करना ज़रूरी नहीं है. अगर ज़रूरी हो, तो वैकल्पिक पैरामीटर को छोड़ने के लिए, NAN में पास करें.
odometer km [current_trip_km] ओडोमीटर को तय किए गए किलोमीटर पर सेट करें. साथ ही, मौजूदा यात्रा के किलोमीटर की वैल्यू भी सेट करें. हालांकि, ऐसा करना ज़रूरी नहीं है.
speed [speed] वाहन की स्पीड को तय की गई वैल्यू (मीटर/सेकंड) पर सेट करें या (कोई वैल्यू डाले बिना) सेंसर को बंद करें.
tollcard {insert|remove} टोल कार्ड डालना या हटाना.
gps_satellite number_in_use [[azimuth] [elevation] [prn] [snr] [used_in_fix]] जीपीएस सैटलाइट सेंसर को तय की गई संख्या पर सेट करें. इसके लिए, ऐज़िमुथ की वैकल्पिक सूची (0 से 360 की रेंज में डिग्री), ऊंचाई (0 से 90 की रेंज में डिग्री), pRN (स्यूडोरैंडम नॉइज़), snr (dB), और सुधार करने में इस्तेमाल की जाने वाली वैल्यू (true या false) सेट करें.
parking_brake engaged पार्किंग ब्रेक सेंसर को true या false पर सेट करें.
gear gear_value गियर सेंसर को बताई गई वैल्यू पर सेट करें. उदाहरण के लिए, न्यूट्रल के लिए 0, ड्राइव के लिए 100, पार्क के लिए 101, और रिवर्स के लिए 102.

दिन और रात वाले मोड

डीएचयू, दिन और रात वाले मोड के बीच बदलावों को सिम्युलेट करने में मदद करता है. और की बाइंडिंग:

निर्देश सुरक्षा कुंजी ब्यौरा
day Shift+N डे मोड चालू करें—ज़्यादा चमक, फ़ुल कलर.
night Ctrl के साथ N नाइट मोड चालू करें—कम रोशनी, ज़्यादा कंट्रास्ट.
daynight
nightday
उत्तर दिन या रात मोड टॉगल करें.

फ़ोकस मैनेजमेंट

डीएचयू, इन निर्देशों का इस्तेमाल करके यह सिम्युलेट करता है कि Android Auto, हेड यूनिट पर फ़ोकस कर रहा है या नहीं:

निर्देश ब्यौरा
focus video {on|off|toggle} हेड यूनिट पर वीडियो फ़ोकस की सुविधा को चालू या बंद करें. वीडियो फ़ोकस बंद करने पर, हेड यूनिट नेटिव मोड में चलने लगती है.
focus audio {on|off|toggle} मुख्य यूनिट पर ऑडियो फ़ोकस को चालू या बंद करें. ऑडियो बंद किया जा रहा है फ़ोकस, मुख्य यूनिट को उसके खुद के ऑडियो सोर्स के साथ सिम्युलेट करता है.
focus nav {on|off|toggle} हेड यूनिट पर नेविगेशन फ़ोकस को चालू या बंद करें. बंद किया जा रहा है नेविगेशन फ़ोकस, अपना नेविगेशन सिस्टम चलाने वाली मुख्य यूनिट को सिम्युलेट करता है.

पाबंदियां और ड्राइविंग की स्थिति

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

निर्देश सुरक्षा कुंजी ब्यौरा
restrict none U सभी पाबंदियां हटाएं.
restrict all Shift+U सभी पाबंदियों को चालू करें, जैसे कि ड्राइविंग को सिम्युलेट करना.

इंस्ट्रुमेंट क्लस्टर

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

डीयूएच के इंस्ट्रुमेंट क्लस्टर की विंडो, जिसमें नेविगेशन और कॉल की स्थिति, दोनों की जानकारी दिख रही है

इस सुविधा को [general] में मौजूद instrumentcluster एंट्री का इस्तेमाल करके चालू किया जा सकता है सेक्शन में या navcluster या phonecluster के हिसाब से फ़िल्टर करें एंट्री का इस्तेमाल करें.

[general]
...
instrumentcluster = true

क्लस्टर डिसप्ले

कुछ वाहनों में क्लस्टर डिसप्ले होते हैं. इन डिसप्ले की मदद से बेहतर विज़ुअल दिखाए जा सकते हैं जानकारी, जैसे कि मैप की टाइल. डीएचयू के 2.1 वर्शन से शुरू हो रहा है (फ़िलहाल, Android स्टूडियो बीटा अपडेट चैनल का इस्तेमाल करके उपलब्ध कराया जा सकता है. ), तो आप अपनी डेवलपमेंट मशीन पर इस तरह के डिसप्ले को एम्युलेट कर सकते हैं.

ऐसा करने के लिए, क्लस्टर [display] सेक्शन वाली कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल करें. [display] सेक्शन में वही वीडियो कॉन्फ़िगरेशन के विकल्प काम करते हैं जो फ़ाइल के [general] सेक्शन में कॉन्फ़िगर किए गए मुख्य डिसप्ले में काम करते हैं.

तीसरी इमेज. सेकंडरी क्लस्टर डिसप्ले के साथ डीएचयू चलाते समय मुख्य स्क्रीन.
चौथी इमेज. DHU को चलाते समय क्लस्टर स्क्रीन दूसरा क्लस्टर डिसप्ले.
...

# The display name following the colon can be whatever you like.
[display:cluster]
# Setting the displaytype as cluster is what lets the DHU know how to handle it.
displaytype = cluster
resolution = 800x480
dpi = 160
...

इस कॉन्फ़िगरेशन को सीधे किसी मौजूदा .ini फ़ाइल में जोड़ा जा सकता है या फिर इसे अलग फ़ाइल में डालकर, डीएचयू लॉन्च करते समय कई कॉन्फ़िगरेशन फ़ाइलों को पास करके, इसका फिर से इस्तेमाल किया जा सकता है. एक से ज़्यादा कॉन्फ़िगरेशन फ़ाइलों का इस्तेमाल करने पर, किसी वैल्यू की बाद की परिभाषाएं, पहले की परिभाषाओं को बदल देती हैं.

# Launch your landscape configuration with your cluster display configuration
./desktop-head-unit -c landscape.ini -c cluster.ini

# Launch the portait configuration with the same cluster display configuration
./desktop-head-unit -c portrait.ini -c cluster.ini

मीडिया प्लेबैक का स्टेटस

DHU, मीडिया प्लेबैक का स्टेटस दिखाने के लिए, अतिरिक्त जानकारी दिखाने की सुविधा देता है. जैसे, कौनसा ट्रैक चल रहा है.

डीएचयू की मीडिया प्लेबैक स्टेटस विंडो, जिसमें प्लेबैक की जानकारी दिख रही है

इसे चालू करने के लिए, [general] सेक्शन में playbackstatus एंट्री का इस्तेमाल करें.

[general]
...
playbackstatus = true

कीकोड

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

keycode home

नीचे दी गई टेबल में अन्य उपलब्ध कीकोड दिए गए हैं:

कुंजी कोड ब्यौरा
home होम स्क्रीन पर जाएं.
back वापस जाएं.
call
endcall
कॉल करें या कॉल करें.
search खोज ट्रिगर करें.
media_play_pause
media_play
media_pause
मीडिया चलाएं या रोकें.
media_next
media_previous
अगले या पिछले मीडिया ट्रैक पर जाना.
media डिफ़ॉल्ट मीडिया ऐप्लिकेशन पर जाएं.
navigation डिफ़ॉल्ट नेविगेशन ऐप्लिकेशन पर जाएं.
tel डिफ़ॉल्ट टेलीफ़ोन ऐप्लिकेशन पर जाएं.

डीएचयू कॉन्फ़िगर करना

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

कॉन्फ़िगरेशन फ़ाइल के लिए डिफ़ॉल्ट जगह ~/.android/headunit.ini है. अपने सिस्टम पर हेड यूनिट का कॉन्फ़िगरेशन बदलने के लिए, इस फ़ाइल में बदलाव किया जा सकता है.

-c फ़्लैग का इस्तेमाल करके, लोड करने के लिए कॉन्फ़िगरेशन फ़ाइल भी तय की जा सकती है:

./desktop-head-unit -c /path/to/config.ini

नीचे दिया गया स्निपेट कॉन्फ़िगरेशन का एक नमूना दिखाता है:

[general]
touch = true
touchpad = false
controller = false
instrumentcluster = false
resolution = 800x480
dpi = 160
framerate = 30
fueltypes = unleaded,electric,hydrogen
evconnectors = supercharger

SDK_LOCATION/extras/google/auto/config/ फ़ोल्डर में, कॉन्फ़िगरेशन की सैंपल फ़ाइलें होती हैं. इनमें हेड यूनिट की अलग-अलग सेटिंग के बारे में बताया जाता है. इनका इस्तेमाल करके, इन सेटिंग की जांच की जा सकती है. इस्तेमाल के ज़्यादा बेहतर उदाहरणों के लिए, कृपया यहां दी गई सेटिंग देखें.

इनपुट कॉन्फ़िगरेशन

यहां दी गई टेबल में, इनपुट कॉन्फ़िगरेशन के विकल्पों की सूची दी गई है:

नाम डिफ़ॉल्ट टाइप ब्यौरा
inputmode default स्ट्रिंग इनपुट मोड तय करें. touch, rotary, और hybrid विकल्पों की मदद से, टचस्क्रीन और रोटरी की सुविधा को चालू और बंद किया जा सकता है. साथ ही, इनकी मदद से डिफ़ॉल्ट कीकोड भी सेट किए जा सकते हैं. default, touch और controller विकल्पों पर लागू होता है.
controller false बूलियन रोटरी कंट्रोलर इनपुट चालू करें. inputmode की वैल्यू default न होने पर अनदेखा किया जाता है.
touch true बूलियन टचस्क्रीन की सुविधा चालू करें. जब तक inputmode की वैल्यू default नहीं होती, तब तक इसे अनदेखा किया जाता है.
touchpad false बूलियन टचपैड चालू करें.
touchpadnavigation false बूलियन यूज़र इंटरफ़ेस (यूआई) नेविगेशन के लिए इस्तेमाल करने के लिए, टचपैड चालू करें.
touchpadtapasselect false बूलियन सही होने पर, टचपैड पर टैप करने से भी इवेंट चुना जा सकता है.
touchpaduiabsolute false बूलियन जब touchpadnavigation की वैल्यू true हो, तो सेट करें कि टच को पूरी तरह से या जेस्चर के तौर पर माना जाए.

वीडियो कॉन्फ़िगरेशन

Android Auto पर तीन रिज़ॉल्यूशन में वीडियो चलाए जा सकते हैं:

  • 480 पिक्सल (800x480, डिफ़ॉल्ट)
  • 720 पिक्सल (1280x720)
  • 1080 पिक्सल (1920x1080)

अन्य आसपेक्ट रेशियो के साथ काम करने के लिए, हेड यूनिट ज़रूरत के हिसाब से, लेटरबॉक्स (पिलरबॉक्स) के लिए मार्जिन तय कर सकती है. उदाहरण के लिए, अगर आपको 1000x600 स्क्रीन चाहिए, तो रिज़ॉल्यूशन को 720 पिक्सल (1280x720) पर सेट करें. साथ ही, marginwidth को 280 और marginheight को 120 पर सेट करें. इससे यह असर पड़ता है बाएं और दाएं किनारों पर 140 पिक्सल का मार्जिन और सबसे ऊपर 60 पिक्सल का मार्जिन जोड़ना और नीचे की ओर ले जाएं.

नीचे दिया गया कॉन्फ़िगरेशन का उदाहरण, सामान्य 6-इंच (750x450) की स्क्रीन की तरह है:

[general]
...
resolution = 800x480
marginwidth = 50
marginheight = 30

कॉन्फ़िगरेशन के नीचे दिए गए उदाहरण में, एक बहुत चौड़ी स्क्रीन को एम्युलेट किया गया है:

[general]
...
resolution = 1280x720
marginwidth = 0
marginheight = 220

यहां दी गई टेबल में, वीडियो कॉन्फ़िगरेशन के अन्य विकल्पों की सूची दी गई है:

नाम डिफ़ॉल्ट टाइप ब्यौरा
resolution 800x480 स्ट्रिंग इनमें से कोई एक: 800x480, 1280x720, 1920x1080.
dpi 160 पूर्णांक
normalizedpi false बूलियन true होने पर, DHU विंडो का साइज़ छोटा करें, ताकि वह बड़ा हो सके डीपीआई वैल्यू. false के तौर पर इस्तेमाल करने पर, बड़ी डीपीआई वैल्यू से बड़ी विंडो बनती हैं. ये असल डिसप्ले की नकल नहीं करतीं, लेकिन विज़ुअल कॉन्टेंट की जांच करने में मदद करती हैं.
realdpi 160 पूर्णांक इसका इस्तेमाल वीडियो कॉन्फ़िगरेशन में किया जाता है.
framerate 30 पूर्णांक इसका इस्तेमाल वीडियो कॉन्फ़िगरेशन में किया जाता है.
marginheight 0 पूर्णांक इसका इस्तेमाल वीडियो कॉन्फ़िगरेशन में किया जाता है.
marginwidth 0 पूर्णांक इसका इस्तेमाल वीडियो कॉन्फ़िगरेशन में किया जाता है.
margins 0,0,0,0 स्ट्रिंग इसका इस्तेमाल वीडियो कॉन्फ़िगरेशन में किया जाता है. मौजूद होने पर, marginwidth और marginheight की जगह यह सेटिंग लागू होगी. फ़ॉर्मैट, ऊपर, नीचे, बाईं ओर, दाईं ओर है.
contentinsets 0,0,0,0 स्ट्रिंग इसका इस्तेमाल वीडियो कॉन्फ़िगरेशन में किया जाता है. फ़ॉर्मैट ऊपर, नीचे, बाएं, दाएं है.
stablecontentinsets 0,0,0,0 स्ट्रिंग इसका इस्तेमाल वीडियो कॉन्फ़िगरेशन में किया जाता है. डिफ़ॉल्ट रूप से इसकी वैल्यू contentinsets. फ़ॉर्मैट ऊपर, नीचे, बाएं, दाएं है.
cropmargins false बूलियन अगर margins, marginheight या marginwidth तय किया गया है, तो इस सेटिंग के लिए true वैल्यू से, दिखाए गए वीडियो से उन मार्जिन को हटा दिया जाता है. इससे ज़्यादा जानकारी मिलती है उस जानकारी को बारीकी से देखें जो असली उपयोगकर्ता को दिखती है.
pixelaspectratio 1.0 फ़्लोट इसका इस्तेमाल वीडियो कॉन्फ़िगरेशन में किया जाता है.

सेंसर कॉन्फ़िगरेशन

सेंसर डेटा को मॉक करने और उसे Android Auto पर भेजने के लिए, इन विकल्पों का इस्तेमाल करके सेंसर चालू करने होंगे. अगर सेंसर चालू नहीं है, तो इनमें से कोई भी DHU निर्देशों का इस्तेमाल करके उस सेंसर के लिए भेजे गए डेटा को अनदेखा कर दिया जाता है. इस कॉन्फ़िगरेशन को [sensors] सेक्शन में डाला जाना चाहिए, न कि [general] सेक्शन में. ज़्यादातर अन्य कॉन्फ़िगरेशन के लिए [general] सेक्शन का इस्तेमाल किया जाता है.

[general]
touch = true
...

[sensors]
location = true
fuel = true
...
नाम डिफ़ॉल्ट टाइप ब्यौरा
accelerometer false बूलियन एक्सलरोमीटर सेंसर डेटा चालू करें.
compass false बूलियन कंपास सेंसर का डेटा चालू करें.
driving_status false बूलियन ड्राइविंग स्थिति सेंसर डेटा चालू करें.
fuel false बूलियन फ़्यूल सेंसर का डेटा चालू करें.
gyroscope false बूलियन जायरोस्कोप सेंसर का डेटा चालू करें.
location false बूलियन वाहन की जगह की जानकारी देने वाले सेंसर का डेटा चालू करें.
night_mode false बूलियन नाइट मोड का सेंसर डेटा चालू करें.
odometer false बूलियन ओडोमीटर सेंसर डेटा चालू करें.
speed false बूलियन गति सेंसर डेटा सक्षम करें.
toll_card false बूलियन टोल कार्ड सेंसर का डेटा चालू करें.
gps_satellite false बूलियन जीपीएस सैटलाइट सेंसर डेटा चालू करें.
parking_brake false बूलियन पार्किंग ब्रेक सेंसर का डेटा चालू करें.
gear false बूलियन गियर सेंसर डेटा चालू करें.

कॉन्फ़िगरेशन के अन्य विकल्प

यहां दी गई टेबल में, कॉन्फ़िगरेशन के अन्य विकल्पों की सूची दी गई है:

नाम डिफ़ॉल्ट टाइप ब्यौरा
instrumentcluster false बूलियन इंस्ट्रुमेंट क्लस्टर चालू करें. नेविगेशन और फ़ोन की स्थिति दिखाने के लिए, यूज़र इंटरफ़ेस (यूआई) में एक विंडो जोड़ता है.
navcluster false बूलियन इंस्ट्रुमेंट क्लस्टर चालू करें. नेविगेशन प्रदर्शित करने के लिए यूज़र इंटरफ़ेस (यूआई) में एक विंडो जोड़ता है स्थिति.
phonecluster false बूलियन इंस्ट्रूमेंट क्लस्टर की सुविधा चालू करें. फ़ोन दिखाने के लिए यूज़र इंटरफ़ेस (यूआई) में एक विंडो जोड़ता है स्थिति.
playbackstatus false बूलियन प्लेबैक की स्थिति की जानकारी देने की सुविधा चालू करें. प्लेबैक दिखाने के लिए यूज़र इंटरफ़ेस (यूआई) में एक विंडो जोड़ता है स्थिति संदेश.
driverposition left स्ट्रिंग इनमें से एक: left, center या right.
windowleft पूर्णांक मुख्य विंडो की बाईं ओर की पोज़िशन सेट करें.
windowtop पूर्णांक मुख्य विंडो की ऊपरी पोज़िशन सेट करें.
fueltypes unleaded स्ट्रिंग कॉमा लगाकर अलग की गई सूची में, इनमें से एक या उससे ज़्यादा:
  • unleaded
  • leaded
  • diesel-1
  • diesel-2
  • biodiesel
  • e85
  • lpg
  • cng
  • lng
  • hydrogen
  • electric
  • other
  • unknown
evconnectors स्ट्रिंग कॉमा लगाकर अलग की गई सूची में, इनमें से कोई शून्य या एक से ज़्यादा कोड:
  • j1772
  • mennekes
  • chademo
  • combo-1
  • combo-2
  • roadster
  • hpwc
  • gbt
  • supercharger
  • other
  • unknown
सिर्फ़ तब सेट करें, जब fueltypes में electric हो.

समस्या हल करें

कभी-कभी पहली बार कनेक्ट करने पर, डीयूए खाली स्क्रीन दिखाता है. इससे बचने के लिए, ये काम किए जा सकते हैं:

  1. डीएचयू बंद करें.
  2. डीएचयू को बंद करने और रीस्टार्ट करने के लिए, डीएचयू चलाएं में बताए गए पांचवें चरण का पालन करें हेड यूनिट सर्वर पर.
  3. डीएचयू को फिर से चालू करें.
  4. अगर फ़ोन की स्क्रीन पर अनुरोध किया गया है, तो अतिरिक्त अनुमतियां दें. डीएचयू एक बार फिर बंद हो सकता है.
  5. अगर ज़रूरत हो, तो डीएचयू को रीस्टार्ट करें.