ডেস্কটপ হেড ইউনিট ব্যবহার করে পরীক্ষা করুন

ডেস্কটপ হেড ইউনিট (DHU) আপনার ডেভেলপমেন্ট মেশিনকে একটি Android Auto হেড ইউনিট অনুকরণ করতে দেয় যাতে আপনি Android Auto অ্যাপগুলি চালাতে এবং পরীক্ষা করতে পারেন। DHU উইন্ডোজ, ম্যাকওএস এবং লিনাক্স সিস্টেমে চলে।

DHU ইনস্টল করার পরে, আপনি Run the DHU- তে বর্ণিত সমর্থিত সংযোগ ব্যবস্থাগুলির একটি ব্যবহার করে আপনার মোবাইল ডিভাইসটিকে এর সাথে সংযুক্ত করে আপনার Android Auto অ্যাপগুলি পরীক্ষা করতে পারেন।

DHU সম্পর্কিত বাগ রিপোর্ট করতে বা বৈশিষ্ট্যগুলির অনুরোধ করতে, ইস্যু ট্র্যাকার ব্যবহার করুন।

DHU ইনস্টল করুন

আপনার ডেভেলপমেন্ট মেশিনে DHU ইনস্টল করতে:

  1. "ডিভাইসের ডেভেলপার বিকল্পগুলি কনফিগার করুন" বিভাগে বর্ণিত Android 9 (API লেভেল 28) বা তার বেশি চলমান মোবাইল ডিভাইসে ডেভেলপার মোড সক্ষম করুন।
  2. ডিভাইসে আপনার অ্যাপটি কম্পাইল এবং ইনস্টল করুন।
  3. ডিভাইসে Android Auto ইনস্টল করুন। যদি Android Auto ইতিমধ্যেই ইনস্টল করা থাকে, তাহলে নিশ্চিত করুন যে আপনি সর্বশেষ সংস্করণ ব্যবহার করছেন।
  4. অ্যান্ড্রয়েড স্টুডিওতে, SDK ম্যানেজার খুলুন এবং SDK টুলস ট্যাবে যান, তারপর অ্যান্ড্রয়েড অটো ডেস্কটপ হেড ইউনিট এমুলেটর প্যাকেজটি ডাউনলোড করুন।

    SDK ম্যানেজার DHU 2.0 দেখাচ্ছে
    SDK ম্যানেজার DHU 2.0 দেখাচ্ছে।

    DHU SDK_LOCATION /extras/google/auto/ ডিরেক্টরিতে ইনস্টল করা আছে।

  5. লিনাক্স বা ম্যাকওএস সিস্টেমে, DHU বাইনারি এক্সিকিউটেবল করতে সেই ডিরেক্টরিতে নিম্নলিখিত কমান্ডটি চালান:

chmod +x ./desktop-head-unit

লিনাক্সের জন্য অতিরিক্ত পদক্ষেপ

যদি আপনি লিনাক্স সিস্টেমে DHU সংস্করণ 2.x ব্যবহার করেন, তাহলে আপনাকে কিছু অতিরিক্ত লাইব্রেরি ইনস্টল করতে হবে। DHU বাইনারি GLIBC সংস্করণ 2.32 বা তার পরবর্তী সংস্করণের উপর নির্ভর করে। আপনি এই কমান্ডটি চালিয়ে আপনার সিস্টেমের GLIBC সংস্করণটি পরীক্ষা করতে পারেন:

ldd --version

যদি ভার্সনটি ২.৩২ এর কম হয়, তাহলে GLIBC কে ২.৩২ বা তার পরবর্তী ভার্সনে আপডেট করুন, যার জন্য আপনাকে OS কে GLIBC ২.৩২ বা তার পরবর্তী ভার্সনের সাথে সামঞ্জস্যপূর্ণ ভার্সনে আপগ্রেড করতে হতে পারে।

আপনাকে libc++1 এবং libc++abi1 লাইব্রেরিগুলিও ইনস্টল করতে হবে। আপনার লিনাক্স ডিস্ট্রিবিউশনের উপর নির্ভর করে ইনস্টলেশন পদ্ধতি পরিবর্তিত হয়। উদাহরণস্বরূপ, ডেবিয়ান-প্রাপ্ত লিনাক্স ডিস্ট্রিবিউশনগুলিতে, আপনি এই কমান্ডটি ব্যবহার করে লাইব্রেরিগুলি ইনস্টল করতে পারেন:

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

DHU-এর প্রাক-প্রকাশ সংস্করণ ইনস্টল করুন

