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

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

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

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

DHU ইনস্টল করুন

আপনার ডেভেলপমেন্ট মেশিনে DHU ইনস্টল করতে এই পদক্ষেপগুলি অনুসরণ করুন:

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

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

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

  1. লিনাক্স বা ম্যাকোস সিস্টেমে, ডিএইচইউ বাইনারি নির্বাহযোগ্য তা নিশ্চিত করতে সেই ডিরেক্টরিতে নিম্নলিখিত কমান্ডটি চালান:

    chmod +x ./desktop-head-unit
    

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

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

ldd --version

যদি সংস্করণটি 2.32-এর থেকে কম হয়, তাহলে GLIBC 2.32 বা তার উপরে আপডেট করুন, যার জন্য আপনাকে OS-কে GLIBC 2.32 বা তার বেশির সাথে সামঞ্জস্যপূর্ণ সংস্করণে আপগ্রেড করতে হতে পারে।

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

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

DHU এর প্রি-রিলিজ সংস্করণ ইনস্টল করুন

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

DHU চালান

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

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

Android Auto নিম্নলিখিত কমান্ড ব্যবহার করে, Android Open Accessory (AOA) প্রোটোকলের সাথে DHU সংস্করণ 2.x এর সাথে সংযোগ সমর্থন করে:

./desktop-head-unit --usb

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

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

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

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

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

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

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

    চিত্র 1. বিকাশকারী বিকল্পগুলির সাথে প্রসঙ্গ মেনু।

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

    চিত্র 2. বিজ্ঞপ্তি যে হেড ইউনিট সার্ভার চলছে।

  3. অ্যান্ড্রয়েড অটো অ্যাপে, সেটিংসের শীর্ষের কাছে পূর্বে সংযুক্ত গাড়িগুলিতে আলতো চাপুন এবং নিশ্চিত করুন যে Android অটোতে নতুন গাড়ি যোগ করুন সক্ষম হয়েছে৷

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

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

  6. ডেভেলপমেন্ট মেশিনে, ডেভেলপমেন্ট মেশিনের পোর্ট 5277 থেকে সকেট সংযোগগুলিকে Android ডিভাইসে একই পোর্ট নম্বরে ফরোয়ার্ড করতে নিম্নলিখিত 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 একটি উন্নয়ন মেশিনে চলছে

  1. আপনি যদি এই প্রথমবার মোবাইল ডিভাইসটিকে DHU-এর সাথে সংযুক্ত করছেন, তাহলে পরিষেবার শর্তাদি স্বীকার করতে এবং প্রয়োজন অনুযায়ী অনুমতি সেটিংস সামঞ্জস্য করতে মোবাইল ডিভাইসের স্ক্রীন চেক করুন৷

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

কমান্ড লাইন বিকল্প

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

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

ডিফল্টরূপে, DHU একটি টাচস্ক্রিন ব্যবহারকারী ইন্টারফেসের সাথে একটি Android অটো-সামঞ্জস্যপূর্ণ হেড ইউনিট অনুকরণ করে। একটি মাউস দিয়ে 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 ইউএসবি এওএ পরিবহন ব্যবহার করুন। ঐচ্ছিক 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 DHU-তে ব্যবহৃত লাইব্রেরির প্রদর্শন লাইসেন্স।
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+তীর কী কিছু রোটারি কন্ট্রোলারে প্রেস সাইড বোতাম উপলব্ধ।
dpad click প্রত্যাবর্তন রোটারি কন্ট্রোলার টিপুন।
dpad back ব্যাকস্পেস কিছু রোটারি কন্ট্রোলারের নীচে উপলব্ধ ব্যাক বোতাম টিপুন।
dpad rotate left 1 ঘড়ির কাঁটার বিপরীত দিকে (বাম দিকে) ঘূর্ণমান নিয়ামক ঘোরান।
dpad rotate right 2 ঘড়ির কাঁটার দিকে (ডানদিকে) ঘূর্ণমান নিয়ামক ঘোরান।
dpad flick left শিফট+1 ঘড়ির কাঁটার বিপরীতে রোটারি কন্ট্রোলার দ্রুত স্পিন করুন।
dpad flick right Shift+2 রোটারি কন্ট্রোলার ঘড়ির কাঁটার দিকে দ্রুত স্পিন করুন।
dpad 0-9*#+ সংখ্যা প্যাড

