Kiểm thử bằng Đầu phát trung tâm trên máy tính

Đầu phát trung tâm trên máy tính (DHU) hỗ trợ máy phát triển mô phỏng đầu phát trung tâm Android Auto để bạn có thể chạy và kiểm thử ứng dụng Android Auto. DHU chạy trên hệ thống Windows, macOS và Linux.

Sau khi cài đặt DHU, bạn có thể kiểm thử các ứng dụng Android Auto bằng cách kết nối thiết bị di động của bạn với thiết bị này qua một trong những cơ chế kết nối được hỗ trợ như mô tả trong phần Chạy DHU.

Để báo cáo lỗi hoặc yêu cầu tính năng liên quan đến DHU, hãy sử dụng công cụ theo dõi lỗi.

Cài đặt DHU

Làm theo các bước sau để cài đặt DHU trên máy phát triển của bạn:

  1. Bật chế độ nhà phát triển trên thiết bị di động chạy Android 6.0 (API cấp 23) trở lên, như mô tả trong mục Định cấu hình tuỳ chọn cho nhà phát triển trên thiết bị.
  2. Biên dịch và cài đặt ứng dụng của bạn trên thiết bị.
  3. Cài đặt Android Auto trên thiết bị. Nếu đã cài đặt Android Auto, hãy đảm bảo rằng bạn đang sử dụng phiên bản mới nhất.
  4. Trong Android Studio, hãy mở SDK Manager (Trình quản lý SDK) rồi chuyển đến thẻ SDK Tools (Bộ công cụ SDK), sau đó tải gói Android Auto Desktop Head Unit Emulator (Trình mô phỏng đầu phát trung tâm trên máy tính Android Auto).

Trình quản lý SDK hiển thị DHU 2.0

DHU được cài đặt trong thư mục SDK_LOCATION/extras/google/auto/.

  1. Trên hệ thống Linux hoặc macOS, hãy chạy lệnh sau trong thư mục đó để đảm bảo tệp nhị phân DHU có thể thực thi:

    chmod +x ./desktop-head-unit
    

Các bước bổ sung dành cho Linux

Nếu đang chạy DHU phiên bản 2.x trên hệ thống Linux, thì bạn cần cài đặt thêm một số thư viện. Tệp nhị phân DHU phụ thuộc vào GLIBC phiên bản 2.32 trở lên. Bạn có thể kiểm tra phiên bản GLIBC của hệ thống bằng cách chạy lệnh sau:

ldd --version

Nếu phiên bản thấp hơn 2.32, hãy cập nhật GLIBC lên 2.32 trở lên. Bạn có thể phải nâng cấp hệ điều hành lên một phiên bản tương thích với GLIBC 2.32 trở lên.

Bạn cũng phải cài đặt thư viện libc++1libc++abi1. Quy trình cài đặt khác nhau tuỳ thuộc vào bản phân phối Linux của bạn. Ví dụ: Trên các bản phân phối Linux lấy từ Debian, bạn có thể cài đặt thư viện bằng lệnh sau:

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

Cài đặt các phiên bản phát hành trước của DHU

Để có quyền truy cập vào các phiên bản phát hành trước của DHU, bạn có thể sử dụngphiên bản xem trước của Android Studio hoặc thay đổi kênh cập nhật của bản cài đặt Android Studio hiện có thành kênh thử nghiệm beta.

Chạy DHU

Sau khi cài đặt DHU, bạn có thể kiểm thử các ứng dụng Android Auto bằng cách kết nối thiết bị di động và máy trạm của bạn qua USB. Chạy DHU bằng cách kết nối thiết bị di động của bạn với một máy phát triển bằng Chế độ phụ kiện (khuyên dùng cho DHU 2.x) hoặc Đường hầm ADB.

Kết nối bằng Chế độ phụ kiện

Android Auto hỗ trợ kết nối với DHU phiên bản 2.x bằng giao thức Phụ kiện mở Android (AOA), thông qua lệnh sau:

./desktop-head-unit --usb

Theo mặc định, DHU quét qua danh sách các thiết bị USB có sẵn và cố gắng kết nối với một thiết bị tương thích đầu tiên. Để nhắm mục tiêu một thiết bị cụ thể, hãy đưa mã thiết bị vào trong lệnh --usb như sau:

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

Kết nối bằng kỹ thuật tạo đường hầm ADB