DHU-এর প্রি-রিলিজ ভার্সনগুলিতে অ্যাক্সেস পেতে, আপনি হয় Android Studio-এর একটি প্রিভিউ ভার্সন ব্যবহার করতে পারেন অথবা আপনার বিদ্যমান Android Studio ইনস্টলেশনের আপডেট চ্যানেলটি বিটা চ্যানেলে পরিবর্তন করতে পারেন

ডিএইচইউ চালান

DHU ইনস্টল করার পরে, আপনি USB এর মাধ্যমে আপনার মোবাইল ডিভাইস এবং ওয়ার্কস্টেশন সংযুক্ত করে আপনার Android Auto অ্যাপগুলি পরীক্ষা করতে পারেন। Accessory Mode (DHU 2.x এর জন্য প্রস্তাবিত) অথবা ADB Tunneling ব্যবহার করে আপনার মোবাইল ডিভাইসটিকে একটি ডেভেলপমেন্ট মেশিনের সাথে সংযুক্ত করে DHU চালান।

আনুষঙ্গিক মোড ব্যবহার করে সংযোগ করুন

অ্যান্ড্রয়েড অটো নিম্নলিখিত কমান্ড ব্যবহার করে অ্যান্ড্রয়েড ওপেন অ্যাকসেসরি (AOA) প্রোটোকলের মাধ্যমে DHU সংস্করণ 2.x এর সাথে সংযোগ স্থাপন সমর্থন করে:

./desktop-head-unit --usb

ডিফল্টরূপে, DHU উপলব্ধ USB ডিভাইসের তালিকা স্ক্যান করে এবং প্রথম সামঞ্জস্যপূর্ণ ডিভাইসের সাথে সংযোগ স্থাপনের চেষ্টা করে। একটি নির্দিষ্ট ডিভাইসকে লক্ষ্য করতে, --usb কমান্ডের অংশ হিসাবে ডিভাইস আইডি অন্তর্ভুক্ত করুন, নিম্নরূপ:

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

ADB টানেলিং ব্যবহার করে সংযোগ করুন

এই পদ্ধতিতে Android Debug Bridge ( adb ) এর মাধ্যমে Android Auto হেড ইউনিট সার্ভারের সাথে একটি সংযোগ স্থাপন করতে হবে। টানেলিং সেট আপ করতে এবং DHU চালানোর জন্য এই পদক্ষেপগুলি অনুসরণ করুন:

  1. যদি ইতিমধ্যেই Android Auto ডেভেলপার মোড না থাকে, তাহলে তা সক্ষম করুন
  2. যদি হেড ইউনিট সার্ভারটি ইতিমধ্যেই চালু না থাকে, তাহলে ওভারফ্লো মেনু খুলুন এবং চিত্র ১-এ দেখানো হিসাবে স্টার্ট হেড ইউনিট সার্ভার নির্বাচন করুন।

    ডিভাইসটিতে, বিজ্ঞপ্তি এলাকায় একটি ফোরগ্রাউন্ড পরিষেবা প্রদর্শিত হয় যা নির্দেশ করে যে সার্ভারটি চলছে, যেমনটি চিত্র 2-এ দেখানো হয়েছে।

    ডেভেলপার বিকল্প সহ প্রসঙ্গ মেনু

    চিত্র ১. ডেভেলপার অপশন সহ প্রসঙ্গ মেনু।

    হেড ইউনিট সার্ভার চালু থাকার বিজ্ঞপ্তি

    চিত্র ২। হেড ইউনিট সার্ভার চালু থাকার বিজ্ঞপ্তি।

  3. Android Auto অ্যাপে, সেটিংসের উপরের দিকে পূর্ববর্তী সংযুক্ত গাড়িগুলিতে আলতো চাপুন এবং Android Auto-তে নতুন গাড়ি যোগ করুন সক্ষম আছে কিনা তা যাচাই করুন।

  4. USB ব্যবহার করে মোবাইল ডিভাইসটিকে ডেভেলপমেন্ট মেশিনের সাথে সংযুক্ত করুন।

  5. নিশ্চিত করুন যে মোবাইল ডিভাইসের স্ক্রিনটি আনলক করা আছে যাতে এটি DHU চালু করতে পারে।

  6. ডেভেলপমেন্ট মেশিনে, ডেভেলপমেন্ট মেশিনের পোর্ট 5277 থেকে মোবাইল ডিভাইসের একই পোর্ট নম্বরে সকেট সংযোগ ফরোয়ার্ড করতে নিম্নলিখিত adb কমান্ডটি চালান। এই কনফিগারেশনটি DHU কে একটি TCP সকেটের মাধ্যমে মোবাইল ডিভাইসে চলমান হেড ইউনিট সার্ভারের সাথে সংযুক্ত করতে দেয়।

    adb forward tcp:5277 tcp:5277
  7. SDK_LOCATION /extras/google/auto/ ডিরেক্টরি থেকে Windows-এ desktop-head-unit.exe কমান্ড অথবা macOS বা Linux-এ ./desktop-head-unit কমান্ডটি চালিয়ে DHU শুরু করুন:

    cd SDK_LOCATION/extras/google/auto
    desktop-head-unit.exe # Windows
    ./desktop-head-unit # macOS or Linux
