ทดสอบโดยใช้เครื่องเสียงสำหรับเดสก์ท็อป

Desktop Head Unit (DHU) ช่วยให้เครื่องพัฒนาซอฟต์แวร์จำลอง เครื่องเล่นวิทยุของ Android Auto เพื่อให้คุณเรียกใช้และทดสอบแอป Android Auto ได้ DHU ทำงานในระบบ Windows, macOS และ Linux

หลังจากติดตั้ง DHU แล้ว คุณจะทดสอบ แอป Android Auto ด้วยการเชื่อมต่ออุปกรณ์เคลื่อนที่โดยใช้หนึ่งใน กลไกการเชื่อมต่อที่รองรับตามที่อธิบายไว้ในหัวข้อเรียกใช้ DHU

หากต้องการรายงานข้อบกพร่องหรือขอฟีเจอร์ที่เกี่ยวข้องกับ DHU โปรดใช้ เครื่องมือติดตามปัญหา

ติดตั้ง DHU

ทำตามขั้นตอนต่อไปนี้เพื่อติดตั้ง DHU ในเครื่องสำหรับการพัฒนา

  1. เปิดใช้โหมดนักพัฒนาซอฟต์แวร์ในอุปกรณ์เคลื่อนที่ที่ใช้ Android 9 (API ระดับ 28) ขึ้นไป ตามที่อธิบายไว้ในกำหนดค่านักพัฒนาแอปในอุปกรณ์ ตัวเลือกเพิ่มเติม
  2. คอมไพล์และติดตั้งแอปในอุปกรณ์
  3. ติดตั้ง Android Auto ในอุปกรณ์ หากติดตั้ง Android Auto ไว้แล้ว ให้ตรวจสอบว่าคุณ กำลังใช้เวอร์ชันล่าสุด
  4. ใน Android Studio ให้เปิดเครื่องมือจัดการ SDK และไปที่แท็บเครื่องมือ SDK จากนั้นดาวน์โหลด Android Auto แพ็กเกจโปรแกรมจำลองหน่วยโฆษณาเครื่องเดสก์ท็อป

SDK Manager แสดง DHU 2.0

DHU จะติดตั้งอยู่ใน ไดเรกทอรี SDK_LOCATION/extras/google/auto/

  1. ในระบบ 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

  1. เปิดใช้โหมดนักพัฒนาซอฟต์แวร์ Android Auto หากยังไม่ได้ติดตั้ง
  2. หากเซิร์ฟเวอร์เครื่องเสียงไม่ได้ทำงานอยู่ ให้เปิดเมนูรายการเพิ่มเติมและ เลือกเริ่มต้นเซิร์ฟเวอร์ระบบเครื่องเสียง ดังที่แสดงในรูปที่ 1

    บริการที่ทำงานอยู่เบื้องหน้าบนอุปกรณ์จะปรากฏในพื้นที่การแจ้งเตือนที่ ระบุว่าเซิร์ฟเวอร์กำลังทำงาน ดังที่แสดงในรูปที่ 2

    เมนูตามบริบทพร้อมตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์

    รูปที่ 1 เมนูตามบริบทพร้อมตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์

    การแจ้งเตือนว่าเซิร์ฟเวอร์ระบบเครื่องเสียงกำลังทำงานอยู่

    รูปที่ 2 การแจ้งเตือนว่าเซิร์ฟเวอร์ระบบเครื่องเสียงกำลังทำงานอยู่

  3. ในแอป Android Auto ให้แตะรถที่เคยเชื่อมต่อบริเวณด้านบนของ การตั้งค่า และตรวจสอบว่าเปิดใช้เพิ่มรถคันใหม่ไปยัง Android Auto แล้ว

  4. เชื่อมต่ออุปกรณ์เคลื่อนที่กับเครื่องพัฒนาโดยใช้ USB

  5. ตรวจสอบว่าอุปกรณ์เคลื่อนที่ปลดล็อกหน้าจออยู่เพื่อให้ ก็เปิดตัว DHU

  6. ในเครื่องสำหรับนักพัฒนา ให้เรียกใช้คำสั่ง adb ต่อไปนี้เพื่อส่งต่อ Socket จากพอร์ต 5277 ของเครื่องการพัฒนาไปยังหมายเลขพอร์ตเดียวกันบน อุปกรณ์ Android การกำหนดค่านี้ช่วยให้ DHU เชื่อมต่อกับศีรษะได้ หน่วยเซิร์ฟเวอร์ที่ทำงานบนอุปกรณ์เคลื่อนที่ผ่านซ็อกเก็ต TCP

    adb forward tcp:5277 tcp:5277
    
  7. เริ่มใช้ 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 ทำงานบนเครื่องพัฒนา

  1. หากคุณเชื่อมต่ออุปกรณ์เคลื่อนที่กับ 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 รองรับการเลียนแบบแผงหน้าปัด คลัสเตอร์นี้มักอยู่หลัง พวงมาลัย ซึ่งจะแสดงข้อมูลพื้นฐานระหว่างการนำทางเกี่ยวกับ เลี้ยวถัดไป เช่น ชื่อถนนถัดไปหรือลูกศรเลี้ยว ระยะทาง หรือ อีกทั้งยังแสดงข้อมูลเกี่ยวกับการโทรที่ดำเนินอยู่อีกด้วย

