ה-Desktop Head Unit (DHU) מאפשר למכונת הפיתוח שלכם לבצע אמולציה של יחידה ראשית של Android Auto, כדי שתוכלו להריץ ולבדוק אפליקציות של Android Auto. ה-DHU פועל במערכות Windows, macOS ו-Linux.
אחרי שמתקינים את DHU, אפשר לבדוק את האפליקציות ל-Android Auto על ידי חיבור המכשיר הנייד אליו באמצעות אחד ממנגנוני החיבור הנתמכים שמתוארים במאמר בנושא הרצת DHU.
כדי לדווח על באגים או לבקש תכונות שקשורות ל-DHU, אפשר להשתמש בכלי למעקב אחר בעיות.
התקנת ה-DHU
כדי להתקין את DHU במכונת הפיתוח:
- מפעילים מצב פיתוח במכשיר נייד עם Android 9 (רמת API 28) ומעלה, כמו שמתואר במאמר הגדרת אפשרויות פיתוח במכשיר.
- קומפילציה והתקנה של האפליקציה במכשיר.
- מתקינים את Android Auto במכשיר. אם Android Auto כבר מותקן, צריך לוודא שאתם משתמשים בגרסה העדכנית.
ב-Android Studio, פותחים את SDK Manager ועוברים לכרטיסייה SDK Tools (כלי SDK), ואז מורידים את החבילה Android Auto Desktop Head Unit Emulator (אמולטור של יחידת ראש למחשב ב-Android Auto).
ה-SDK Manager מציג את DHU 2.0. ה-DHU מותקן בספרייה
SDK_LOCATION/extras/google/auto/.במערכות Linux או macOS, מריצים את הפקודה הבאה בספרייה כדי להפוך את הקובץ הבינארי של DHU לקובץ הפעלה:
chmod +x ./desktop-head-unitשלבים נוספים ל-Linux
אם אתם מריצים את DHU בגרסה 2.x במערכת Linux, אתם צריכים להתקין כמה ספריות נוספות. קובץ ה-DHU הבינארי תלוי ב-GLIBC בגרסה 2.32 ואילך.
כדי לבדוק את גרסת GLIBC של המערכת, מריצים את הפקודה הבאה:
ldd --versionאם הגרסה נמוכה מ-2.32, צריך לעדכן את GLIBC לגרסה 2.32 ואילך. יכול להיות שתצטרכו לשדרג את מערכת ההפעלה לגרסה שתואמת ל-GLIBC 2.32 ואילך.
צריך גם להתקין את הספריות libc++1 ו-libc++abi1. תהליך ההתקנה משתנה בהתאם להפצת Linux. לדוגמה, בהפצות Linux שמבוססות על Debian, אפשר להתקין את הספריות באמצעות הפקודה הבאה:
sudo apt-get install libc++1 libc++abi1התקנה של גרסאות טרום-השקה של DHU
כדי לקבל גישה לגרסאות טרום-הפצה של DHU, אתם יכולים להשתמש בגרסת Preview של Android Studio או לשנות את ערוץ העדכונים של ההתקנה הקיימת של Android Studio לערוץ הבטא.
הפעלת ה-DHU
אחרי שמתקינים את DHU, אפשר לבדוק את אפליקציות Android Auto על ידי חיבור המכשיר הנייד ותחנת העבודה באמצעות USB. מריצים את DHU על ידי חיבור המכשיר הנייד למכונת פיתוח באמצעות מצב אביזרים (מומלץ ל-DHU 2.x) או ADB Tunneling.
חיבור באמצעות מצב אביזר
Android Auto תומך בחיבור ל-DHU בגרסה 2.x באמצעות פרוטוקול Android Open Accessory (AOA), באמצעות הפקודה הבאה:
./desktop-head-unit --usbכברירת מחדל, ה-DHU סורק את רשימת מכשירי ה-USB הזמינים ומנסה להתחבר למכשיר התואם הראשון. כדי לטרגט מכשיר ספציפי, כוללים את מזהה המכשיר כחלק מהפקודה --usb, באופן הבא:
./desktop-head-unit --usb=[DEVICE_ID]חיבור באמצעות מנהור ADB
בשיטה הזו צריך להגדיר חיבור לשרת של יחידת הראש של Android Auto דרך ממשק הגישור של Android (adb). כדי להגדיר מנהור ולהפעיל את DHU, פועלים לפי השלבים הבאים:
- מפעילים את מצב הפיתוח ב-Android Auto אם הוא עדיין לא מופעל.
אם השרת של היחידה הראשית לא פועל, פותחים את תפריט האפשרויות הנוספות ובוחרים באפשרות הפעלת שרת של יחידה ראשית, כמו שמוצג באיור 1.
במכשיר, שירות בחזית מופיע באזור ההתראות ומציין שהשרת פועל, כמו שמוצג באיור 2.
איור 1. תפריט הקשר עם אפשרויות למפתחים.
איור 2. התראה על כך ששרת של יחידה ראשית פועל.
באפליקציית Android Auto, מקישים על מכוניות שהתחברו בעבר בחלק העליון של ההגדרות ומוודאים שהאפשרות הוספת מכוניות חדשות ל-Android Auto מופעלת.
מחברים את המכשיר הנייד למכונת הפיתוח באמצעות USB.
מוודאים שהמסך של המכשיר הנייד לא נעול כדי שאפשר יהיה להפעיל את DHU.
במכונת הפיתוח, מריצים את הפקודה
adbהבאה כדי להעביר חיבורי שקע מהיציאה 5277 במכונת הפיתוח לאותו מספר יציאה במכשיר הנייד. ההגדרה הזו מאפשרת ל-DHU להתחבר לשרת של יחידת הראש שפועל במכשיר הנייד דרך שקע TCP.adb forward tcp:5277 tcp:5277מפעילים את DHU על ידי הרצת הפקודה
desktop-head-unit.exeב-Windows, או./desktop-head-unitב-macOS או ב-Linux, מהספרייהSDK_LOCATION/extras/google/auto/:cd SDK_LOCATION/extras/google/autodesktop-head-unit.exe # Windows./desktop-head-unit # macOS or Linux
- אם זו הפעם הראשונה שאתם מחברים את המכשיר הנייד ל-DHU, צריך לבדוק את המסך של המכשיר הנייד כדי לאשר את התנאים וההגבלות ולשנות את הגדרות ההרשאות לפי הצורך.
אחרי שמפעילים את DHU, אפשר להשתמש בפקודות של מסוף DHU כדי להריץ את האפליקציה ולבדוק אותה.
אפשרויות של שורת הפקודה
כברירת מחדל, השרת של היחידה הראשית מתחבר דרך יציאה 5277. כדי לשנות את המארח או היציאה, משתמשים בדגל --adb=<[localhost:]port>, כמו בדוגמה הבאה:
./desktop-head-unit --adb=5999כברירת מחדל, ה-DHU מדמה יחידת ראש שתואמת ל-Android Auto עם ממשק משתמש של מסך מגע. אפשר לדמות מגע של משתמש על ידי לחיצה על 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 transport. אופציונלי host:port
או port. ברירת המחדל היא יציאה 5277. |
-a, --usb=DEVICE_ID |
שימוש בתעבורת USB AOA. אופציונלי DEVICE_ID. |
-v, --version |
הצגת פרטי הגרסה. |
-l, --licenses |
לרישיונות קוד פתוח |
-h, --headless |
הפעלה במצב 'דפדפן ללא GUI', ללא ממשק משתמש. |
-t, --always_show_window_on_top |
הצגת חלונות של DHU מעל חלונות אחרים (מושבת כברירת מחדל) |
-?, --help |
הצגת רשימת העזרה. |
מדריך למשתמש של DHU
בקטע הזה מתוארות התכונות שנתמכות ב-DHU ומוסבר איך משתמשים בהן.
מזינים את הפקודות בחלון הטרמינל שבו הפעלתם את DHU. אפשר להריץ כמה פקודות באותה שורה אם מפרידים ביניהן באמצעות ;.
מערכת
| פקודה | מפתח | תיאור |
|---|---|---|
help [command] |
הצגת כל הפקודות. אם מציינים שם של פקודה, מוצגת עזרה לגבי הפקודה הזו. | |
quitexit |
Alt+Q | יוצאים מהיחידה הראשית. |
sleep [seconds] |
המתנה של שנייה אחת. אם מציינים עיכוב, המערכת תשהה את הפעולה למשך הזמן הזה
seconds. אפשר להשתמש בזה כדי ליצור סקריפט ליחידה הראשית (HU)
עם ./desktop-head-unit < script.txt, למשל בסביבת CI
(שילוב רציף). |
|
screenshot filename.png
|
שמירת צילום מסך ב-filename.png.
|
|
licenses |
הצגת הרישיונות של הספריות שנעשה בהן שימוש ב-DHU. | |
keycode keycode
|
שולחים את keycode, אחד מהשמות שמופיעים בקטע Keycodes. |
מסך מגע ולוח מגע
כשמסך המגע או לוח המגע מופעלים, לחיצה בחלון התצוגה (במקרה של מסך מגע) או בחלון לוח המגע (במקרה של לוח מגע) נרשמת כאירוע מגע.
במסך מגע, כדי לדמות מגע מרובה נקודות, לוחצים לחיצה ימנית על המיקום של האצבע הראשונה, ואז לוחצים לחיצה ארוכה על הכפתור הימני בשביל האצבע השנייה. נקודת האמצע בין שתי האצבעות נשארת קבועה. הזזת העכבר מאפשרת לסובב את האצבעות סביב המרכז, לפתוח ולסגור את האצבעות או לבצע את שתי הפעולות.
במקרה של לוח מגע, לוחצים לחיצה ארוכה על הלחצן השמאלי כדי לגלול בין רכיבים שונים בממשק המשתמש במסך. לחיצה על הלחצן הימני בוחרת את הרכיב שמוצב עליו הפוקוס.
| פקודה | מפתח | תיאור |
|---|---|---|
tap x y
|
מדמה אירוע מגע בקואורדינטות שצוינו. |
חוגה
ל-DHU יש תמיכה בחוגה. כשהיא מופעלת, יש תמיכה בפעולות הבאות:
- לחיצה על החלק העליון, התחתון, הימני והשמאלי של לחצני החיצים (D-pad)
- סיבוב בכיוון השעון ונגד כיוון השעון
- ביצוע סיבוב מהיר (חמישה שלבים בבת אחת)
- לחיצה על הכפתור התחתון בבקר ואז על הכפתור העליון
בטבלה הבאה מפורטות הפקודות וקישורי המקשים.
גלגלת העכבר שולחת פקודות 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 תומך בשימוש במיקרופון לקלט קולי או להשמעת רצועת קול שהוקלטה מראש. לנוחותכם, קובצי הסאונד הבאים לפקודות קוליות נפוצות כלולים ב-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 בודד בהנחיה של DHU, משתמשים בפקודה הבאה:
mic play /path/to/filename.wavבטבלה הבאה מפורטות פקודות נוספות שקשורות למיקרופון:
| פקודה | מפתח | תיאור |
|---|---|---|
mic begin |
M | מפעילים את המיקרופון, מדמים לחיצה על הלחצן שבהגה ומחכים לקלט ממיקרופון המחשב. |
mic play filename.wav
|
מפעילים את המיקרופון ומנגנים את ההקלטה של קובץ ה-WAV שצוין. הערה: לא תשמעו את קובץ ה-WAV מופעל, אבל תשמעו את התגובה מ-Android Auto. | |
mic repeat |
חזרה על ההקלטה האחרונה שהייתה בשימוש עם mic play. |
|
mic reject {on|off} |
הפעלה או השבתה של דחיית בקשות לגישה למיקרופון. כשההגדרה הזו מופעלת, כל הבקשות לשימוש במיקרופון נדחות. |
חיישנים
DHU תומך בהדמיה של שינויים בנתוני החיישנים של הרכב באמצעות הפקודות הבאות. כדי ליצור נתוני חיישנים מדומים ולשלוח אותם ל-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] |
מגדירים את הג'ירוסקופ למהירות הסיבוב (rad/s) שצוינה בצירים x, y ו-z, או (אם לא הועברו פרמטרים) מבטלים את ההגדרה של נתוני הג'ירוסקופ. אם צריך, מעבירים את הערך 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]] |
מגדירים את חיישן ה-GPS לערך המספר שצוין בשימוש, יחד עם רשימת האזימוט האופציונלית (מעלות בטווח 0 עד 360), הגובה (מעלות בטווח 0 עד 90), ה-PRN (רעש פסאודו-אקראי), ה-SNR (דציבלים) והשימוש בתיקון (true או false). |
parking_brake engaged |
מגדירים את חיישן בלם החניה למצב true או false. |
gear gear_value |
מגדירים את חיישן ההילוך לערך שצוין (לדוגמה, 0 לניוטרל, 100 לדרייב, 101 לחנייה ו-102 להילוך אחורי). |
מצבי יום ולילה
ה-DHU תומך בהדמיה של מעבר בין מצב יום למצב לילה באמצעות הפקודות וקישורי המקשים הבאים:
| פקודה | מפתח | תיאור |
|---|---|---|
day |
Shift+N | הפעלת מצב יום – בהירות גבוהה, צבע מלא. |
night |
Ctrl+N | הפעלת מצב לילה – בהירות נמוכה וניגודיות גבוהה. |
daynightnightday |
צפ' | החלפה בין מצב יום למצב לילה. |
ניהול המיקוד
ה-DHU תומך בהדמיה של מצב המיקוד של Android Auto ביחידת הראש באמצעות הפקודות הבאות:
| פקודה | תיאור |
|---|---|
focus video {on|off|toggle} |
הפעלה או השבתה של פוקוס על הווידאו ביחידה המרכזית. השבתת המיקוד בווידאו מדמה את הסתרת Android Auto ביחידה הראשית. |
focus audio {on|off|toggle} |
הפעלה או השבתה של המיקוד באודיו ביחידה המרכזית. השבתת המיקוד באודיו מדמה את היחידה הראשית שמנגנת את מקור האודיו שלה. |
focus nav {on|off|toggle} |
הפעלה או השבתה של מוקד הניווט ביחידה המרכזית. השבתה של ההדגשה של הניווט מדמה את היחידה הראשית שמריצה מערכת ניווט משלה. |
הגבלות וסטטוס נהיגה
DHU תומך בהדמיה של הגבלות מסוימות כשהרכב בתנועה, כמו השבתת המקלדת ואיסור הגדרות טלפון, באמצעות הפקודות הבאות:
| פקודה | מפתח | תיאור |
|---|---|---|
restrict none |
U | השבתה של כל ההגבלות. |
restrict all |
Shift+U | הפעלת כל ההגבלות, למשל כדי לדמות נהיגה. |
לוח מחוונים
DHU תומך באמולציה של אשכול כלים. הלוח הזה נמצא בדרך כלל מאחורי ההגה, ומוצג בו מידע בסיסי במהלך הניווט לגבי הפנייה הבאה – כמו שם הכביש הבא או חץ הפנייה – המרחק או הזמן. מוצג גם מידע על שיחות טלפון פעילות.
אפשר להפעיל את האפשרות הזו באמצעות הערך instrumentcluster בקטע [general] של קובץ ההגדרות, או באמצעות הערכים navcluster או phonecluster כדי לשלוט בכל תכונה בנפרד.
[general]
...
instrumentcluster = true
לוח מחוונים
בחלק מהרכבים יש תצוגות של קבוצות מחוונים שיכולות להציג מידע ויזואלי עשיר, כמו משבצות של מפות. החל מגרסה 2.1 של DHU (שזמינה כרגע דרך ערוץ העדכונים של Android Studio Beta), אפשר לבצע אמולציה של מסך כזה במכונת הפיתוח.
אפשר לעשות זאת באמצעות קובץ תצורה עם קטע [display] של אשכול.
בקטעים [display] יש תמיכה באותן אפשרויות הגדרת וידאו כמו בתצוגה הראשית שמוגדרת בקטע [general] של הקובץ.
...
# 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 תומך בתצוגת מידע נוסף כדי להציג את סטטוס ההפעלה של המדיה, למשל את הטראק שמופעל.
אפשר להפעיל את האפשרות הזו באמצעות הערך playbackstatus בקטע [general].
[general]
...
playbackstatus = true
קודי מפתח
DHU מספקת קבוצה של קודי מקשים שמוגדרים כברירת מחדל, שמדמים את קבוצת לחצני הקיצור שזמינים בדרך כלל בכלי רכב. לדוגמה, אפשר להפעיל את קוד המקש home בהנחיה של DHU באופן הבא:
keycode homeבטבלה הבאה מפורטים קודי מקשים נוספים שזמינים:
| קוד מפתח | תיאור |
|---|---|
home |
עבור אל מסך הבית. |
back |
חוזרים אחורה. |
callendcall
|
מתקשרים או מסיימים שיחה. |
search |
הפעלת חיפוש. |
media_play_pausemedia_playmedia_pause |
הפעלה או השהיה של מדיה. |
media_nextmedia_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 |
בוליאני | הפעלת האפשרות להשתמש בלוח המגע לניווט בממשק המשתמש. |
touchpadtapasselect |
false |
בוליאני | אם הערך הוא True, הקשה על לוח המגע היא אירוע בחירה. |
touchpaduiabsolute |
false |
בוליאני | אם הערך של touchpadnavigation הוא true, מגדירים אם המגעים יטופלו כערכים מוחלטים או כתנועות. |
הגדרת הווידאו
Android Auto תומך בשלוש רזולוציות וידאו:
- 480p (800x480, ברירת המחדל)
- 720p (1280x720)
- 1080p (1920x1080)
כדי לתמוך ביחסי גובה-רוחב אחרים, יחידת הראש יכולה לציין שוליים להוספת פסים שחורים (pillarbox) לפי הצורך. לדוגמה, אם רוצים מסך בגודל 1,000x600, צריך להגדיר את הרזולוציה ל-720p (1,280x720) ואת 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 כדי להתאים לערכי DPI גדולים יותר. כשמשתמשים ב-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 |
בוליאני | הפעלת נתוני חיישני GPS לווייני. |
parking_brake |
false |
בוליאני | הפעלת נתוני חיישן בלם החנייה. |
gear |
false |
בוליאני | הפעלת נתוני חיישן הילוכים. |
אפשרויות הגדרה שונות
בטבלה הבאה מפורטות אפשרויות הגדרה נוספות:
| שם | ברירת מחדל | סוג | תיאור |
|---|---|---|---|
instrumentcluster |
false |
בוליאני | הפעלת אשכול הכלים. תבנית שמוסיפה חלון לממשק המשתמש כדי להציג את הניווט ואת סטטוס הטלפון. |
navcluster |
false |
בוליאני | הפעלת אשכול הכלים. מוסיף חלון לממשק המשתמש כדי להציג את סטטוס הניווט. |
phonecluster |
false |
בוליאני | הפעלת אשכול הכלים. מוסיף חלון לממשק המשתמש כדי להציג את סטטוס הטלפון. |
playbackstatus |
false |
בוליאני | הפעלת סטטוס ההפעלה. הוספת חלון לממשק המשתמש להצגת הודעות סטטוס של ההפעלה. |
driverposition |
left |
מחרוזת | אחד מהערכים הבאים: left, center או right. |
windowleft |
|
מספר שלם | מגדירים את המיקום השמאלי של החלון הראשי. |
windowtop |
|
מספר שלם | מגדירים את המיקום העליון של החלון הראשי. |
fueltypes |
unleaded |
מיתרים | אחת או יותר מהאפשרויות הבאות, ברשימה מופרדת בפסיקים:
|
evconnectors |
|
מיתרים | אפס או יותר מהערכים הבאים, ברשימה שמופרדת בפסיקים:
fueltypes מכיל electric.
|
פתרון בעיות
לפעמים, כשמתחברים ל-DHU בפעם הראשונה, מוצג מסך ריק. כדי לעקוף את הבעיה, אפשר לבצע את הפעולות הבאות:
- סוגרים את DHU.
- פועלים לפי שלב 5 שמתואר במאמר בנושא הפעלת DHU כדי לעצור ולהפעיל מחדש את שרת יחידת הראש.
- מפעילים מחדש את DHU.
- נותנים את כל ההרשאות הנוספות שנדרשות במסך הטלפון. יכול להיות שה-DHU יכבה שוב.
- אם צריך, מפעילים מחדש את DHU.