একটি ডেভেলপমেন্ট মেশিনে চলছে DHU
একটি ডেভেলপমেন্ট মেশিনে চলছে DHU।
  1. যদি আপনি প্রথমবারের মতো মোবাইল ডিভাইসটিকে DHU-এর সাথে সংযুক্ত করছেন, তাহলে পরিষেবার শর্তাবলী গ্রহণ করতে মোবাইল ডিভাইসের স্ক্রিনটি পরীক্ষা করুন এবং প্রয়োজন অনুসারে অনুমতি সেটিংস সামঞ্জস্য করুন।

DHU শুরু হওয়ার পরে, আপনি আপনার অ্যাপটি চালানো এবং পরীক্ষা করার জন্য DHU কনসোল কমান্ড ব্যবহার করতে পারেন।

কমান্ড-লাইন বিকল্পগুলি

ডিফল্টরূপে, হেড ইউনিট সার্ভার পোর্ট 5277 এর মাধ্যমে সংযোগ করে। হোস্ট বা পোর্ট ওভাররাইড করতে, --adb=<[localhost:]port> ফ্ল্যাগ ব্যবহার করুন, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে:

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

ডিফল্টরূপে, DHU একটি টাচস্ক্রিন ইউজার ইন্টারফেস সহ একটি অ্যান্ড্রয়েড অটো-সামঞ্জস্যপূর্ণ হেড ইউনিট অনুকরণ করে। মাউস দিয়ে DHU-তে ক্লিক করে ব্যবহারকারীর স্পর্শ অনুকরণ করুন। ইনপুটের জন্য রোটারি কন্ট্রোলার ব্যবহার করে এমন হেড ইউনিট অনুকরণ করতে, আপনি -i rotary ফ্ল্যাগ ব্যবহার করতে পারেন, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে:

./desktop-head-unit -i controller

যখন DHU রোটারি-কন্ট্রোলার মোডে থাকে, তখন আপনি কন্ট্রোলার অপারেশন সিমুলেট করার জন্য কীবোর্ড শর্টকাট ব্যবহার করতে পারেন। আরও বিস্তারিত জানার জন্য রোটারি কন্ট্রোলার বিভাগটি দেখুন। রোটারি কন্ট্রোলার মোডে, DHU মাউস ক্লিক উপেক্ষা করে। আপনাকে সিমুলেট করা রোটারি-কন্ট্রোলার অপারেশন দিয়ে Android Auto পরিচালনা করতে হবে।

DHU-এর জন্য অন্যান্য কমান্ড-লাইন বিকল্পগুলি নিম্নলিখিত সারণীতে তালিকাভুক্ত করা হয়েছে:

বিকল্প বিবরণ
-c , --config= FILE নির্দিষ্ট কনফিগারেশন .ini ফাইলটি ব্যবহার করুন। আরও বিস্তারিত জানার জন্য DHU কনফিগার করুন বিভাগটি দেখুন।
-i , --input= INPUT নির্দিষ্ট ইনপুট মোড ব্যবহার করুন, এর মধ্যে একটি: touch , rotary , অথবা hybrid
-a , --adb= HOSTPORT ADB ট্রান্সপোর্ট ব্যবহার করুন। ঐচ্ছিক host : port অথবা port । ডিফল্ট পোর্ট 5277।
-a , --usb= DEVICE_ID USB AOA ট্রান্সপোর্ট ব্যবহার করুন। ঐচ্ছিক DEVICE_ID
-v , --version সংস্করণ তথ্য দেখান।
-l , --licenses ওপেন সোর্স লাইসেন্সগুলি দেখান।
-h , --headless কোনও UI ছাড়াই হেডলেস মোডে চালান।
-t , --always_show_window_on_top অন্যান্য উইন্ডোর উপরে DHU উইন্ডো দেখান (ডিফল্টরূপে বন্ধ)
-? , --help সাহায্য তালিকা দেখান।

DHU ব্যবহারকারী নির্দেশিকা

এই বিভাগে DHU দ্বারা সমর্থিত বৈশিষ্ট্যগুলি এবং সেগুলি কীভাবে ব্যবহার করবেন তা বর্ণনা করা হয়েছে।

