OBD Dữ liệu xe
Đọc RPM do xe cung cấp, nhiệt độ nước làm mát, nhiệt độ dầu, nhiên liệu và các thông số khác thông qua bộ chuyển đổi Bluetooth tương thích. Bài viết này giải thích các điều kiện đọc, cấu hình tham số, cập nhật dữ liệu và các quy tắc sử dụng số đọc trong thiết bị và hành trình.
Thông số xe và kết quả đọc
OBD được sử dụng để đọc dữ liệu do bộ điều khiển phương tiện cung cấp. Bộ điều khiển phương tiện, còn được gọi là ECU, chịu trách nhiệm về động cơ, hộp số và các hệ thống khác; CapDrive gửi yêu cầu đến các bộ điều khiển này thông qua bộ chuyển đổi và chuyển đổi dữ liệu nhận được thành số đọc.
"Thông số" trong ứng dụng là một phần dữ liệu cần đọc và hiển thị, chẳng hạn như tốc độ động cơ (RPM), nhiệt độ nước làm mát hoặc trạng thái. Nó chứa các yêu cầu đọc, công thức chuyển đổi và đơn vị. Các tham số dạng số có thể được sử dụng cho các con số, tiến trình hoặc đường cong; các tham số trạng thái có thể được hiển thị dưới dạng D, P, v.v. thông qua ánh xạ văn bản.
Ví dụ: có thể lấy tham số nhiệt độ chất làm mát bằng cách sử dụng yêu cầu 0105 để lấy byte dữ liệu A và được chuyển đổi theo A - 40. Nếu giá trị thập phân của byte trả về là 123 thì kết quả là 83 °C. Phương thức kết nối, định nghĩa yêu cầu và quy tắc chuyển đổi phải chính xác để có được số đọc có thể sử dụng được.
Những thông số mà xe hỗ trợ tùy thuộc vào kiểu xe, năm sản xuất, hệ thống điện và trạng thái bộ điều khiển. Chỉ có thể đọc các giá trị thực tế do xe cung cấp và việc sửa đổi tên hoặc đơn vị không làm tăng khả năng dữ liệu của chính xe.
Phạm vi hỗ trợ và điều kiện sử dụng
Kết nối OBD của xe yêu cầu CapDrive Plus, Bộ chuyển đổi Bluetooth năng lượng thấp (BLE) hỗ trợ hướng dẫn ELM327 và quyền Bluetooth trên iPhone. Bộ điều hợp Bluetooth cổ điển và Wi-Fi hiện không được hỗ trợ.
Chỉ sau khi cắm bộ chuyển đổi vào giao diện OBD của xe và bật nguồn theo yêu cầu của xe thì Ứng dụng mới có thể giao tiếp với xe. Một số thông số nhất định yêu cầu xe phải ở trạng thái cụ thể, chẳng hạn như bộ điều khiển đang bật, động cơ đang chạy hoặc hệ thống tương ứng đang hoạt động. Việc bao gồm "Bluetooth" trong tên của bộ chuyển đổi không chỉ chứng minh rằng nó tuân thủ BLE và chỉ thị.
Việc đọc OBD, Không cần phải bắt đầu cuộc hành trình trước, có thể được xem và kiểm tra trong danh sách tham số hoặc trình soạn thảo tham số. Việc chuyến đi trên điện thoại di động có bắt đầu hay không không quyết định liệu xe có trả về nhiệt độ nước làm mát, tốc độ (RPM) và các thông số khác hay không.
CapDrive hỗ trợ cấu hình yêu cầu đọc các dịch vụ hex 01, 21, 22. Để sử dụng bình thường, có thể sử dụng cài đặt trước phù hợp với xe; địa chỉ và công thức yêu cầu cụ thể phải tuân theo định nghĩa thông số đặt trước hoặc thông số xe.
Quản lý kết nối và thiết bị
Mục nhập: Thêm (…) → Kết nối OBD của xe. Trang thiết bị hiển thị các bộ điều hợp gần đó và các thiết bị đã lưu, đồng thời cấu hình thông số của bộ điều hợp được lưu trong cài đặt thiết bị.
Kết nối và kết nối lại lần đầu tiên
Khi kết nối lần đầu tiên, Ứng dụng sẽ thiết lập giao tiếp Bluetooth, khởi chạy bộ chuyển đổi, xác định giao thức của xe và truy vấn xe để báo cáo các thông số tiêu chuẩn được hỗ trợ. Sau khi thành công, các thông số tiêu chuẩn có thể khởi tạo sẽ được thêm vào danh sách thiết bị. Việc các tham số tiêu chuẩn có giá trị ở trạng thái hiện tại hay không phụ thuộc vào kết quả đọc thực tế.
Khi một thiết bị hiện có kết nối lại, nó sẽ tiếp tục sử dụng cấu hình ban đầu, bao gồm các thông số đã sửa đổi và danh sách bị xóa tích cực. Sau khi xóa một tham số, việc kết nối lại sẽ không thêm lại tham số đó. Khi cần đọc bổ sung, có thể nhập các thông số cài sẵn hoặc mới.
Nguồn dữ liệu hiện tại
"Thiết bị hiện tại" dùng để chỉ bộ chuyển đổi đang cung cấp dữ liệu xe cho CapDrive. Mỗi lần chỉ có thể sử dụng một thiết bị làm nguồn dữ liệu hiện tại. Các thông số và cài đặt của từng thiết bị được lưu độc lập; khi chuyển sang thiết bị khác, tham chiếu thông số của thiết bị trước đó sẽ không được tự động sử dụng.
Ngắt kết nối vẫn giữ lại cấu hình. Bỏ qua thiết bị sẽ xóa cấu hình và bộ đệm của thiết bị. Khi cần di chuyển các tham số, bạn có thể xuất cấu hình rồi nhập cấu hình đó vào thiết bị đích; đối với các công cụ tùy chỉnh, bạn nên chọn lại các thông số trong thiết bị đích.
Cài đặt trước tham số và tập tin cấu hình
Mặc định là một tập hợp các cấu hình đọc tham số đã được viết sẵn, loại bỏ nhu cầu điền vào các yêu cầu và công thức theo từng mục. Giá trị đặt trước OBD-II tiêu chuẩn cung cấp các thông số tiêu chuẩn và giá trị đặt trước của mẫu xe cung cấp các định nghĩa thông số cho kiểu xe tương ứng. Khi chọn cài đặt sẵn cho model, bạn nên kiểm tra năm model và phiên bản nguồn.
Nhập vào thiết bị được chỉ định
Mở thư viện cấu hình từ cuối danh sách thông số thiết bị. Tải xuống trong Ứng dụng sẽ vào giao diện nhập của thiết bị; tải xuống tệp JSON qua trình duyệt có thể chọn Nhập cấu hình trong menu cài đặt thiết bị.
Danh sách nhập không được chọn theo mặc định và chỉ những tham số được chọn rõ ràng mới được lưu. Trước tiên, bạn có thể kiểm tra tên và số đọc hiện tại, sau đó kiểm tra cấu hình thông qua bánh răng bên phải. Đóng giao diện nhập sẽ không lưu các bản nháp chưa được xác nhận.
Bản sao và cập nhật cấu hình
Các tham số đã có cùng phương pháp đọc, quy tắc giải mã và đơn vị đầu ra sẽ được đánh dấu là trùng lặp và tiếp tục sử dụng mã định danh tham số ban đầu. Chỉ sửa đổi tên hiển thị không làm cho tham số tương tự trở thành mục đọc mới.
Một yêu cầu có thể cung cấp nhiều tham số, chẳng hạn như hai nhiệt độ trong cùng một phản hồi; cùng một tên cũng có thể đến từ các bộ điều khiển khác nhau hoặc các công thức khác nhau, do đó không thể đánh giá các bản sao trùng lặp chỉ bằng tên. Các mục có yêu cầu sửa đổi hoặc quy tắc giải mã được nhập dưới dạng tham số mới và không ghi đè các mục cũ chỉ bằng tên.
Khi được nhập vào bộ chuyển đổi khác, tham chiếu tham số riêng của thiết bị đích sẽ được thiết lập. Thiết bị tùy chỉnh nên chọn lại các tham số tương ứng của thiết bị đích trong liên kết đầu vào; giữ nguyên mã định danh đầu vào và không cần sửa đổi mã.
Ràng buộc tập tin
Cấu hình sử dụng JSON, mã nhận dạng định dạng là capdrive.obd và appVersion là phiên bản Ứng dụng bắt buộc; số phiên bản Ứng dụng hiện tại được ghi khi xuất. Khi phiên bản không đủ, bạn sẽ được nhắc nâng cấp. Một tệp có thể có tối đa 5 MiB và chứa tối đa 3.000 tham số. Tệp lưu cấu hình đã đọc và không chứa kết nối Bluetooth của thiết bị cũng như không đảm bảo rằng tất cả các mục sẽ có thể đọc được trên xe mục tiêu.
Cấu hình và giải mã tham số
Mở trình chỉnh sửa thông qua bánh răng bên phải các thông số. Phần sau đây mô tả các trường theo thứ tự "nội dung cần đọc từ xe → cách chuyển đổi → cách xác định tính hợp lệ". Đọc thử sử dụng cấu hình hiện tại trong trình chỉnh sửa để kiểm tra kết quả; sau khi nhấp vào Lưu, các sửa đổi sẽ trở thành cấu hình đã lưu của thiết bị.
Tên và tần suất cập nhật
Tên được sử dụng để xác định các thông số của xe. Giá trị nhận dạng nội bộ được ứng dụng tự động quản lý và không được điền vào trình chỉnh sửa tham số cũng như không được yêu cầu PID; cài đặt trước đã xuất không mang số nhận dạng gốc của thiết bị. Tập lệnh công cụ sử dụng mã định danh đầu vào được xác định riêng và chọn các thông số xe thông qua liên kết đầu vào.
Khoảng đọc (giây) được điền theo giây và phạm vi là 0.3–99999. Ví dụ: 1 giây có nghĩa là khoảng thời gian truy vấn đích là 1 giây. Bản cập nhật thực tế cũng bị ảnh hưởng bởi phản hồi của phương tiện, các yêu cầu khác và yêu cầu đọc hiện tại. Các mục hiển thị trong danh sách tham số, lựa chọn thiết bị và việc sử dụng dữ liệu chuyến đi tạo ra các yêu cầu đọc; việc chỉ nhập tham số không khiến toàn bộ danh sách luôn được thăm dò ở tần suất cố định. Các tham số có chung yêu cầu có thể được sử dụng lại trong phản hồi.
yêu cầu cài đặt
| Cánh đồng | Ý nghĩa và cách điền |
|---|---|
| Phục vụ | Danh mục yêu cầu, sử dụng số thập lục phân. Ví dụ: dịch vụ được yêu cầu cho 0105 là 01. |
| PID | Số mục dữ liệu trong dịch vụ này. Ví dụ: PID của 0105 là 05; 01 và 21 sử dụng PID hai chữ số và 22 sử dụng PID bốn chữ số. |
| Yêu cầu CAN ID | Địa chỉ người điều khiển phương tiện tiếp nhận yêu cầu. Khi để trống, giao thức sử dụng địa chỉ chức năng; mặc định phù hợp thường phải giữ lại địa chỉ ban đầu. |
| Phản hồi cho quá trình lọc CAN ID | Chỉ định phản hồi của bộ điều khiển nào được sử dụng để tránh chọn sai nguồn khi nhiều bộ điều khiển trả về dữ liệu. |
| Địa chỉ đích mở rộng, địa chỉ nhận mở rộng | Cấu hình địa chỉ liên lạc bổ sung để sử dụng bởi các giao thức xe yêu cầu nó. |
| Thông số thời gian chờ phản hồi | Cấu hình thời gian chờ thập lục phân được bộ chuyển đổi sử dụng, không được tính bằng giây; đó là một cài đặt khác với khoảng thời gian đọc. |
| Kiểm soát luồng CAN tùy chỉnh | Được sử dụng cho các yêu cầu yêu cầu cấu hình kiểm soát luồng cụ thể, do phương tiện tương ứng xác định. |
Công thức chuyển đổi, thứ tự byte và đơn vị
Phản hồi của xe thường là byte dữ liệu. A đại diện cho byte dữ liệu đầu tiên, B đại diện cho byte dữ liệu thứ hai, v.v., ngoại trừ tiêu đề giao thức. Công thức hỗ trợ số học, phép toán bitwise, so sánh, phép toán logic và biểu thức điều kiện; nó không phải là một tập lệnh có thể gọi các hàm JavaScript tùy ý.
Ví dụ: nhiệt độ nước làm mát sử dụng A - 40; tốc độ động cơ tiêu chuẩn (RPM) sử dụng (A * 256 + B) / 4. Nếu A = 26, B = 248, thì cái sau sẽ nhận được 1726 rpm. Công thức của tham số phải nhất quán với ý nghĩa của byte được yêu cầu trả về.
Độ bền quyết định cách diễn giải các trường nhiều byte: big-endian đặt byte thứ tự cao lên trước, endian nhỏ đặt byte thứ tự thấp lên đầu tiên. Ứng dụng sẽ thực thi công thức số sau thứ tự xử lý đã định cấu hình và công thức sẽ không được hoán đổi byte nhiều lần nữa.
Đơn vị của kết quả công thức cần phân biệt với đơn vị hiển thị. Việc sửa đổi tên đơn vị tùy chỉnh chỉ thay đổi nhãn và không sửa đổi giá trị công thức; khi chọn đơn vị hiển thị tương thích cho đại lượng vật lý tiêu chuẩn hiện có, Ứng dụng có thể thực hiện chuyển đổi tương ứng. Vui lòng kiểm tra các đơn vị ban đầu được sử dụng trong công thức để tránh chuyển đổi lặp lại.
Điều kiện đọc và phạm vi hợp lệ
| Cấu hình | Hiệu quả thực tế |
|---|---|
| Số byte phản hồi tối thiểu | Loại trừ các kết quả trả về có độ dài không đủ để ngăn quá trình tính toán tiếp tục khi thiếu byte. |
| Đọc điều kiện | Điều kiện được đánh giá trên các byte phản hồi thô, chẳng hạn như A != 0. Việc đọc này không khả dụng khi kết quả bằng 0, thiếu byte hoặc phép tính không thành công. |
| giá trị tối thiểu, giá trị tối đa | Kẹp kết quả số. Ví dụ: khi phạm vi hợp lệ được định cấu hình là 0–100, 120 sẽ được hiển thị là 100. Giá trị tối đa cần phải lớn hơn giá trị tối thiểu; nếu giá trị tối thiểu không được đặt, nó sẽ được coi là bằng 0. Chỉ đặt giá trị tối thiểu sẽ không giới hạn biên độ riêng. |
| Giới hạn dưới hiệu dụng, giới hạn trên hiệu dụng | Các kết quả không hợp lệ sẽ bị loại trừ, cũng như các ranh giới. Ví dụ: khi giới hạn trên là 100 thì không có kết quả lớn hơn hoặc bằng 100. |
Phản hồi vượt qua kiểm tra độ dài và đọc điều kiện trước khi được giải mã. Kết quả kỹ thuật số được giới hạn trước tiên, sau đó kiểm tra giới hạn trên và dưới hiệu quả; không có kết quả đọc nào được đưa ra khi không thể thu được giá trị hữu hạn. Điều kiện đọc sử dụng phản hồi thô trước khi chuyển đổi thứ tự byte.
ánh xạ văn bản
Ánh xạ văn bản hiển thị giá trị mà công thức thu được dưới dạng văn bản, chẳng hạn như 1 → D. Khóa hỗ trợ số thập phân và số âm và phải là giá trị hữu hạn duy nhất. 1.5 và 1.50 đại diện cho cùng một mục. Literal được phép là một chuỗi rỗng.
Khi ánh xạ được nhấn, chuỗi tương ứng sẽ được trả về; khi nó không được nhấn, một số được trả về khi Trả về số gốc khi không khớp được bật và null được trả về khi tắt. Cài đặt chưa từng có này được áp dụng khi có ánh xạ. Văn bản truy cập sẽ không tiếp tục thực hiện cắt kỹ thuật số.
Do đó, cùng một tham số có thể trả về một số, văn bản hoặc giá trị null và mã công cụ sẽ xử lý loại tham số thực tế. Khi xảy ra tình huống "một số giá trị có thể được hiển thị và các giá trị khác biến mất", bạn nên kiểm tra xem ánh xạ có khớp hay không và liệu cài đặt có khớp hay không.
Lưu và thông báo lỗi
Cấu hình không hợp lệ sẽ chỉ ra các trường và lý do, sau đó lưu hoặc kiểm tra sau khi sửa. PID của dịch vụ 01 và 21 là số thập lục phân có hai chữ số, 22 là bốn chữ số; CAN ID có 3 hoặc 8 chữ số và các tham số địa chỉ và thời gian chờ mở rộng là hai chữ số. Khoảng thời gian đọc là 0.3–99999 giây, số byte phản hồi tối thiểu là số nguyên 0–4096, đồng thời mỗi công thức và điều kiện đọc lên tới 1.024 UTF-8 byte. Giá trị phải được giới hạn, giá trị tối thiểu không được lớn hơn giá trị tối đa và giới hạn dưới hợp lệ phải nhỏ hơn giới hạn trên hợp lệ; phím ánh xạ văn bản không thể được lặp lại.
Thay thế dữ liệu chuyến đi
Thay dữ liệu chuyến đi làm cho số đọc cơ sở sử dụng tham số OBD đã chỉ định. Ví dụ: bằng cách chỉ định thông số tốc độ của xe là "Tốc độ", trường tốc độ cơ bản, đồng hồ đo tích hợp liên quan và hồ sơ chuyến đi có thể sử dụng thông số đọc của xe này.
Các mục tiêu thay thế bao gồm tốc độ, G dọc, G bên, cao độ và lăn. Chấp nhận km/h hoặc mph cho vận tốc, g hoặc m/s² cho gia tốc và độ hoặc radian cho góc. Ứng dụng sẽ chuyển đổi các đơn vị cần thiết cho mục tiêu.
Việc thay thế yêu cầu các tham số phải được cung cấp với số lượng, đơn vị và phạm vi thích hợp. Không thể sử dụng các tham số có ánh xạ văn bản để thay thế nét; kết quả ban đầu nằm ngoài phạm vi cấu hình cũng sẽ bị từ chối và các giá trị giới hạn sau khi giới hạn sẽ không được coi là phép đo hành trình hợp lệ.
Sử dụng nguồn này khi có số đọc OBD hợp lệ; quay trở lại dữ liệu di động khi số liệu đọc bị thiếu, hết hạn hoặc không hợp lệ. Việc đọc cơ sở này có thể vẫn trống khi nguồn di động cũng không khả dụng. Nhập tham số thông thường không tự động chỉ định mục tiêu thay thế.
Các thông số như nhiệt độ nước làm mát, tốc độ quay (RPM), v.v. có thể được hiển thị riêng trong thiết bị tùy chỉnh và các tham chiếu OBD của chúng có thể được sử dụng trực tiếp mà không cần định cấu hình thay thế hành trình.
Truy cập công cụ tùy chỉnh
Nhấp vào bánh răng bên cạnh Cài đặt đồng hồ → Liên kết đầu vào để nhập Cấu hình tham số và thêm đầu vào Dữ liệu OBD, ví dụ: mã định danh coolant. Quay lại liên kết đầu vào và chọn tham số Nhiệt độ nước làm mát trong Thiết bị cho nó. Kịch bản đọc qua $data.current.coolant; UUID của các thông số xe không cần phải ghi vào mã.
Các lần đọc bao gồm value và unit, ví dụ { value: 83, unit: '°C' }. Ánh xạ giá trị sang văn bản cũng có thể trả về chuỗi, loại này phải được kiểm tra trước khi định dạng số. Khi không bị ràng buộc, toàn bộ đầu vào là null; khi nó bị ràng buộc nhưng tạm thời không có khả năng đọc, value là null và unit vẫn lấy đơn vị cấu hình.
Sau khi nhập tác phẩm của người khác hoặc thay đổi bộ chuyển đổi, hãy kết nối lại đầu vào hiện có để tiếp tục sử dụng mã. Loại dự kiến được sử dụng cho gợi ý, giá trị trả về của xe không được truyền. Bản xem trước sử dụng đầu vào tương tự, đồng thời phải kiểm tra thiết bị hiện tại và Đọc thử khi xác nhận dữ liệu xe thực.
Hiệu lực dữ liệu và chẩn đoán lỗi
Trạng thái đọc
Kết nối hợp lệ, phản hồi được nhận và kết quả đọc hợp lệ là ba điều kiện khác nhau. Phản hồi có thể không tạo ra giá trị sử dụng được do độ dài không đủ, điều kiện đọc không thỏa mãn, công thức không hợp lệ hoặc thiếu ánh xạ văn bản.
Các bài đọc trong thời gian chạy có ngày hết hạn. Sau khi ngắt kết nối, lỗi đọc hoặc hết hạn dữ liệu, việc thay thế thiết bị và chuyến đi không được tiếp tục sử dụng giá trị cũ làm dữ liệu hợp lệ hiện tại. Danh sách tham số có thể giữ lại lần đọc thành công cuối cùng cho mục đích trình diễn không bằng đầu ra trực tiếp hợp lệ; kết quả yêu cầu hiện tại có thể được kiểm tra bằng Đọc thử.
Số 0 là giá trị hợp lệ và giá trị null có nghĩa là hiện không có kết quả đọc nào. Chuỗi trống trong bản đồ văn bản là kết quả văn bản trùng khớp, cũng khác với kết quả kiểm tra bị thiếu.
Xác định vị trí theo mức độ lỗi
| Hiệu suất | Phạm vi kiểm tra tương ứng |
|---|---|
| Không thể khám phá thiết bị | Bộ chuyển đổi được cấp nguồn, loại BLE, Bluetooth của iPhone và quyền ứng dụng. |
| Bluetooth đã được kết nối nhưng quá trình khởi tạo không thành công | Hỗ trợ lệnh bộ điều hợp, trạng thái liên lạc của xe và nhận dạng giao thức. |
| Danh sách tham số trống | Cấu hình đã lưu của thiết bị hiện tại, kết quả của truy vấn khả năng đầu tiên và liệu danh sách đã được xóa chủ động hay chưa. Việc kết nối lại sẽ không tự động khôi phục các mục đã xóa. |
| Không có cách đọc hợp lệ cho một tham số | Địa chỉ truy vấn và PID, độ dài phản hồi, điều kiện đọc, công thức giải mã, phạm vi và ánh xạ văn bản. |
| Giá trị tồn tại nhưng ý nghĩa hoặc đơn vị không bình thường. | Đặt trước xem mẫu xe áp dụng, thứ tự byte, công thức và đơn vị có nhất quán hay không. |
| Danh sách hiển thị giá trị cũ, đồng hồ không có giá trị | Việc đọc hiện tại đã hết hạn hay không đọc được; bộ đệm hiển thị danh sách không có nghĩa là dữ liệu thời gian thực hợp lệ. |
| Có số đọc hợp lệ nhưng đồng hồ tùy chỉnh không hiển thị | Thiết bị hiện tại, các tham số, biểu thức đã chọn và cách xử lý số, chữ và giá trị null của mã. |
| Việc thay đổi hành trình không có hiệu lực | Mục tiêu thay thế, loại giá trị tham số, khả năng tương thích đơn vị và phạm vi cũng như tính hợp lệ của kết quả đọc. |
Phản hồi về sự cố có thể bao gồm thông tin sau để phân biệt giữa các sự cố kết nối, sự cố cấu hình và sự cố hiển thị:
- Model, năm, phiên bản nguồn và model bộ chuyển đổi.
- Tên thiết bị hiện tại, giá trị đặt trước và thông số.
- Kiểm tra kết quả đọc hoặc lỗi cụ thể.
- Nó có ảnh hưởng đến tất cả các tham số hoặc tham số riêng lẻ hay không và liệu sự cố có xảy ra trong danh sách tham số, thay thế chuyến đi hoặc công cụ tùy chỉnh hay không.