Phương thức này yêu cầu thiết lập kết nối tới máy chủ đầu phát trung tâm của Android Auto qua Cầu gỡ lỗi Android (adb). Hãy làm theo các bước sau để thiết lập kỹ thuật tạo đường hầm và chạy DHU:

  1. Bật chế độ nhà phát triển Android Auto nếu chưa bật.
  2. Nếu máy chủ đầu phát trung tâm chưa chạy, hãy mở trình đơn mục bổ sung rồi chọn Khởi động máy chủ đầu phát trung tâm như minh hoạ trong hình 1.

    Trên thiết bị, một dịch vụ trên nền trước sẽ xuất hiện trong khu vực thông báo cho biết máy chủ đang chạy, như minh hoạ trong hình 2.

    Trình đơn theo bối cảnh có tuỳ chọn cho nhà phát triển

    Hình 1. Trình đơn theo bối cảnh có tuỳ chọn cho nhà phát triển.

    Thông báo cho biết rằng máy chủ đầu phát trung tâm đang chạy

    Hình 2. Thông báo cho biết rằng máy chủ đầu phát trung tâm đang chạy.

  3. Trong ứng dụng Android Auto, hãy nhấn vào Các ô tô đã kết nối trước đây ở gần phía trên cùng của phần Cài đặt và đảm bảo bật tuỳ chọn Thêm ô tô mới vào Android Auto.

  4. Kết nối thiết bị di động với máy phát triển bằng USB.

  5. Đảm bảo thiết bị di động đã mở khoá màn hình để có thể khởi chạy DHU.

  6. Trên máy phát triển, chạy lệnh adb sau đây để chuyển tiếp các kết nối ổ cắm (socket connection) từ cổng 5277 của máy phát triển đến cùng mã số cổng trên thiết bị Android. Cấu hình này cho phép DHU kết nối với máy chủ đầu phát trung tâm chạy trên thiết bị di động qua ổ cắm TCP.

    adb forward tcp:5277 tcp:5277
    
  7. Khởi động DHU bằng cách chạy lệnh desktop-head-unit.exe trên Windows hoặc ./desktop-head-unit trên macOS hay Linux từ thư mục SDK_LOCATION/extras/google/auto/.

    cd SDK_LOCATION/extras/google/auto
    desktop-head-unit.exe # Windows
    ./desktop-head-unit # macOS or Linux
    

DHU chạy trên máy phát triển

  1. Nếu đây là lần đầu tiên bạn kết nối thiết bị di động với DHU, hãy kiểm tra màn hình của thiết bị di động để chấp nhận điều khoản dịch vụ và điều chỉnh các chế độ cài đặt quyền nếu cần.

Sau khi DHU khởi động, bạn có thể sử dụng các lệnh trong bảng điều khiển DHU để chạy và kiểm thử ứng dụng của bạn.

Tuỳ chọn dòng lệnh

Theo mặc định, máy chủ đầu phát trung tâm kết nối qua cổng 5277. Để ghi đè máy chủ lưu trữ hoặc cổng, hãy sử dụng cờ --adb=<[localhost:]port> như minh hoạ trong ví dụ sau:

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

Theo mặc định, DHU mô phỏng một đầu phát trung tâm tương thích với Android Auto có giao diện người dùng trên màn hình cảm ứng. Mô phỏng các thao tác chạm của người dùng bằng cách nhấp vào DHU bằng chuột. Để mô phỏng đầu phát trung tâm sử dụng bộ điều khiển xoay để nhập, bạn có thể sử dụng cờ -i rotary như minh hoạ trong ví dụ sau:

./desktop-head-unit -i controller

Khi DHU đang ở chế độ bộ điều khiển xoay, bạn có thể sử dụng phím tắt để mô phỏng các thao tác của bộ điều khiển. Xem Bộ điều khiển xoay để biết thêm thông tin chi tiết. Ở chế độ bộ điều khiển xoay, DHU bỏ qua các lần nhấp chuột. Bạn phải vận hành Android Auto bằng các thao tác của bộ điều khiển xoay được mô phỏng.

Các tuỳ chọn dòng lệnh khác cho DHU được liệt kê trong bảng sau:

Tuỳ chọn Nội dung mô tả
-c, --config=FILE Sử dụng tệp .ini cấu hình được chỉ định. Tham khảo phần Định cấu hình phần DHU để biết thêm chi tiết.
-i, --input=INPUT Sử dụng chế độ nhập đã chỉ định, một trong các chế độ sau: touch, rotary hoặc hybrid.
-a, --adb=HOSTPORT Sử dụng phương thức truyền tải ADB. host:port hoặc port (không bắt buộc). Mặc định là cổng 5277.
-a, --usb=DEVICE_ID Sử dụng cổng USB AOA. DEVICE_ID không bắt buộc.
-v, --version Hiển thị thông tin phiên bản.
-l, --licenses Hiển thị giấy phép nguồn mở
-h, --headless Chạy ở chế độ không có giao diện người dùng.
-t, --always_show_window_on_top Hiển thị cửa sổ DHU ở trên các cửa sổ khác (tắt theo mặc định)
-?, --help Hiện danh sách trợ giúp.

Hướng dẫn sử dụng DHU

Phần này mô tả các tính năng mà DHU hỗ trợ và cách sử dụng các tính năng đó.

Các lệnh được nhập vào cửa sổ dòng lệnh mà bạn đã khởi động DHU. Bạn có thể chạy nhiều lệnh trên cùng một dòng bằng cách phân tách các lệnh bằng ;.

Hệ thống

Lệnh Phím Nội dung mô tả
help [command] Hiện toàn bộ lệnh. Nếu tên lệnh được chỉ định, sẽ có nội dung trợ giúp cho lệnh đó.
quit
exit
Alt + Q Thoát khỏi đầu phát trung tâm.
sleep [seconds] Ngủ trong một giây. Nếu bạn chỉ định độ trễ, thì DHU sẽ ngủ trong khoảng seconds đó. Bạn có thể sử dụng lệnh này để viết tập lệnh đầu phát trung tâm với ./desktop-head-unit < script.txt, ví dụ như trong môi trường CI.
screenshot filename.png Lưu ảnh chụp màn hình vào filename.png.
licenses Hiển thị giấy phép của các thư viện được sử dụng trong DHU.
keycode keycode Gửi keycode, một trong những tên nêu trong phần Mã phím.

Thao tác chạm và bàn di chuột

Khi kích hoạt thao tác chạm hoặc bàn di chuột, thao tác nhấp vào cửa sổ hiển thị (đối với thao tác chạm) hoặc cửa sổ bàn di chuột (đối với bàn di chuột) sẽ được đăng ký làm sự kiện chạm.

Đối với thao tác chạm, hãy mô phỏng khả năng cảm ứng đa điểm bằng cách nhấp chuột phải vào vị trí ngón tay đầu tiên, sau đó nhấp và giữ nút bên phải cho ngón tay thứ hai. Điểm chính giữa của 2 ngón tay vẫn nằm cố định; thao tác di chuyển chuột sẽ cho phép bạn xoay 2 ngón tay quanh điểm giữa, chụm 2 ngón tay vào và duỗi 2 ngón tay ra (hoặc cả hai).

Đối với bàn di chuột, hãy nhấp và giữ nút bên trái để di chuyển giữa các phần tử trên giao diện người dùng trên màn hình. Nếu bạn nhấp vào nút bên phải, phần tử có tiêu điểm sẽ được chọn.

Lệnh Phím Nội dung mô tả
tap x y Mô phỏng một sự kiện chạm tại các toạ độ được chỉ định.

Bộ điều khiển xoay

DHU có hỗ trợ bộ điều khiển xoay. Khi bộ này được bật, các thao tác sau sẽ được hỗ trợ:

  • Nhấp lên, xuống, trái và phải trên D-pad
  • Xoay theo chiều kim đồng hồ và ngược chiều kim đồng hồ
  • Xoay cổ tay (5 bước cùng một lúc)
  • Nhấp vào nút xuống và quay lại trên bộ điều khiển

Các lệnh và liên kết phím được liệt kê trong bảng sau.

Con lăn chuột sẽ gửi lệnh dpad rotate, còn nút nhấp chuột ở giữa (thường là con lăn chuột) sẽ gửi lệnh dpad click.

Hãy lưu ý rằng hầu hết các xe ô tô đều có màn hình cảm ứng. Một số xe chỉ có bộ điều khiển xoay và một số có bộ điều khiển và màn hình cảm ứng kết hợp. Ô tô cũng có thể hỗ trợ bàn di chuột có thể dùng để kéo bản đồ và nhập văn bản. Hãy lưu ý đến các cấu hình khác nhau này khi mô phỏng các đầu phát trung tâm khác nhau dành cho xe.