আপনি যে টার্মিনাল উইন্ডো থেকে DHU শুরু করেছিলেন, সেখানে কমান্ডগুলি প্রবেশ করানো হয়। একই লাইনে একাধিক কমান্ড ; দিয়ে আলাদা করে চালানো যেতে পারে।

সিস্টেম

কমান্ড চাবি বিবরণ
help [ command ] সম্পূর্ণ কমান্ড সেট দেখান। যদি একটি কমান্ডের নাম নির্দিষ্ট করা থাকে, তাহলে সেই কমান্ডের জন্য সাহায্য দেখান।
quit
exit
Alt+Q কীবোর্ড হেড ইউনিট বন্ধ করো।
sleep [ seconds ] এক সেকেন্ডের জন্য স্লিপ মোড। যদি বিলম্ব নির্দিষ্ট করা থাকে, তাহলে সেই কয়েক seconds জন্য স্লিপ মোড ব্যবহার করুন। এটি ./desktop-head-unit < script.txt দিয়ে হেড ইউনিট স্ক্রিপ্ট করার জন্য ব্যবহার করা যেতে পারে, উদাহরণস্বরূপ, একটি CI পরিবেশে।
screenshot filename.png filename.png .
licenses ডিএইচইউতে ব্যবহৃত লাইব্রেরির লাইসেন্স প্রদর্শন করুন।
keycode keycode কীকোড বিভাগে তালিকাভুক্ত নামগুলির মধ্যে একটি, keycode পাঠান।

টাচ এবং টাচপ্যাড

যখন টাচ বা টাচপ্যাড সক্রিয় থাকে, তখন ডিসপ্লে উইন্ডোতে, স্পর্শের জন্য, অথবা টাচপ্যাড উইন্ডোতে, টাচপ্যাডের জন্য ক্লিক করলে, একটি টাচ ইভেন্ট হিসেবে নিবন্ধিত হয়।

স্পর্শের জন্য, প্রথম আঙুলের অবস্থানে ডান-ক্লিক করে মাল্টি-টাচ সিমুলেট করুন, তারপর দ্বিতীয় আঙুলের জন্য ডান বোতামটি ক্লিক করে ধরে রাখুন। দুটি আঙুলের কেন্দ্রবিন্দু স্থির থাকে; মাউস নাড়াচাড়া করলে আপনি এগুলিকে কেন্দ্রের চারপাশে ঘোরাতে, পিঞ্চ ইন এবং আউট করতে, অথবা উভয়ই করতে পারবেন।

টাচপ্যাডের জন্য, স্ক্রিনের বিভিন্ন UI উপাদানের মধ্যে স্ক্রোল করতে বাম বোতামটি ক্লিক করে ধরে রাখুন। ডান বোতামে ক্লিক করলে ফোকাসযুক্ত উপাদানটি নির্বাচন করা হবে।

কমান্ড চাবি বিবরণ
tap xy নির্দিষ্ট স্থানাঙ্কে একটি স্পর্শ ইভেন্ট অনুকরণ করুন।

ঘূর্ণমান নিয়ামক

DHU-তে রোটারি কন্ট্রোলার সাপোর্ট আছে। এটি সক্রিয় থাকলে, নিম্নলিখিত ক্রিয়াগুলি সমর্থিত হয়:

  • ডি-প্যাডে উপরে, নীচে, বাম এবং ডানে ক্লিক করা
  • ঘড়ির কাঁটার দিকে এবং ঘড়ির কাঁটার বিপরীত দিকে ঘোরানো
  • ঘূর্ণন ঝাঁকুনি সম্পাদন করা (একসাথে পাঁচটি ধাপ)
  • কন্ট্রোলারে নিচে এবং পিছনে ক্লিক করা

কমান্ড এবং কী বাইন্ডিংগুলি নিম্নলিখিত টেবিলে তালিকাভুক্ত করা হয়েছে।

মাউসের স্ক্রোল হুইল dpad rotate কমান্ড পাঠায় এবং মাউসের মাঝের বোতাম ক্লিক, সাধারণত স্ক্রোল হুইল, dpad click কমান্ড পাঠায়।

মনে রাখবেন যে বেশিরভাগ গাড়িতেই টাচ স্ক্রিন থাকে। কিছু গাড়িতে কেবল রোটারি কন্ট্রোলার থাকে এবং কিছু গাড়িতে হাইব্রিড টাচ এবং কন্ট্রোলার থাকে। গাড়িতে টাচপ্যাডও থাকতে পারে, যা ম্যাপ প্যানিং এবং টেক্সট এন্ট্রির জন্য ব্যবহার করা যেতে পারে। বিভিন্ন গাড়ির হেড ইউনিট সিমুলেট করার সময় এই বিভিন্ন কনফিগারেশনের কথা মনে রাখবেন।

