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 และไปที่แท็บเครื่องมือ SDK จากนั้นดาวน์โหลด Android Auto แพ็กเกจโปรแกรมจำลองหน่วยโฆษณาเครื่องเดสก์ท็อป
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 ของคุณ ตัวอย่างเช่น บน
คุณสามารถติดตั้งไลบรารีที่ใช้
คำสั่ง:
sudo apt-get install libc++1 libc++abi1
ติดตั้ง DHU เวอร์ชันก่อนเผยแพร่
หากต้องการเข้าถึง DHU เวอร์ชันก่อนเผยแพร่ ให้ใช้ตัวอย่าง ของ Android Studio หรือเปลี่ยนแปลง อัปเดตช่องทางของ จากการติดตั้ง Android Studio ที่มีอยู่ลงในเวอร์ชันเบต้า
เรียกใช้ DHU
หลังจากติดตั้ง DHU แล้ว คุณจะทดสอบแอป Android Auto ได้โดยเชื่อมต่อ อุปกรณ์เคลื่อนที่และเวิร์กสเตชันผ่าน USB เรียกใช้ DHU โดยเชื่อมต่อ ไปยังเครื่องสำหรับการพัฒนาซอฟต์แวร์โดยใช้ โหมดอุปกรณ์เสริม (แนะนำสำหรับ DHU 2.x) หรือ ADB Tunneling
เชื่อมต่อโดยใช้โหมดอุปกรณ์เสริม
Android Auto รองรับการเชื่อมต่อกับ DHU เวอร์ชัน 2.x ด้วยฟังก์ชัน Android Open อุปกรณ์เสริม (AOA) โดยใช้คำสั่งต่อไปนี้
./desktop-head-unit --usb
โดยค่าเริ่มต้น DHU จะสแกนผ่านรายการอุปกรณ์ USB ที่มีอยู่และความพยายาม
เพื่อเชื่อมต่อกับอุปกรณ์แรกที่เข้ากันได้ หากต้องการกำหนดเป้าหมายอุปกรณ์ที่เฉพาะเจาะจง ให้ใส่
รหัสอุปกรณ์ ซึ่งเป็นส่วนหนึ่งของคำสั่ง --usb
ดังนี้
./desktop-head-unit --usb=[DEVICE_ID]
เชื่อมต่อโดยใช้อุโมงค์ ADB
วิธีนี้ต้องมีการตั้งค่าการเชื่อมต่อกับเครื่องเล่นวิทยุของ Android Auto
เซิร์ฟเวอร์ผ่านทาง Android Debug Bridge (adb
) ติดตาม
โดยทำตามขั้นตอนต่อไปนี้เพื่อตั้งค่า Tunnel และเรียกใช้ DHU
- เปิดใช้โหมดนักพัฒนาซอฟต์แวร์ Android Auto หากยังไม่ได้ติดตั้ง
หากเซิร์ฟเวอร์เครื่องเสียงไม่ได้ทำงานอยู่ ให้เปิดเมนูรายการเพิ่มเติมและ เลือกเริ่มต้นเซิร์ฟเวอร์ระบบเครื่องเสียง ดังที่แสดงในรูปที่ 1
บริการที่ทำงานอยู่เบื้องหน้าบนอุปกรณ์จะปรากฏในพื้นที่การแจ้งเตือนที่ ระบุว่าเซิร์ฟเวอร์กำลังทำงาน ดังที่แสดงในรูปที่ 2
รูปที่ 1 เมนูตามบริบทพร้อมตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์
รูปที่ 2 การแจ้งเตือนว่าเซิร์ฟเวอร์ระบบเครื่องเสียงกำลังทำงานอยู่
ในแอป Android Auto ให้แตะรถที่เคยเชื่อมต่อบริเวณด้านบนของ การตั้งค่า และตรวจสอบว่าเปิดใช้เพิ่มรถคันใหม่ไปยัง Android Auto แล้ว
เชื่อมต่ออุปกรณ์เคลื่อนที่กับเครื่องพัฒนาโดยใช้ USB
ตรวจสอบว่าอุปกรณ์เคลื่อนที่ปลดล็อกหน้าจออยู่เพื่อให้ ก็เปิดตัว DHU
ในเครื่องสำหรับนักพัฒนา ให้เรียกใช้คำสั่ง
adb
ต่อไปนี้เพื่อส่งต่อ Socket จากพอร์ต 5277 ของเครื่องการพัฒนาไปยังหมายเลขพอร์ตเดียวกันบน อุปกรณ์ Android การกำหนดค่านี้ช่วยให้ DHU เชื่อมต่อกับศีรษะได้ หน่วยเซิร์ฟเวอร์ที่ทำงานบนอุปกรณ์เคลื่อนที่ผ่านซ็อกเก็ต TCPadb 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/auto
desktop-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 ไม่บังคับ 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] |
สลีป 1 วินาที ถ้ามีการหน่วงเวลา ก็ให้นอนหลับ
seconds สามารถใช้เพื่อเขียนสคริปต์ระบบเครื่องเสียงได้
เช่น ที่มี ./desktop-head-unit < script.txt อยู่ใน CI
ของคุณ |
|
screenshot filename.png
|
บันทึกภาพหน้าจอไปยัง filename.png.
|
|
licenses |
แสดงใบอนุญาตของห้องสมุดที่ใช้ใน DHU | |
keycode keycode
|
ส่ง keycode ซึ่งเป็นหนึ่งในชื่อที่ระบุใน Keycodes |
ระบบสัมผัสและทัชแพด
เมื่อเปิดใช้ระบบสัมผัสหรือทัชแพด การคลิก หน้าต่างการแสดงผล สำหรับหน้าต่างสัมผัสหรือหน้าต่างทัชแพด สำหรับทัชแพด ลงทะเบียนเป็น การโต้ตอบแบบสัมผัส
สำหรับการแตะ ให้จำลองมัลติทัชโดยคลิกขวาที่นิ้วแรก แล้วคลิกปุ่มขวาสำหรับนิ้วที่ 2 ค้างไว้ จุดกึ่งกลางของ 2 นิ้วชิดกับที่ การเลื่อนเมาส์ช่วยให้คุณ หมุนรอบตรงกลาง บีบเข้าและออก หรือทั้งสองอย่าง
สำหรับทัชแพด ให้คลิกปุ่มซ้ายค้างไว้เพื่อเลื่อนดู UI ต่างๆ องค์ประกอบบนหน้าจอ การคลิกปุ่มขวาจะเลือกองค์ประกอบที่มี โฟกัส
คำสั่ง | คีย์ | คำอธิบาย |
---|---|---|
tap x y
|
จำลองเหตุการณ์การแตะตามพิกัดที่ระบุ |
ตัวควบคุมแบบหมุน
DHU ใช้ตัวควบคุมแบบหมุนได้ เมื่อใด เปิดใช้ ระบบจะรองรับการทำงานต่อไปนี้
- คลิกขึ้น ลง ซ้าย และขวาบน D-pad
- หมุนตามเข็มนาฬิกาและทวนเข็มนาฬิกา
- แสดงการหมุนหน้าจอ (5 ขั้นตอนพร้อมกัน)
- คว่ำตัวควบคุมลงและกลับไปที่ตัวควบคุม
คำสั่งและการเชื่อมโยงคีย์จะแสดงอยู่ในตารางต่อไปนี้
ล้อเลื่อนบนเมาส์จะส่งคำสั่ง 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 |
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 |
ล้าน | เปิดใช้งานไมโครโฟน โดยจำลองการคลิกพวงมาลัย และรออินพุตจากไมโครโฟนของคอมพิวเตอร์ |
mic play filename.wav
|
เปิดใช้งานไมโครโฟนและเล่นไฟล์บันทึก WAV ที่ระบุ หมายเหตุ: คุณไม่ได้ยินไฟล์ WAV เล่นอยู่ แต่คุณได้ยินเสียง การตอบกลับจาก Android Auto | |
mic repeat |
ทำซ้ำการบันทึกล่าสุดที่ใช้กับ mic play |
|
mic reject {on|off} |
เปิดหรือปิดใช้งานการปฏิเสธคำขอไมโครโฟน เมื่อเปิด ทั้งหมด คำขอไมโครโฟนถูกปฏิเสธ |
เซ็นเซอร์
DHU รองรับการจำลองการเปลี่ยนแปลงในข้อมูลเซ็นเซอร์ของรถยนต์ด้วย
ตามคำสั่งต่อไปนี้ หากต้องการจำลองข้อมูลเซ็นเซอร์และส่งไปยัง Android Auto
ต้องเปิดใช้เซ็นเซอร์ที่เกี่ยวข้องด้วย
configuration .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 ที่ระบุ (rad/s) หรือ (โดยไม่ส่งพารามิเตอร์) ไม่ได้ตั้งค่าข้อมูลเครื่องวัดการหมุน ส่งผ่าน NAN เพื่อข้ามพารามิเตอร์ที่ไม่บังคับ หากจำเป็น |
location lat long [accuracy]
[altitude] [speed] [bearing] |
ตั้งค่าตำแหน่งเป็นค่าละติจูดและลองจิจูดที่ระบุ พร้อมกับความแม่นยำที่ไม่บังคับ (m), ระดับความสูง (m), ความเร็ว (ม./วินาที) และทิศทาง (องศา) ส่งผ่าน 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 (dB) และที่ใช้ในฟิกซ์ (true หรือ false ) |
parking_brake engaged |
ตั้งค่าเซ็นเซอร์เบรกจอดรถเป็น true หรือ false |
gear gear_value |
ตั้งค่าเซ็นเซอร์เกียร์เป็นค่าที่ระบุ (เช่น 0 สำหรับปกติ 100 สำหรับการขับรถ 101 สำหรับที่จอดรถ และ 102 สำหรับการย้อนกลับ) |
โหมดกลางวันและกลางคืน
DHU รองรับการจำลองการเปลี่ยนแปลงระหว่างโหมดกลางวันและกลางคืนด้วย คำสั่งและการเชื่อมโยงแป้นต่อไปนี้
คำสั่ง | คีย์ | คำอธิบาย |
---|---|---|
day |
Shift+N | เปิดใช้งานโหมดวัน - ความสว่างสูง แสดงทุกสี |
night |
Ctrl+N | เปิดใช้งานโหมดกลางคืน - ความสว่างต่ำและคอนทราสต์สูง |
daynight nightday |
N | สลับโหมดกลางวันหรือกลางคืน |
การจัดการโฟกัส
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 รองรับการเลียนแบบแผงหน้าปัด คลัสเตอร์นี้มักอยู่หลัง พวงมาลัย ซึ่งจะแสดงข้อมูลพื้นฐานระหว่างการนำทางเกี่ยวกับ เลี้ยวถัดไป เช่น ชื่อถนนถัดไปหรือลูกศรเลี้ยว ระยะทาง หรือ อีกทั้งยังแสดงข้อมูลเกี่ยวกับการโทรที่ดำเนินอยู่อีกด้วย
คุณเปิดใช้การตั้งค่านี้ได้โดยใช้รายการ instrumentcluster
ใน [general]
ของไฟล์การกำหนดค่า หรือตาม navcluster
หรือ phonecluster
เพื่อควบคุมแต่ละฟีเจอร์แยกกัน
[general]
...
instrumentcluster = true
การแสดงผลคลัสเตอร์
ยานพาหนะบางคันมีจอแสดงผลแบบคลัสเตอร์ซึ่งแสดงภาพที่สมบูรณ์ได้ ข้อมูลอย่างเช่น ชิ้นส่วนแผนที่ ตั้งแต่ DHU เวอร์ชัน 2.1 (ปัจจุบัน พร้อมให้ใช้งานโดยใช้ช่องทางการอัปเดต Android Studio เบต้า ) คุณสามารถจำลองการแสดงผลดังกล่าวได้ในเครื่องการพัฒนา
ซึ่งทำได้โดยใช้ไฟล์การกำหนดค่าที่มีส่วน [display]
ของคลัสเตอร์
[display]
ส่วนรองรับ
ตัวเลือกการกำหนดค่าวิดีโอเป็นจอแสดงผลหลัก
ที่กำหนดค่าไว้ในส่วน [general]
ของไฟล์
![](https://developer.android.google.cn/static/images/training/cars/dhu_main.png?authuser=7&hl=th)
![](https://developer.android.google.cn/static/images/training/cars/dhu_cluster.png?authuser=7&hl=th)
...
# 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
ตารางต่อไปนี้แสดงรหัสคีย์อื่นๆ ที่ใช้ได้
Keycode | คำอธิบาย |
---|---|
home |
ไปที่หน้าจอหลัก |
back |
ย้อนกลับ |
call |
โทรออกหรือวางสาย |
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 ให้ตั้งค่า
ควรถือว่าการแตะเป็นแบบสัมบูรณ์หรือเป็นท่าทางสัมผัส |
การกำหนดค่าวิดีโอ
Android Auto รองรับวิดีโอความละเอียด 3 ระดับดังนี้
- 480p (800x480, ค่าเริ่มต้น)
- 720p (1280x720)
- 1080p (1920x1080)
เครื่องเล่นวิทยุสามารถรองรับสัดส่วนภาพอื่นๆ ได้
ระบุระยะขอบเป็นแถบดำด้านบน-ล่างของภาพ (pilerbox) ตามที่จำเป็น ตัวอย่างเช่น หาก
อยากได้หน้าจอ 1000x600 ให้ตั้งความละเอียดเป็น 720p (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 เพื่อให้ครอบคลุมมากขึ้น
ค่า 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 |
บูลีน | เปิดใช้งานแผงหน้าปัด เพิ่มหน้าต่างใน UI เพื่อแสดงการนำทาง และสถานะโทรศัพท์ |
navcluster |
false |
บูลีน | เปิดใช้งานแผงหน้าปัด เพิ่มหน้าต่างใน UI เพื่อแสดงการนำทาง สถานะ |
phonecluster |
false |
บูลีน | เปิดใช้งานแผงหน้าปัด เพิ่มหน้าต่างใน UI เพื่อแสดงโทรศัพท์ สถานะ |
playbackstatus |
false |
บูลีน | เปิดใช้สถานะการเล่น เพิ่มหน้าต่างใน UI เพื่อแสดงการเล่น ข้อความสถานะ |
driverposition |
left |
สตริง | ข้อใดข้อหนึ่ง: left , center หรือ
right |
windowleft |
|
จำนวนเต็ม | กำหนดตำแหน่งด้านซ้ายของหน้าต่างหลัก |
windowtop |
|
จำนวนเต็ม | กำหนดตำแหน่งด้านบนของหน้าต่างหลัก |
fueltypes |
unleaded |
เครื่องสาย | ข้อมูลต่อไปนี้อย่างน้อย 1 รายการโดยอยู่ในรายการที่คั่นด้วยคอมมา
|
evconnectors |
|
เครื่องสาย | ข้อมูลต่อไปนี้อย่างน้อย 0 รายการโดยอยู่ในรายการที่คั่นด้วยคอมมา
fueltypes มี electric เท่านั้น
|
แก้ปัญหา
บางครั้ง DHU อาจแสดงหน้าจอว่างเปล่าเมื่อเชื่อมต่อครั้งแรก คุณสามารถหลีกเลี่ยงปัญหานี้ได้ด้วยการดำเนินการต่อไปนี้
- ปิด DHU
- ทำตามขั้นตอนที่ 5 ที่อธิบายไว้ในส่วนเรียกใช้ DHU เพื่อหยุดและรีสตาร์ท เซิร์ฟเวอร์หน่วยส่วนหัว
- เริ่มใช้ DHU อีกครั้ง
- ให้สิทธิ์เพิ่มเติมตามที่ขอบนหน้าจอโทรศัพท์ DHU อาจปิดตัวลงอีกครั้ง
- รีสตาร์ท DHU หากจำเป็น