Lệnh Phím Nội dung mô tả
dpad {up|down|left|right} Các phím mũi tên Di chuyển bộ điều khiển xoay.
dpad {ur|dl|ul|dr} Di chuyển bộ điều khiển xoay.
dpad soft {left|right} Shift + Các phím mũi tên Nhấn vào các nút bên có trên một số bộ điều khiển xoay.
dpad click Quay lại Nhấn vào bộ điều khiển xoay.
dpad back Phím Backspace Nhấn vào nút quay lại ở bên dưới một số bộ điều khiển xoay.
dpad rotate left 1 Xoay bộ điều khiển xoay ngược chiều kim đồng hồ (sang trái).
dpad rotate right 2 Xoay bộ điều khiển xoay theo chiều kim đồng hồ (sang phải).
dpad flick left Shift + 1 Xoay nhanh bộ điều khiển xoay ngược chiều kim đồng hồ.
dpad flick right Shift + 2 Xoay nhanh bộ điều khiển xoay theo chiều kim đồng hồ.
dpad 0-9*#+ Bàn phím số

Micrô

DHU hỗ trợ sử dụng micrô để nhập bằng giọng nói hoặc phát bản âm thanh được ghi sẵn. Để thuận tiện, các tệp âm thanh sau đây cho các lệnh thoại phổ biến sẽ đi kèm với DHU. Những tệp âm thanh này nằm trong thư mục SDK_LOCATION/extras/google/auto/voice/.

Tên tệp Văn bản
navhome.wav Chỉ đường đến nhà riêng.
navwork.wav Chỉ đường đi làm.
navsoh.wav Chỉ đường đến Nhà hát Opera Sydney.
navgoogle.wav Chỉ đường đến 1600 Amphitheatre Parkway, California, Hoa Kỳ.
exitnav.wav Kết thúc chế độ chỉ đường.
howlong.wav Còn bao lâu nữa là đến nơi?
showtraffic.wav Hiển thị tình hình giao thông.
showalternateroute.wav Hiện các tuyến đường thay thế.
pause.wav Tạm dừng nhạc.
nextturn.wav Khi nào thì đến ngã rẽ tiếp theo?

Để chạy từng tệp .wav trong lời nhắc DHU, hãy dùng lệnh sau:

mic play /path/to/filename.wav

Bảng sau đây liệt kê các lệnh khác liên quan đến micrô:

Lệnh Phím Nội dung mô tả
mic begin M Kích hoạt micrô, mô phỏng một cú nhấp vào nút vô lăng và chờ nhập dữ liệu từ micrô trên máy tính.
mic play filename.wav Kích hoạt micrô và phát bản ghi tệp WAV đã chỉ định. Lưu ý: Bạn sẽ không nghe thấy tệp WAV đang phát, nhưng sẽ nghe thấy phản hồi từ Android Auto.
mic repeat Lặp lại bản ghi cuối cùng được dùng với mic play.
mic reject {on|off} Bật hoặc tắt tính năng từ chối yêu cầu micrô. Khi bạn bật tính năng này, mọi yêu cầu micrô sẽ bị từ chối.

Cảm biến

DHU hỗ trợ mô phỏng các thay đổi trong dữ liệu cảm biến của xe bằng các lệnh sau đây. Để mô phỏng dữ liệu cảm biến và gửi dữ liệu này đến Android Auto, bạn phải bật các cảm biến tương ứng bằng tệp cấu hình .ini đã dùng khi khởi động DHU.