কমান্ড চাবি বিবরণ
dpad {up|down|left|right} তীরচিহ্ন ঘূর্ণমান নিয়ামকটি সরান।
dpad {ur|dl|ul|dr} ঘূর্ণমান নিয়ামকটি সরান।
dpad soft {left|right} Shift+Arrow কী কিছু ঘূর্ণমান কন্ট্রোলারে উপলব্ধ সাইড বোতামগুলি টিপুন।
dpad click প্রত্যাবর্তন ঘূর্ণমান নিয়ামক টিপুন।
dpad back ব্যাকস্পেস কিছু রোটারি কন্ট্রোলারে প্রেস ব্যাক বোতাম পাওয়া যায়।
dpad rotate left ঘূর্ণমান কন্ট্রোলারকে ঘড়ির কাঁটার বিপরীত দিকে (বামে) ঘোরান।
dpad rotate right ঘূর্ণন নিয়ন্ত্রণকারীকে ঘড়ির কাঁটার দিকে (ডানদিকে) ঘোরান।
dpad flick left শিফট+১ ঘূর্ণমান কন্ট্রোলারকে ঘড়ির কাঁটার বিপরীত দিকে দ্রুত ঘোরান।
dpad flick right শিফট+২ ঘূর্ণমান কন্ট্রোলার ঘড়ির কাঁটার দিকে দ্রুত ঘোরান।
dpad 0-9*#+ সংখ্যা প্যাড

মাইক্রোফোন

DHU ভয়েস ইনপুট বা আগে থেকে রেকর্ড করা ভয়েস ট্র্যাক চালানোর জন্য মাইক্রোফোন ব্যবহার সমর্থন করে। সুবিধার জন্য, সাধারণ ভয়েস কমান্ডের জন্য নিম্নলিখিত সাউন্ড ফাইলগুলি DHU-তে অন্তর্ভুক্ত করা হয়েছে। এই সাউন্ড ফাইলগুলি SDK_LOCATION /extras/google/auto/voice/ ডিরেক্টরিতে অবস্থিত।

ফাইলের নাম টেক্সট
navhome.wav হোমে নেভিগেট করুন।
navwork.wav কর্মস্থলে যান।
navsoh.wav সিডনি অপেরা হাউসে যান।
navgoogle.wav ১৬০০ অ্যাম্ফিথিয়েটার পার্কওয়ে, ক্যালিফোর্নিয়া, মার্কিন যুক্তরাষ্ট্রে যান।
exitnav.wav নেভিগেশন থেকে বেরিয়ে আসুন।
howlong.wav আমি সেখানে পৌঁছাতে কতক্ষণ বাকি?
showtraffic.wav ট্র্যাফিক দেখান।
showalternateroute.wav বিকল্প রুট দেখান।
pause.wav সঙ্গীত বিরতি দিন।
nextturn.wav আমার পরবর্তী পালা কখন?

DHU প্রম্পটে একটি পৃথক .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} মাইক্রোফোন অনুরোধ প্রত্যাখ্যান সক্রিয় বা নিষ্ক্রিয় করুন। চালু থাকলে, সমস্ত মাইক্রোফোন অনুরোধ প্রত্যাখ্যান করা হয়।

সেন্সর

DHU নিম্নলিখিত কমান্ডগুলির সাহায্যে গাড়ির সেন্সর ডেটাতে পরিবর্তনগুলি অনুকরণ করতে সহায়তা করে। সেন্সর ডেটা নকল করে Android Auto-তে পাঠাতে, DHU শুরু করার সময় সংশ্লিষ্ট সেন্সরগুলিকে কনফিগারেশন .ini ব্যবহৃত ফাইলের সাথে সক্ষম করতে হবে।