মাইক্রোফোন

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

ফাইলের নাম পাঠ্য
navhome.wav বাড়িতে নেভিগেট করুন.
navwork.wav কাজে নেভিগেট করুন।
navsoh.wav সিডনি অপেরা হাউস নেভিগেট করুন.
navgoogle.wav 1600 অ্যাম্ফিথিয়েটার পার্কওয়ে, ক্যালিফোর্নিয়া, মার্কিন যুক্তরাষ্ট্রে নেভিগেট করুন।
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 ] ঐচ্ছিক নির্ভুলতা (m), উচ্চতা (m), গতি (m/s), এবং বিয়ারিং (ডিগ্রী) সহ নির্দিষ্ট ল্যাট এবং লং মানের সাথে অবস্থান সেট করুন। প্রয়োজনে ঐচ্ছিক পরামিতিগুলি এড়িয়ে যেতে 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 ]] জিপিএস স্যাটেলাইট সেন্সরকে নির্দিষ্ট নম্বরে ব্যবহার মানতে সেট করুন অজিমুথের ঐচ্ছিক তালিকার সাথে (0 থেকে 360 সীমার মধ্যে ডিগ্রী), উচ্চতা (0 থেকে 90 সীমার মধ্যে ডিগ্রী), prn (pseudorandom noise), snr (dB), এবং ফিক্সে ব্যবহৃত ( true বা false )।
parking_brake engaged পার্কিং ব্রেক সেন্সরটি true বা false সেট করুন৷
gear gear_value গিয়ার সেন্সরটিকে নির্দিষ্ট মান সেট করুন (উদাহরণস্বরূপ, নিরপেক্ষের জন্য 0 , ড্রাইভের জন্য 100 , পার্কের জন্য 101 এবং বিপরীতের জন্য 102 )।

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

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

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

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

DHU নিম্নলিখিত কমান্ডগুলি ব্যবহার করে Android Auto-এর হেড ইউনিটে ফোকাস আছে কিনা তা অনুকরণ সমর্থন করে:

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

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

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

আদেশ চাবি বর্ণনা
restrict none সমস্ত বিধিনিষেধ অক্ষম করুন।
restrict all Shift+U সমস্ত বিধিনিষেধ সক্ষম করুন, যেমন ড্রাইভিং অনুকরণ করা।

উপকরণ ক্লাস্টার

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

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

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

[general]
...
instrumentcluster = true

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

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

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

চিত্র 3. একটি সেকেন্ডারি ক্লাস্টার ডিসপ্লে সহ DHU চালানোর সময় প্রধান পর্দা।
চিত্র 4. সেকেন্ডারি ক্লাস্টার ডিসপ্লে সহ 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 এর মিডিয়া প্লেব্যাক স্ট্যাটাস উইন্ডো প্লেব্যাকের তথ্য দেখাচ্ছে

এটি [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 ফাইল সমর্থন করে।

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

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

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

  • 480p (800x480, ডিফল্ট)
  • 720p (1280x720)
  • 1080p (1920x1080)

অন্যান্য আকৃতির অনুপাত সমর্থন করার জন্য, হেড ইউনিট প্রয়োজনে লেটারবক্সে (পিলারবক্স) মার্জিন নির্দিষ্ট করতে পারে। উদাহরণস্বরূপ, যদি আপনি একটি 1000x600 স্ক্রীন চান, তাহলে রেজোলিউশনটি 720p (1280x720) এবং 280 এর marginwidth এবং 120 এর marginheight সেট করুন। এতে বাম এবং ডান প্রান্তে 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 হলে, বড় DPI মানগুলির জন্য 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]
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 বুলিয়ান GPS স্যাটেলাইট সেন্সর ডেটা সক্ষম করুন৷
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. DHU বন্ধ করুন।
  2. হেড ইউনিট সার্ভার বন্ধ করতে এবং পুনরায় চালু করতে DHU চালান -এ বর্ণিত ধাপ 5 অনুসরণ করুন।
  3. আবার DHU শুরু করুন।
  4. ফোনের স্ক্রিনে অনুরোধ করা যেকোনো অতিরিক্ত অনুমতি দিন। DHU আরও একবার বন্ধ হতে পারে।
  5. প্রয়োজনে DHU পুনরায় চালু করুন।