Lệnh Nội dung mô tả
fuel [percentage] Đặt mức nhiên liệu ở mức phần trăm đã chỉ định hoặc huỷ bỏ mức nhiên liệu (không truyền giá trị nào).
range [km] Đặt quãng đường thành số km được chỉ định hoặc huỷ kích hoạt dữ liệu quãng đường (không truyền giá trị nào).
lowfuel [{on|off}] Đặt cảm biến cảnh báo mức nhiên liệu thấp hoặc tắt cảm biến (không truyền giá trị nào).
accel [x] [y] [z] Đặt gia tốc kế thành các giá trị x, y và z đã chỉ định (m/s^2) hoặc bỏ đặt dữ liệu gia tốc kế (không truyền tham số nào). Truyền NAN để bỏ qua các tham số không bắt buộc nếu cần.
compass bearing [pitch] [roll] Đặt la bàn theo giá trị góc phương vị, bước dịch chuyển và con lăn được chỉ định (độ). Truyền NAN để bỏ qua các tham số không bắt buộc nếu cần.
gyro [x] [y] [z] Đặt con quay hồi chuyển thành tốc độ xoay x, y và z xác định (rad/giây) hoặc bỏ đặt dữ liệu con quay hồi chuyển (không truyền tham số nào). Truyền NAN để bỏ qua các tham số không bắt buộc nếu cần.
location lat long [accuracy] [altitude] [speed] [bearing] Đặt vị trí thành giá trị vĩ độ và kinh độ được chỉ định cùng với độ chính xác tuỳ chọn (m), cao độ (m), tốc độ (m/s) và góc phương vị (độ). Truyền NAN để bỏ qua các tham số không bắt buộc nếu cần.
odometer km [current_trip_km] Đặt công tơ mét thành số km đã chỉ định cùng với giá trị km tuỳ chọn cho chuyến đi hiện tại.
speed [speed] Đặt tốc độ của xe thành giá trị được chỉ định (m/s) hoặc tắt cảm biến (không truyền giá trị nào).
tollcard {insert|remove} Chèn hoặc loại bỏ thẻ thu phí cầu đường.
gps_satellite number_in_use [[azimuth] [elevation] [prn] [snr] [used_in_fix]] Thiết lập cảm biến vệ tinh GPS thành số được chỉ định trong khoảng giá trị sử dụng cùng với danh sách không bắt buộc gồm các góc phương vị (trong phạm vi 0 đến 360 độ), độ cao (trong phạm vi 0 đến 90 độ), prn (nhiễu ngẫu nhiên giả), snr (dB) và được dùng trong bản sửa lỗi (true hoặc false).
parking_brake engaged Thiết lập cảm biến phanh đỗ xe thành true hoặc false.
gear gear_value Thiết lập cảm biến động cơ thành giá trị được chỉ định (ví dụ: 0 khi không di chuyển, 100 khi lái xe, 101 khi đỗ xe và 102 khi lùi).

Chế độ ban ngày và ban đêm

DHU hỗ trợ mô phỏng việc thay đổi giữa chế độ ban ngày và ban đêm bằng các lệnh và các liên kết phím sau:

Lệnh Phím Mô tả
day Shift + N Kích hoạt chế độ ban ngày – độ sáng cao, màu đầy đủ.
night Ctrl + N Kích hoạt chế độ ban đêm – độ sáng thấp, độ tương phản cao.
daynight
nightday
N Bật/tắt chế độ ngày hoặc đêm.

Quản lý chế độ tập trung

DHU hỗ trợ mô phỏng việc Android Auto có tập trung vào đầu phát trung tâm bằng các lệnh sau hay không:

Lệnh Nội dung mô tả
focus video {on|off|toggle} Bật hoặc tắt chế độ tập trung vào phát video trên đầu phát trung tâm. Thao tác tắt chế độ tập trung vào phát video sẽ mô phỏng quá trình đầu phát trung tâm chuyển sang chế độ gốc.
focus audio {on|off|toggle} Bật hoặc tắt chế độ tập trung vào phát âm thanh trên đầu phát trung tâm. Thao tác tắt chế độ tập trung vào phát âm thanh sẽ mô phỏng quá trình đầu phát trung tâm phát nguồn âm thanh riêng.
focus nav {on|off|toggle} Bật hoặc tắt chế độ tập trung vào chỉ đường trên đầu phát trung tâm. Thao tác tắt chế độ tập trung vào chỉ đường sẽ mô phỏng quá trình đầu phát trung tâm đang chạy hệ thống di chuyển riêng.

Hạn chế và trạng thái lái xe

DHU hỗ trợ mô phỏng một số hạn chế nhất định khi xe đang di chuyển, chẳng hạn như tắt bàn phím và không cho phép cấu hình điện thoại bằng các lệnh sau:

Lệnh Phím Nội dung mô tả
restrict none U Tắt tất cả các hạn chế.
restrict all Shift + U Bật tất cả các hạn chế, chẳng hạn như mô phỏng việc lái xe.

Cụm đo lường