কমান্ড বিবরণ
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 ঘূর্ণন গতিতে (rad/s) সেট করুন অথবা (কোনও প্যারামিটার পাস না করে) জাইরোস্কোপ ডেটা আনসেট করুন। প্রয়োজনে ঐচ্ছিক প্যারামিটার এড়িয়ে যেতে NAN পাস করুন।
location lat long [ accuracy ] [ altitude ] [ speed ] [ bearing ] ঐচ্ছিক নির্ভুলতা (মি), উচ্চতা (মি), গতি (মি/সেকেন্ড) এবং বিয়ারিং (ডিগ্রি) সহ নির্দিষ্ট অক্ষ এবং দীর্ঘ মানগুলিতে অবস্থান সেট করুন। প্রয়োজনে ঐচ্ছিক পরামিতিগুলি এড়িয়ে যেতে NAN পাস করুন।
odometer km [ current_trip_km ] ওডোমিটারটি নির্দিষ্ট কিলোমিটারে সেট করুন এবং ঐচ্ছিক বর্তমান ট্রিপ কিমি মান নির্ধারণ করুন।
speed [ speed ] গাড়ির গতি নির্দিষ্ট মান (m/s) তে সেট করুন অথবা (কোনও মান পাস না করে) সেন্সরটি নিষ্ক্রিয় করুন।
tollcard {insert|remove} একটি টোল কার্ড ঢোকান বা সরান।
gps_satellite number_in_use [[ azimuth ] [ elevation ] [ prn ] [ snr ] [ used_in_fix ]] জিপিএস স্যাটেলাইট সেন্সরটিকে নির্দিষ্ট সংখ্যায় ব্যবহারের মান অনুসারে সেট করুন, সাথে আজিমুথ (০ থেকে ৩৬০ রেঞ্জের মধ্যে ডিগ্রী), উচ্চতা (০ থেকে ৯০ রেঞ্জের মধ্যে ডিগ্রী), পিআরএন (ছদ্ম-র্যান্ডম নয়েজ), এসএনআর (ডিবি) এবং ফিক্সে ব্যবহৃত ( true বা false ) ঐচ্ছিক তালিকাও অন্তর্ভুক্ত করুন।
parking_brake engaged পার্কিং ব্রেক সেন্সরটিকে true অথবা false সেট করুন।
gear gear_value গিয়ার সেন্সরটি নির্দিষ্ট মানটিতে সেট করুন (উদাহরণস্বরূপ, নিউট্রালের জন্য 0 , ড্রাইভের জন্য 100 , পার্কের জন্য 101 এবং বিপরীতের জন্য 102 )।

দিন এবং রাতের মোড

DHU নিম্নলিখিত কমান্ড এবং কী বাইন্ডিং ব্যবহার করে দিন এবং রাতের মোডের মধ্যে পরিবর্তনের অনুকরণ সমর্থন করে:

কমান্ড চাবি বিবরণ
day শিফট+এন ডে মোড সক্রিয় করুন—উচ্চ উজ্জ্বলতা, পূর্ণ রঙ।
night Ctrl+N কীবোর্ড নাইট মোড সক্রিয় করুন—কম উজ্জ্বলতা, উচ্চ বৈসাদৃশ্য।
daynight
nightday
দিন বা রাতের মোড টগল করুন।

ফোকাস ব্যবস্থাপনা

DHU নিম্নলিখিত কমান্ড ব্যবহার করে হেড ইউনিটে অ্যান্ড্রয়েড অটো ফোকাস আছে কিনা তা সিমুলেশন করতে সহায়তা করে:

কমান্ড বিবরণ
focus video {on|off|toggle} হেড ইউনিটে ভিডিও ফোকাস সক্রিয় বা নিষ্ক্রিয় করুন। ভিডিও ফোকাস বন্ধ করলে হেড ইউনিটটি অ্যান্ড্রয়েড অটো লুকিয়ে রাখার কাজটি অনুকরণ করে।
focus audio {on|off|toggle} হেড ইউনিটে অডিও ফোকাস সক্রিয় বা নিষ্ক্রিয় করুন। অডিও ফোকাস বন্ধ করলে হেড ইউনিট তার নিজস্ব অডিও উৎস বাজানোর অনুকরণ করে।
focus nav {on|off|toggle} হেড ইউনিটে নেভিগেশন ফোকাস সক্রিয় বা নিষ্ক্রিয় করুন। নেভিগেশন ফোকাস বন্ধ করলে হেড ইউনিট তার নিজস্ব নেভিগেশন সিস্টেম চালাতে অনুকরণ করে।

বিধিনিষেধ এবং ড্রাইভিং অবস্থা

DHU গাড়ি চলার সময় কিছু বিধিনিষেধ অনুকরণ করতে সহায়তা করে, যেমন কীবোর্ড নিষ্ক্রিয় করা এবং ফোন কনফিগারেশন নিষিদ্ধ করা, নিম্নলিখিত কমান্ডগুলি ব্যবহার করে:

কমান্ড চাবি বিবরণ
restrict none সমস্ত সীমাবদ্ধতা অক্ষম করুন।
restrict all শিফট+ইউ ড্রাইভিং অনুকরণের মতো সমস্ত বিধিনিষেধ সক্ষম করুন।

যন্ত্র ক্লাস্টার