หน้าต่างแผงหน้าปัดของ DHU ที่แสดงทั้งการนำทางและการโทร
  ข้อมูลรัฐ

คุณเปิดใช้การตั้งค่านี้ได้โดยใช้รายการ instrumentcluster ใน [general] ของไฟล์การกำหนดค่า หรือตาม navcluster หรือ phonecluster เพื่อควบคุมแต่ละฟีเจอร์แยกกัน

[general]
...
instrumentcluster = true

การแสดงผลคลัสเตอร์

ยานพาหนะบางคันมีจอแสดงผลแบบคลัสเตอร์ซึ่งแสดงภาพที่สมบูรณ์ได้ ข้อมูลอย่างเช่น ชิ้นส่วนแผนที่ ตั้งแต่ DHU เวอร์ชัน 2.1 (ปัจจุบัน พร้อมให้ใช้งานโดยใช้ช่องทางการอัปเดต Android Studio เบต้า ) คุณสามารถจำลองการแสดงผลดังกล่าวได้ในเครื่องการพัฒนา

ซึ่งทำได้โดยใช้ไฟล์การกำหนดค่าที่มีส่วน [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 ที่แสดงข้อมูลการเล่น

คุณเปิดใช้รายการนี้ได้โดยใช้รายการ playbackstatus ในส่วน [general]

[general]
...
playbackstatus = true

คีย์โค้ด

DHU ให้ชุดรหัสเริ่มต้นที่จำลองชุดแป้นพิมพ์ลัด ปุ่มที่มักมีให้บริการในยานพาหนะต่างๆ ตัวอย่างเช่น พารามิเตอร์ สามารถทริกเกอร์คีย์โค้ด home ได้ในข้อความแจ้ง DHU ดังนี้

keycode home

ตารางต่อไปนี้แสดงรหัสคีย์อื่นๆ ที่ใช้ได้

Keycode คำอธิบาย
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 ให้ตั้งค่า ควรถือว่าการแตะเป็นแบบสัมบูรณ์หรือเป็นท่าทางสัมผัส

การกำหนดค่าวิดีโอ

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 รายการโดยอยู่ในรายการที่คั่นด้วยคอมมา
  • unleaded
  • leaded
  • diesel-1
  • diesel-2
  • biodiesel
  • e85
  • lpg
  • cng
  • lng
  • hydrogen
  • electric
  • other
  • unknown
evconnectors เครื่องสาย ข้อมูลต่อไปนี้อย่างน้อย 0 รายการโดยอยู่ในรายการที่คั่นด้วยคอมมา
  • j1772
  • mennekes
  • chademo
  • combo-1
  • combo-2
  • roadster
  • hpwc
  • gbt
  • supercharger
  • other
  • unknown
ตั้งค่าเมื่อ fueltypes มี electric เท่านั้น

แก้ปัญหา

บางครั้ง DHU อาจแสดงหน้าจอว่างเปล่าเมื่อเชื่อมต่อครั้งแรก คุณสามารถหลีกเลี่ยงปัญหานี้ได้ด้วยการดำเนินการต่อไปนี้

  1. ปิด DHU
  2. ทำตามขั้นตอนที่ 5 ที่อธิบายไว้ในส่วนเรียกใช้ DHU เพื่อหยุดและรีสตาร์ท เซิร์ฟเวอร์หน่วยส่วนหัว
  3. เริ่มใช้ DHU อีกครั้ง
  4. ให้สิทธิ์เพิ่มเติมตามที่ขอบนหน้าจอโทรศัพท์ DHU อาจปิดตัวลงอีกครั้ง
  5. รีสตาร์ท DHU หากจำเป็น