DHU hỗ trợ mô phỏng một cụm đo lường. Cụm này thường ở phía sau vô lăng và hiện thông tin cơ bản trong khi di chuyển tới ngã rẽ tiếp theo (chẳng hạn như tên đường tiếp theo hoặc mũi tên chỉ ngã rẽ), khoảng cách hoặc thời gian. Cụm này cũng hiện thông tin về các cuộc gọi điện thoại đang diễn ra.

Cửa sổ cụm đo lường của DHU hiển thị cả thông tin di chuyển và thông tin về trạng thái cuộc gọi

Bạn có thể bật tính năng này bằng cách sử dụng mục instrumentcluster trong phần [general] của tệp cấu hình hoặc bằng các mục navcluster hay phonecluster để điều khiển riêng từng tính năng.

[general]
...
instrumentcluster = true

Màn hình cụm đồng hồ

Một số xe có màn hình cụm đồng hồ có khả năng hiển thị thông tin trực quan phong phú, chẳng hạn như ô bản đồ. Kể từ phiên bản 2.1 của DHU (hiện được cung cấp trong kênh cập nhật Android Studio Beta), bạn có thể mô phỏng một màn hình như vậy trên máy phát triển của mình.

Bạn có thể thực hiện việc này bằng cách sử dụng tệp cấu hình có phần [display] của cụm đồng hồ. Các phần [display] hỗ trợ các tuỳ chọn cấu hình video giống như màn hình chính được định cấu hình trong phần [general] của tệp.

Hình 3. Màn hình chính khi chạy DHU với màn hình hiển thị cụm đồng hồ phụ.
Hình 4. Màn hình hiển thị cụm khi chạy DHU với màn hình cụm đồng hồ phụ.
...

# 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
...

Bạn có thể thêm cấu hình này trực tiếp vào tệp .ini hiện có hoặc sử dụng lại bằng cách đưa vào một tệp riêng và chuyển nhiều tệp cấu hình khi chạy DHU. Khi sử dụng nhiều tệp cấu hình, các định nghĩa sau đó của một giá trị cụ thể sẽ ghi đè các định nghĩa trước đó.

# 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

Trạng thái phát nội dung nghe nhìn

DHU hỗ trợ một màn hình thông tin bổ sung để hiển thị trạng thái phát nội dung nghe nhìn, chẳng hạn như bản nhạc nào đang phát.

Cửa sổ trạng thái phát nội dung nghe nhìn của DHU hiển thị thông tin phát

Bạn có thể bật tính năng này bằng cách sử dụng mục playbackstatus trong phần [general].

[general]
...
playbackstatus = true

Mã phím

DHU cung cấp một bộ mã phím mặc định mô phỏng tập hợp các nút phím tắt thường có trên các loại xe. Ví dụ: Bạn có thể kích hoạt mã phím home trong lời nhắc DHU như sau:

keycode home

Bảng sau liệt kê các mã phím khác có sẵn:

Mã phím Nội dung mô tả
home Đi tới màn hình chính.
back Quay lại.
call
endcall
Gọi hoặc kết thúc cuộc gọi.
search Kích hoạt yêu cầu tìm kiếm.
media_play_pause
media_play
media_pause
Phát hoặc tạm dừng nội dung nghe nhìn.
media_next
media_previous
Chuyển đến bản nhạc nội dung nghe nhìn tiếp theo hoặc trước đó.
media Đi tới ứng dụng đa phương tiện mặc định.
navigation Đi tới ứng dụng di chuyển mặc định.
tel Đi tới ứng dụng điện thoại mặc định.

Định cấu hình DHU

DHU hỗ trợ tệp .ini cấu hình để thay đổi chế độ nhập giữa bộ điều khiển cảm ứng và xoay, đồng thời để đặt tốc độ khung hình, độ phân giải và DPI mà đầu phát trung tâm yêu cầu từ điện thoại.

Vị trí mặc định cho tệp cấu hình là ~/.android/headunit.ini. Để thay đổi cấu hình của đầu phát trung tâm trên hệ thống, bạn có thể sửa đổi tệp này.

Bạn cũng có thể chỉ định tệp cấu hình cần tải bằng cách sử dụng cờ -c:

./desktop-head-unit -c /path/to/config.ini

Đoạn mã sau đây cho thấy cấu hình mẫu:

[general]
touch = true
touchpad = false
controller = false
instrumentcluster = false
resolution = 800x480
dpi = 160
framerate = 30
fueltypes = unleaded,electric,hydrogen
evconnectors = supercharger

Các tệp cấu hình mẫu minh hoạ các chế độ cài đặt đầu phát trung tâm khác nhau mà bạn có thể kiểm thử nằm trong thư mục SDK_LOCATION/extras/google/auto/config/. Để biết thêm các trường hợp sử dụng nâng cao, vui lòng tham khảo các chế độ cài đặt được hỗ trợ sau.

Cấu hình chế độ nhập

Bảng sau đây liệt kê các tuỳ chọn cấu hình chế độ nhập:

Tên Mặc định Loại Mô tả
inputmode default Chuỗi Xác định chế độ nhập. Các tuỳ chọn touch, rotaryhybrid sẽ kích hoạt và huỷ kích hoạt tính năng màn hình cảm ứng, cũng như hỗ trợ xoay, đồng thời đặt mã phím mặc định, nếu thích hợp. default tuân theo các tuỳ chọn touchcontroller.
controller false Boolean Bật chế độ nhập bằng bộ điều khiển xoay. Bỏ qua trừ khi inputmodedefault.
touch true Boolean Kích hoạt màn hình cảm ứng. Bỏ qua trừ phi inputmodedefault.
touchpad false Boolean Bật bàn di chuột.
touchpadnavigation false Boolean Bật bàn di chuột cần dùng trong thao tác trên giao diện người dùng.
touchpadtapasselect false Boolean Khi đúng, thao tác nhấn vào bàn di chuột là một sự kiện lựa chọn.
touchpaduiabsolute false Boolean Khi touchpadnavigationtrue, hãy đặt xem các thao tác nhấn sẽ được coi là tuyệt đối hay là cử chỉ.

Cấu hình video

Android Auto hỗ trợ 3 độ phân giải video:

  • 480p (800 x 480, mặc định)
  • 720p (1280 x 720)
  • 1080p (1920 x 1080)

Để hỗ trợ các tỷ lệ khung hình khác, đầu phát trung tâm có thể chỉ định lề cho hòm thư (cột hòm thư) khi cần. Ví dụ: nếu bạn muốn màn hình 1000 x 600, hãy đặt độ phân giải thành 720p (1280 x 720), marginwidth là 280 và marginheight là 120. Cách làm này có tác dụng cộng thêm lề 140 px ở cạnh trái và phải cũng như 60 px ở trên và dưới cùng.

Cấu hình mẫu sau mô phỏng một màn hình 6 inch thông thường (750 x 450):

[general]
...
resolution = 800x480
marginwidth = 50
marginheight = 30

Ngoài ra, cấu hình mẫu sau mô phỏng một màn hình rất rộng:

[general]
...
resolution = 1280x720
marginwidth = 0
marginheight = 220

Bảng sau đây liệt kê các tuỳ chọn cấu hình video khác:

Tên Mặc định Loại Mô tả
resolution 800x480 Chuỗi Một trong các độ phân giải: 800x480, 1280x720, 1920x1080.
dpi 160 Integer
normalizedpi false Boolean Khi true, hãy giảm kích thước cửa sổ DHU để tính đến các giá trị DPI lớn hơn. Khi false, giá trị DPI lớn hơn sẽ dẫn đến cửa sổ lớn hơn, không bắt chước màn hình thực tế nhưng giúp kiểm tra nội dung hình ảnh.
realdpi 160 Số nguyên Dùng trong cấu hình video.
framerate 30 Integer Dùng trong cấu hình video.
marginheight 0 Integer Dùng trong cấu hình video.
marginwidth 0 Integer Dùng trong cấu hình video.
margins 0,0,0,0 Chuỗi Dùng trong cấu hình video. Ghi đè marginwidthmarginheight nếu có. Định dạng là trên, dưới, bên trái, bên phải.
contentinsets 0,0,0,0 Chuỗi Dùng trong cấu hình video. Định dạng là trên, dưới, bên trái, bên phải.
stablecontentinsets 0,0,0,0 Chuỗi Dùng trong cấu hình video. Giá trị mặc định là giá trị contentinsets. Định dạng là trên, dưới, bên trái, bên phải.
cropmargins false Boolean Nếu bạn chỉ định margins, marginheight hoặc marginwidth, thì giá trị true của chế độ cài đặt này sẽ xoá các lề đó khỏi video được hiển thị. Điều này phản ánh sát sao hơn về những nội dung người dùng cuối nhìn thấy.
pixelaspectratio 1.0 Độ chính xác đơn Dùng trong cấu hình video.