DHU একটি ইন্সট্রুমেন্ট ক্লাস্টার অনুকরণ করতে সহায়তা করে। এই ক্লাস্টারটি সাধারণত স্টিয়ারিং হুইলের পিছনে থাকে এবং এটি নেভিগেশনের সময় পরবর্তী বাঁক সম্পর্কে মৌলিক তথ্য দেখায় - যেমন পরবর্তী রাস্তার নাম বা বাঁকের তীর - দূরত্ব, বা সময়। এটি চলমান ফোন কল সম্পর্কেও তথ্য প্রদর্শন করে।

DHU-এর ইন্সট্রুমেন্ট ক্লাস্টার উইন্ডোতে নেভিগেশন এবং কল স্টেট উভয় তথ্যই দেখানো হয়েছে।
DHU-এর ইন্সট্রুমেন্ট ক্লাস্টার উইন্ডোতে নেভিগেশন এবং কল স্টেট উভয় তথ্যই দেখানো হয়েছে।

এটি কনফিগারেশন ফাইলের [general] বিভাগে instrumentcluster এন্ট্রি ব্যবহার করে অথবা navcluster বা phonecluster এন্ট্রি ব্যবহার করে প্রতিটি বৈশিষ্ট্য আলাদাভাবে নিয়ন্ত্রণ করতে সক্ষম করা যেতে পারে।

[general]
...
instrumentcluster = true

ক্লাস্টার ডিসপ্লে

কিছু যানবাহনে ক্লাস্টার ডিসপ্লে থাকে যা ম্যাপ টাইলসের মতো সমৃদ্ধ ভিজ্যুয়াল তথ্য প্রদর্শন করতে সক্ষম। DHU এর 2.1 সংস্করণ (বর্তমানে Android Studio Beta আপডেট চ্যানেল ব্যবহার করে উপলব্ধ) দিয়ে শুরু করে, আপনি আপনার ডেভেলপমেন্ট মেশিনে এই ধরনের ডিসপ্লে অনুকরণ করতে পারেন।

এটি একটি ক্লাস্টার [display] বিভাগ সহ একটি কনফিগারেশন ফাইল ব্যবহার করে করা যেতে পারে। [display] বিভাগগুলি ফাইলের [general] বিভাগে কনফিগার করা প্রধান ডিসপ্লের মতো একই ভিডিও কনফিগারেশন বিকল্পগুলিকে সমর্থন করে।

চিত্র ৩. সেকেন্ডারি ক্লাস্টার ডিসপ্লে সহ DHU চালানোর সময় প্রধান স্ক্রিন।
চিত্র ৪. সেকেন্ডারি ক্লাস্টার ডিসপ্লে সহ 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 ফাইলে যোগ করা যেতে পারে অথবা আপনি এটি একটি পৃথক ফাইলে রেখে এবং DHU চালু করার সময় একাধিক কনফিগারেশন ফাইল পাস করে পুনরায় ব্যবহার করতে পারেন। একাধিক কনফিগারেশন ফাইল ব্যবহার করার সময়, প্রদত্ত মানের পরবর্তী সংজ্ঞাগুলি পূর্ববর্তীগুলিকে ওভাররাইড করে।

# 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 মিডিয়া প্লেব্যাকের অবস্থা দেখানোর জন্য একটি অতিরিক্ত তথ্য প্রদর্শন সমর্থন করে, যেমন কোন ট্র্যাকটি চলছে।

DHU-এর মিডিয়া প্লেব্যাক স্ট্যাটাস উইন্ডো প্লেব্যাকের তথ্য দেখাচ্ছে।
DHU-এর মিডিয়া প্লেব্যাক স্ট্যাটাস উইন্ডো প্লেব্যাকের তথ্য দেখাচ্ছে।

[general] বিভাগে playbackstatus এন্ট্রি ব্যবহার করে এটি সক্রিয় করা যেতে পারে।

[general]
...
playbackstatus = true

কীকোড

DHU ডিফল্ট কীকোডের একটি সেট প্রদান করে যা সাধারণত যানবাহনে পাওয়া যায় এমন শর্টকাট বোতামগুলির সেটকে অনুকরণ করে। উদাহরণস্বরূপ, home কীকোডটি DHU প্রম্পটে নিম্নরূপ ট্রিগার করা যেতে পারে:

keycode home

নিম্নলিখিত টেবিলে অন্যান্য উপলব্ধ কীকোডগুলির তালিকা দেওয়া হল:

কীকোড বিবরণ
home হোম স্ক্রিনে যান।
back ফিরে যাও।
call
endcall
কল করুন অথবা শেষ করুন।
search অনুসন্ধান ট্রিগার করুন।
media_play_pause
media_play
media_pause
মিডিয়া চালান বা পজ করুন।
media_next
media_previous
পরবর্তী অথবা পূর্ববর্তী মিডিয়া ট্র্যাকে যান।
media ডিফল্ট মিডিয়া অ্যাপে যান।
navigation ডিফল্ট নেভিগেশন অ্যাপে যান।
tel ডিফল্ট টেলিফোন অ্যাপে যান।