Cấu hình cảm biến

Để mô phỏng dữ liệu cảm biến và gửi dữ liệu này đến Android Auto, bạn phải bật các cảm biến tương ứng bằng các tuỳ chọn sau. Nếu bạn chưa bật một cảm biến, thì mọi dữ liệu được gửi cho cảm biến đó bằng các lệnh DHU sẽ bị bỏ qua. Bạn phải đặt cấu hình này trong phần [sensors], chứ không phải trong phần [general] dùng cho hầu hết các cấu hình khác.

[general]
touch = true
...

[sensors]
location = true
fuel = true
...
Tên Mặc định Loại Nội dung mô tả
accelerometer false Boolean Bật dữ liệu cảm biến gia tốc kế.
compass false Boolean Bật dữ liệu cảm biến la bàn.
driving_status false Boolean Bật dữ liệu cảm biến trạng thái lái xe.
fuel false Boolean Bật dữ liệu cảm biến nhiên liệu.
gyroscope false Boolean Bật dữ liệu cảm biến con quay hồi chuyển.
location false Boolean Bật dữ liệu cảm biến vị trí của xe.
night_mode false Boolean Bật dữ liệu cảm biến chế độ ban đêm.
odometer false Boolean Bật dữ liệu cảm biến của công tơ mét.
speed false Boolean Bật dữ liệu cảm biến tốc độ.
toll_card false Boolean Bật dữ liệu cảm biến thẻ thu phí cầu đường.
gps_satellite false Boolean Bật dữ liệu cảm biến vệ tinh GPS.
parking_brake false Boolean Bật dữ liệu cảm biến phanh đỗ xe.
gear false Boolean Bật dữ liệu cảm biến động cơ.

Các lựa chọn cấu hình khác

Bảng sau đây liệt kê các tuỳ chọn cấu hình khác:

Tên Mặc định Loại Nội dung mô tả
instrumentcluster false Boolean Bật nhóm dụng cụ. Thêm một cửa sổ vào giao diện người dùng để hiển thị trạng thái di chuyển và điện thoại.
navcluster false Boolean Bật nhóm dụng cụ. Thêm một cửa sổ vào giao diện người dùng để hiển thị trạng thái di chuyển.
phonecluster false Boolean Bật nhóm dụng cụ. Thêm một cửa sổ vào giao diện người dùng để hiển thị trạng thái điện thoại.
playbackstatus false Boolean Bật trạng thái phát. Thêm một cửa sổ vào giao diện người dùng để hiển thị thông báo trạng thái phát.
driverposition left Chuỗi Một trong số sau: left, center, hoặc right.
windowleft Integer Đặt vị trí bên trái của cửa sổ chính.
windowtop Integer Đặt vị trí trên cùng của cửa sổ chính.
fueltypes unleaded Chuỗi Một hoặc nhiều nội dung sau đây trong danh sách được phân tách bằng dấu phẩy:
  • unleaded
  • leaded
  • diesel-1
  • diesel-2
  • biodiesel
  • e85
  • lpg
  • cng
  • lng
  • hydrogen
  • electric
  • other
  • unknown
evconnectors Chuỗi Không có hoặc nhiều nội dung sau đây trong danh sách được phân tách bằng dấu phẩy:
  • j1772
  • mennekes
  • chademo
  • combo-1
  • combo-2
  • roadster
  • hpwc
  • gbt
  • supercharger
  • other
  • unknown
Chỉ đặt nếu fueltypes chứa electric.

Khắc phục sự cố

Đôi khi DHU hiện một màn hình trống khi kết nối lần đầu tiên. Bạn có thể giải quyết vấn đề này bằng cách làm theo những bước sau:

  1. Đóng DHU.
  2. Làm theo bước 5 được mô tả trong phần Chạy DHU để dừng và khởi động lại Máy chủ đầu phát trung tâm.
  3. Khởi động lại DHU.
  4. Cấp mọi quyền bổ sung được yêu cầu trên màn hình điện thoại. DHU có thể tắt thêm một lần nữa.
  5. Khởi động lại DHU nếu cần.