DHU কনফিগার করুন

DHU একটি কনফিগারেশন .ini ফাইল সমর্থন করে যা টাচ এবং রোটারি কন্ট্রোলারের মধ্যে ইনপুট মোড পরিবর্তন করে এবং ফোন থেকে হেড ইউনিটের অনুরোধের ফ্রেম রেট, রেজোলিউশন এবং DPI সেট করে।

কনফিগারেশন ফাইলের ডিফল্ট অবস্থান হল ~/.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 বুলিয়ান UI নেভিগেশনের জন্য টাচপ্যাড ব্যবহার সক্ষম করুন।
touchpadtapasselect false বুলিয়ান যখন সত্য, টাচপ্যাডে একটি ট্যাপ একটি নির্বাচিত ঘটনা।
touchpaduiabsolute false বুলিয়ান যখন touchpadnavigation true হয়, তখন স্পর্শগুলিকে পরম হিসেবে বিবেচনা করা উচিত নাকি অঙ্গভঙ্গি হিসেবে বিবেচনা করা উচিত তা সেট করুন।

ভিডিও কনফিগারেশন

অ্যান্ড্রয়েড অটো তিনটি ভিডিও রেজোলিউশন সমর্থন করে:

  • ৪৮০পি (৮০০x৪৮০, ডিফল্ট)
  • ৭২০পি (১২৮০x৭২০)
  • ১০৮০পি (১৯২০x১০৮০)

অন্যান্য আকৃতির অনুপাত সমর্থন করার জন্য, হেড ইউনিট প্রয়োজনে লেটারবক্সে (পিলারবক্স) একটি মার্জিন নির্দিষ্ট করতে পারে। উদাহরণস্বরূপ, যদি আপনি 1000x600 স্ক্রিন চান, তাহলে রেজোলিউশন 720p (1280x720) এবং marginwidth 280 এবং marginheight 120 সেট করুন। এর ফলে বাম এবং ডান প্রান্তে 140 px মার্জিন এবং উপরে এবং নীচে 60 px মার্জিন যোগ করা সম্ভব।

নিম্নলিখিত উদাহরণ কনফিগারেশনটি একটি সাধারণ 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 , তখন বৃহত্তর DPI মান বিবেচনা করে DHU উইন্ডোর আকার কমিয়ে দিন। যখন false , তখন বৃহত্তর DPI মানগুলি বৃহত্তর উইন্ডো তৈরি করে, যা বাস্তব প্রদর্শনের অনুকরণ করে না তবে ভিজ্যুয়াল সামগ্রী পরিদর্শনে সহায়তা করে।
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]
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 বুলিয়ান ইন্সট্রুমেন্ট ক্লাস্টার সক্ষম করুন। নেভিগেশন এবং ফোনের স্থিতি প্রদর্শনের জন্য UI তে একটি উইন্ডো যোগ করে।
navcluster false বুলিয়ান ইন্সট্রুমেন্ট ক্লাস্টার সক্ষম করুন। নেভিগেশন স্থিতি প্রদর্শনের জন্য UI তে একটি উইন্ডো যোগ করে।
phonecluster false বুলিয়ান ইন্সট্রুমেন্ট ক্লাস্টার সক্ষম করুন। ফোনের স্থিতি প্রদর্শনের জন্য UI-তে একটি উইন্ডো যোগ করে।
playbackstatus false বুলিয়ান প্লেব্যাক স্থিতি সক্ষম করুন। প্লেব্যাক স্থিতি বার্তা প্রদর্শনের জন্য UI তে একটি উইন্ডো যোগ করে।
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 থাকে।

সমস্যা সমাধান

কখনও কখনও DHU প্রথমবার সংযোগ করার সময় একটি ফাঁকা স্ক্রিন দেখায়। আপনি নিম্নলিখিতগুলি করে এটি সমাধান করতে পারেন:

  1. ডিএইচইউ বন্ধ করো।
  2. হেড ইউনিট সার্ভার বন্ধ করে পুনরায় চালু করতে DHU চালান বিভাগে বর্ণিত ৫ম ধাপ অনুসরণ করুন।
  3. আবার DHU শুরু করুন।
  4. ফোনের স্ক্রিনে অনুরোধ করা যেকোনো অতিরিক্ত অনুমতি দিন। DHU আবার বন্ধ হয়ে যেতে পারে।
  5. প্রয়োজনে DHU পুনরায় চালু করুন।