OBD ข้อมูลยานพาหนะ
อ่าน RPM, อุณหภูมิน้ำหล่อเย็น, อุณหภูมิน้ำมัน, เชื้อเพลิง และพารามิเตอร์อื่นๆ ที่ยานพาหนะมอบให้ผ่านอะแดปเตอร์ Bluetooth ที่ใช้งานร่วมกันได้ บทความนี้จะอธิบายเงื่อนไขการอ่าน การกำหนดค่าพารามิเตอร์ การอัปเดตข้อมูล และกฎสำหรับการใช้การอ่านในเครื่องมือและการเดินทาง
พารามิเตอร์ของยานพาหนะและผลการอ่าน
OBD ใช้เพื่ออ่านข้อมูลที่จัดทำโดยตัวควบคุมยานพาหนะ ตัวควบคุมยานพาหนะหรือที่เรียกว่า ECU มีหน้าที่รับผิดชอบเกี่ยวกับเครื่องยนต์ ระบบส่งกำลัง และระบบอื่นๆ CapDrive ส่งคำขอไปยังคอนโทรลเลอร์เหล่านี้ผ่านอะแดปเตอร์ และแปลงข้อมูลที่ได้รับเป็นการอ่าน
"พารามิเตอร์" ในแอปคือชิ้นส่วนของข้อมูลที่จะอ่านและแสดง เช่น ความเร็วเครื่องยนต์ (RPM) อุณหภูมิน้ำหล่อเย็น หรือสถานะ โดยจะเก็บคำขออ่าน สูตรการแปลง และหน่วยต่างๆ พารามิเตอร์ตัวเลขสามารถใช้กับตัวเลข ความคืบหน้า หรือเส้นโค้งได้ พารามิเตอร์สถานะสามารถแสดงเป็น D, P ฯลฯ ผ่านการแมปข้อความ
ตัวอย่างเช่น สามารถรับพารามิเตอร์อุณหภูมิน้ำหล่อเย็นได้โดยใช้คำขอ 0105 เพื่อรับไบต์ข้อมูล A และแปลงตาม A - 40 หากค่าทศนิยมของไบต์ที่ส่งคืนคือ 123 ผลลัพธ์จะเป็น 83 °C วิธีการเชื่อมต่อ ข้อกำหนดคำขอ และกฎการแปลงจะต้องถูกต้องเพื่อให้ได้การอ่านที่ใช้งานได้
ยานพาหนะรองรับพารามิเตอร์ใดขึ้นอยู่กับรุ่น ปี ระบบไฟฟ้า และสถานะของตัวควบคุม สามารถอ่านได้เฉพาะค่าที่ยานพาหนะให้ไว้จริงเท่านั้น และการแก้ไขชื่อหรือหน่วยจะไม่เพิ่มความสามารถด้านข้อมูลของยานพาหนะเอง
รองรับขอบเขตและเงื่อนไขการใช้งาน
การเชื่อมต่อ OBD ของยานพาหนะต้องใช้ CapDrive Plus, อะแดปเตอร์บลูทูธพลังงานต่ำ (BLE) ที่รองรับคำสั่ง ELM327 และการอนุญาต Bluetooth บน iPhone ขณะนี้ยังไม่รองรับอะแดปเตอร์ Classic Bluetooth และ Wi-Fi
หลังจากที่เสียบอะแดปเตอร์เข้ากับอินเทอร์เฟซ OBD ของยานพาหนะและเปิดเครื่องตามที่ยานพาหนะต้องการเท่านั้น แอปจึงจะสามารถสื่อสารกับรถยนต์ได้ พารามิเตอร์บางอย่างต้องการให้ยานพาหนะอยู่ในสถานะเฉพาะ เช่น ตัวควบคุมที่เปิดอยู่ เครื่องยนต์กำลังทำงาน หรือระบบที่เกี่ยวข้องกำลังทำงานอยู่ การรวม "Bluetooth" ไว้ในชื่อของอะแดปเตอร์ไม่ได้พิสูจน์เพียงอย่างเดียวว่าเป็นไปตาม BLE และคำสั่ง
การอ่าน OBD ไม่จำเป็นต้องเริ่มการเดินทางก่อน สามารถดูและทดสอบได้ในรายการพารามิเตอร์หรือโปรแกรมแก้ไขพารามิเตอร์ การที่การเดินทางด้วยโทรศัพท์มือถือเริ่มต้นขึ้นหรือไม่นั้นไม่ได้กำหนดว่ารถจะส่งคืนอุณหภูมิน้ำหล่อเย็น ความเร็ว (RPM) และพารามิเตอร์อื่นๆ หรือไม่
CapDrive รองรับการกำหนดค่าคำขออ่านสำหรับบริการ hex 01, 21, 22 สำหรับการใช้งานปกติ สามารถใช้ค่าที่ตั้งล่วงหน้าที่ตรงกับยานพาหนะได้ ที่อยู่และสูตรคำขอเฉพาะจะขึ้นอยู่กับคำจำกัดความที่กำหนดไว้ล่วงหน้าหรือพารามิเตอร์ของยานพาหนะ
การเชื่อมต่อและการจัดการอุปกรณ์
รายการ: เพิ่มเติม (…) → การเชื่อมต่อ OBD ของรถ หน้าอุปกรณ์จะแสดงอะแดปเตอร์ใกล้เคียงและอุปกรณ์ที่บันทึกไว้ และการกำหนดค่าพารามิเตอร์ของอะแดปเตอร์จะถูกบันทึกไว้ในการตั้งค่าอุปกรณ์
การเชื่อมต่อครั้งแรกและการเชื่อมต่อใหม่
เมื่อเชื่อมต่อเป็นครั้งแรก แอปจะสร้างการสื่อสารบลูทูธ เริ่มต้นอะแดปเตอร์ ระบุโปรโตคอลของยานพาหนะ และสอบถามรถยนต์เพื่อรายงานพารามิเตอร์มาตรฐานที่รองรับ หลังจากสำเร็จ พารามิเตอร์มาตรฐานที่สามารถเริ่มต้นได้จะถูกเพิ่มลงในรายการอุปกรณ์ ไม่ว่าพารามิเตอร์มาตรฐานจะมีค่าในสถานะปัจจุบันหรือไม่นั้นขึ้นอยู่กับผลการอ่านจริง
เมื่ออุปกรณ์ที่มีอยู่เชื่อมต่อใหม่ อุปกรณ์จะยังคงใช้การกำหนดค่าเดิม รวมถึงพารามิเตอร์ที่แก้ไขและรายการที่ล้างข้อมูลอยู่ หลังจากลบพารามิเตอร์แล้ว การเชื่อมต่อใหม่จะไม่เพิ่มกลับเข้าไป เมื่อจำเป็นต้องอ่านเพิ่มเติม สามารถนำเข้าพารามิเตอร์ที่ตั้งไว้ล่วงหน้าหรือใหม่ได้
แหล่งข้อมูลปัจจุบัน
"อุปกรณ์ปัจจุบัน" หมายถึงอะแดปเตอร์ที่ให้ข้อมูลยานพาหนะแก่ CapDrive สามารถใช้เป็นแหล่งข้อมูลปัจจุบันได้เพียงอุปกรณ์เดียวเท่านั้นในแต่ละครั้ง พารามิเตอร์และการตั้งค่าของแต่ละอุปกรณ์จะถูกบันทึกแยกกัน เมื่อเปลี่ยนไปใช้อุปกรณ์อื่น การอ้างอิงพารามิเตอร์ของอุปกรณ์ก่อนหน้าจะไม่ถูกใช้โดยอัตโนมัติ
การตัดการเชื่อมต่อจะคงการกำหนดค่าไว้ ละเว้นอุปกรณ์ จะลบการกำหนดค่าและแคชของอุปกรณ์ เมื่อคุณต้องการย้ายพารามิเตอร์ คุณสามารถส่งออกการกำหนดค่าแล้วนำเข้าไปยังอุปกรณ์เป้าหมายได้ สำหรับเครื่องมือที่ปรับแต่งแล้ว คุณควรเลือกพารามิเตอร์ใต้อุปกรณ์เป้าหมายอีกครั้ง
การตั้งค่าพารามิเตอร์ล่วงหน้าและไฟล์การกำหนดค่า
ค่าเริ่มต้นคือชุดของการกำหนดค่าการอ่านพารามิเตอร์ที่เขียนไว้แล้ว ซึ่งช่วยลดความจำเป็นในการกรอกคำขอและสูตรทีละรายการ ค่าที่ตั้งไว้ล่วงหน้ามาตรฐาน OBD-II จะให้พารามิเตอร์มาตรฐาน และค่าที่ตั้งไว้ล่วงหน้าของรุ่นรถจะให้คำจำกัดความของพารามิเตอร์สำหรับรุ่นรถที่เกี่ยวข้อง เมื่อเลือกรุ่นที่ตั้งไว้ล่วงหน้า คุณควรตรวจสอบปีรุ่นและเวอร์ชันกำลัง
นำเข้าไปยังอุปกรณ์ที่ระบุ
เปิดไลบรารีการกำหนดค่าจากด้านล่างสุดของรายการพารามิเตอร์อุปกรณ์ การดาวน์โหลดในแอพจะเข้าสู่อินเทอร์เฟซการนำเข้าของอุปกรณ์ การดาวน์โหลดไฟล์ JSON ผ่านเบราว์เซอร์สามารถเลือก นำเข้าการกำหนดค่า ในเมนูการตั้งค่าอุปกรณ์ได้
รายการนำเข้าจะไม่ถูกเลือกตามค่าเริ่มต้น และจะบันทึกเฉพาะพารามิเตอร์ที่เลือกอย่างชัดเจนเท่านั้น คุณสามารถตรวจสอบชื่อและค่าที่อ่านได้ในปัจจุบันก่อน จากนั้นตรวจสอบการกำหนดค่าผ่านเฟืองทางด้านขวา การปิดอินเทอร์เฟซการนำเข้าจะไม่บันทึกฉบับร่างที่ยังไม่ยืนยัน
การทำซ้ำและการอัปเดตการกำหนดค่า
พารามิเตอร์ที่มีวิธีการอ่าน กฎการถอดรหัส และหน่วยเอาต์พุตเดียวกันอยู่แล้วจะถูกทำเครื่องหมายว่าซ้ำกัน และยังคงใช้ตัวระบุพารามิเตอร์เดิมต่อไป การแก้ไขชื่อที่แสดงเท่านั้นไม่ได้ทำให้พารามิเตอร์เดียวกันเป็นรายการอ่านใหม่
คำขอสามารถจัดเตรียมพารามิเตอร์ได้หลายตัว เช่น อุณหภูมิสองตัวในการตอบสนองเดียวกัน ชื่อเดียวกันอาจมาจากตัวควบคุมหรือสูตรที่แตกต่างกัน ดังนั้นรายการที่ซ้ำกันจึงไม่สามารถตัดสินได้จากชื่อเพียงอย่างเดียว รายการที่มีการแก้ไขคำขอหรือกฎการถอดรหัสจะถูกนำเข้าเป็นพารามิเตอร์ใหม่และห้ามเขียนทับรายการเก่าด้วยชื่อเพียงอย่างเดียว
เมื่อนำเข้าไปยังอะแดปเตอร์อื่น การอ้างอิงพารามิเตอร์ของอุปกรณ์เป้าหมายจะถูกสร้างขึ้น เครื่องมือแบบกำหนดเองควรเลือกพารามิเตอร์ที่เกี่ยวข้องของอุปกรณ์เป้าหมายในการรวมอินพุตอีกครั้ง เก็บตัวระบุอินพุตไว้ไม่เปลี่ยนแปลงและไม่จำเป็นต้องแก้ไขโค้ด
ข้อจำกัดของไฟล์
การกำหนดค่าใช้ JSON ตัวระบุรูปแบบคือ capdrive.obd และ appVersion เป็นเวอร์ชันแอปที่ต้องการ หมายเลขเวอร์ชันแอปปัจจุบันจะถูกเขียนเมื่อส่งออก เมื่อเวอร์ชันไม่เพียงพอ คุณจะได้รับแจ้งให้อัปเกรด ไฟล์เดียวสามารถมีได้สูงสุด 5 MiB และมีพารามิเตอร์ได้สูงสุด 3,000 รายการ ไฟล์จะบันทึกการกำหนดค่าการอ่านและไม่มีการเชื่อมต่อ Bluetooth ของอุปกรณ์ และไม่ได้รับประกันว่ารายการทั้งหมดจะสามารถอ่านได้บนยานพาหนะเป้าหมาย
การกำหนดค่าพารามิเตอร์และการถอดรหัส
เปิดตัวแก้ไขผ่านเฟืองทางด้านขวาของพารามิเตอร์ ข้อมูลต่อไปนี้จะอธิบายช่องต่างๆ ตามลำดับ "สิ่งที่อ่านจากยานพาหนะ → วิธีแปลง → วิธีตรวจสอบความถูกต้อง" ทดสอบการอ่าน ใช้การกำหนดค่าปัจจุบันในตัวแก้ไขเพื่อตรวจสอบผลลัพธ์ หลังจากคลิกบันทึก การแก้ไขจะกลายเป็นการกำหนดค่าที่บันทึกไว้ของอุปกรณ์
ตั้งชื่อและความถี่ในการอัปเดต
ชื่อนี้ใช้เพื่อระบุพารามิเตอร์ของยานพาหนะ ตัวระบุภายในได้รับการจัดการโดยอัตโนมัติโดยแอป และไม่ได้กรอกในตัวแก้ไขพารามิเตอร์ และไม่มีการร้องขอ PID ค่าที่ตั้งล่วงหน้าที่ส่งออกไม่มีตัวระบุดั้งเดิมของอุปกรณ์ สคริปต์เครื่องมือใช้ตัวระบุอินพุตที่กำหนดของตัวเองและเลือกพารามิเตอร์ของยานพาหนะผ่านการผูกอินพุต
ช่วงเวลาการอ่าน (วินาที) เติมเป็นวินาที และช่วงคือ 0.3–99999 ตัวอย่างเช่น 1 วินาทีหมายความว่าช่วงเวลาการสืบค้นเป้าหมายคือ 1 วินาที การอัปเดตจริงยังได้รับผลกระทบจากการตอบสนองของยานพาหนะ คำขออื่นๆ และข้อกำหนดในการอ่านในปัจจุบัน รายการที่มองเห็นได้ในรายการพารามิเตอร์ การเลือกเครื่องมือ และการใช้ข้อมูลการเดินทางจะสร้างข้อกำหนดในการอ่าน การนำเข้าพารามิเตอร์เพียงอย่างเดียวไม่ได้ทำให้รายการทั้งหมดถูกสำรวจด้วยความถี่คงที่เสมอไป พารามิเตอร์ที่ใช้คำขอเดียวกันร่วมกันสามารถนำมาใช้ซ้ำในการตอบกลับได้
ขอการตั้งค่า
| สนาม | ความหมายและวิธีการเติม |
|---|---|
| ให้บริการ | หมวดหมู่ของคำขอโดยใช้เลขฐานสิบหก ตัวอย่างเช่น เซอร์วิสที่ร้องขอสำหรับ 0105 คือ 01 |
| PID | หมายเลขรายการข้อมูลในบริการนี้ ตัวอย่างเช่น PID ของ 0105 คือ 05; 01 และ 21 ใช้ PID สองหลัก และ 22 ใช้ PID สี่หลัก |
| คำขอ CAN ID | ที่อยู่ของผู้ควบคุมรถที่ได้รับคำขอ เมื่อเว้นว่างไว้ โปรโตคอลจะใช้การกำหนดแอดเดรสที่ใช้งานได้ ค่าเริ่มต้นที่ตรงกันควรคงที่อยู่เดิมไว้ |
| ตอบสนองต่อการกรอง CAN ID | ระบุว่าจะใช้การตอบสนองของตัวควบคุมใดเพื่อหลีกเลี่ยงการเลือกแหล่งที่ไม่ถูกต้องเมื่อมีตัวควบคุมหลายตัวส่งคืนข้อมูล |
| ที่อยู่ปลายทางแบบขยาย, ที่อยู่การรับแบบขยาย | การกำหนดค่าที่อยู่การสื่อสารเพิ่มเติมสำหรับการใช้งานโดยโปรโตคอลของยานพาหนะที่ต้องการ |
| พารามิเตอร์การหมดเวลาตอบสนอง | การกำหนดค่าการหมดเวลาเลขฐานสิบหกที่ใช้โดยอะแด็ปเตอร์ ไม่ได้กรอกในไม่กี่วินาที เป็นการตั้งค่าที่แตกต่างจากช่วงเวลาการอ่าน |
| การควบคุมการไหลของ CAN แบบกำหนดเอง | ใช้สำหรับคำขอที่ต้องการการกำหนดค่าการควบคุมการไหลเฉพาะ ตามที่กำหนดโดยยานพาหนะที่เกี่ยวข้อง |
สูตรการแปลง ลำดับไบต์ และหน่วย
การตอบสนองของยานพาหนะมักจะเป็นไบต์ข้อมูล A แสดงถึงไบต์ข้อมูลแรก B แสดงถึงไบต์ที่สอง และต่อๆ ไป โดยไม่รวมส่วนหัวของโปรโตคอล สูตรรองรับการคำนวณ การดำเนินการระดับบิต การเปรียบเทียบ การดำเนินการเชิงตรรกะ และนิพจน์ตามเงื่อนไข ไม่ใช่สคริปต์ที่สามารถเรียกใช้ฟังก์ชัน JavaScript โดยพลการ
ตัวอย่างเช่น อุณหภูมิน้ำหล่อเย็นใช้ A - 40; ความเร็วรอบเครื่องยนต์มาตรฐาน (RPM) ใช้ (A * 256 + B) / 4 ถ้า A = 26, B = 248 ตัวหลังจะได้ 1726 rpm สูตรของพารามิเตอร์ควรสอดคล้องกับความหมายของไบต์ที่ส่งกลับโดยการร้องขอ
Endianness เป็นตัวกำหนดวิธีการตีความฟิลด์หลายไบต์: big-endian วางไบต์ที่มีลำดับสูงไว้ก่อน ส่วน little-endian ใส่ไบต์ที่มีลำดับต่ำก่อน แอปดำเนินการสูตรตัวเลขหลังจากลำดับการประมวลผลที่กำหนดค่าไว้ และสูตรไม่ควรสลับไบต์ซ้ำๆ อีกครั้ง
หน่วยของผลลัพธ์ของสูตรจะต้องแยกความแตกต่างจากหน่วยแสดงผล การแก้ไขชื่อหน่วยแบบกำหนดเองจะเปลี่ยนเฉพาะป้ายกำกับและไม่ได้แก้ไขค่าสูตร เมื่อเลือกหน่วยแสดงผลที่เข้ากันได้สำหรับปริมาณทางกายภาพมาตรฐานที่มีอยู่ แอปสามารถทำการแปลงที่สอดคล้องกันได้ โปรดตรวจสอบหน่วยเดิมที่ใช้ในสูตรเพื่อหลีกเลี่ยงการแปลงซ้ำ
เงื่อนไขการอ่านและช่วงที่ถูกต้อง
| การกำหนดค่า | ผลกระทบที่เกิดขึ้นจริง |
|---|---|
| จำนวนไบต์การตอบกลับขั้นต่ำ | ไม่รวมการส่งคืนที่มีความยาวไม่เพียงพอเพื่อป้องกันไม่ให้การคำนวณดำเนินต่อไปเมื่อไบต์หายไป |
| อ่านเงื่อนไข | เงื่อนไขได้รับการประเมินบนไบต์ตอบกลับดิบ เช่น A != 0 การอ่านนี้ไม่พร้อมใช้งานเมื่อผลลัพธ์เป็นศูนย์ ไบต์หายไป หรือการคำนวณล้มเหลว |
| ค่าต่ำสุด, ค่าสูงสุด | หนีบผลลัพธ์ตัวเลข ตัวอย่างเช่น เมื่อกำหนดค่าช่วงที่ถูกต้องเป็น 0–100 แล้ว 120 จะแสดงเป็น 100 ค่าสูงสุดต้องมากกว่าค่าต่ำสุด หากไม่ได้ตั้งค่าขั้นต่ำไว้ จะถือเป็นศูนย์ การตั้งค่าเฉพาะค่าต่ำสุดเท่านั้นที่จะไม่จำกัดแอมพลิจูดแยกกัน |
| ขีดจำกัดล่างที่มีผล ขีดจำกัดบนที่มีผล | ผลลัพธ์ที่ไม่ถูกต้องจะถูกแยกออก เช่นเดียวกับขอบเขตของมันเอง ตัวอย่างเช่น เมื่อขีดจำกัดบนคือ 100 จะไม่มีผลลัพธ์ที่มากกว่าหรือเท่ากับ 100 |
การตอบสนองจะส่งผ่านความยาวและการตรวจสอบเงื่อนไขการอ่านก่อนที่จะถอดรหัส ผลลัพธ์ดิจิทัลจะถูกจำกัดก่อน จากนั้นจึงตรวจสอบขีดจำกัดบนและล่างที่มีผล ไม่มีการอ่านค่าออกมาเมื่อไม่สามารถรับค่าจำกัดได้ เงื่อนไขการอ่านจะใช้การตอบสนองแบบ Raw ก่อนการแปลงลำดับไบต์
การทำแผนที่ข้อความ
การแมปข้อความจะแสดงค่าที่ได้รับจากสูตรเป็นข้อความ เช่น 1 → D คีย์รองรับทศนิยมและจำนวนลบ และต้องเป็นค่าจำกัดที่ไม่ซ้ำกัน 1.5 และ 1.50 เป็นตัวแทนของรายการเดียวกัน ตัวอักษรได้รับอนุญาตให้เป็นสตริงว่าง
เมื่อเข้าถึงการแมป สตริงที่เกี่ยวข้องจะถูกส่งกลับ เมื่อไม่ถูกโจมตี ตัวเลขจะถูกส่งคืนเมื่อ คืนค่าตัวเลขเดิมเมื่อไม่ตรงกับรายการ เปิดอยู่ และ null จะถูกส่งคืนเมื่อปิดอยู่ การตั้งค่าที่ไม่ตรงกันนี้จะมีผลเมื่อมีการแมป ข้อความ Hit จะไม่ทำการคลิปดิจิทัลต่อไป
ดังนั้น พารามิเตอร์เดียวกันอาจส่งคืนตัวเลข ข้อความ หรือค่า Null และโค้ดเครื่องมือวัดควรจัดการกับประเภทจริงของพารามิเตอร์ เมื่อสถานการณ์ "สามารถแสดงค่าบางค่าได้และค่าอื่น ๆ หายไป" เกิดขึ้น คุณควรตรวจสอบว่าการจับคู่ตรงกันหรือไม่ และการตั้งค่าไม่ตรงกันหรือไม่
บันทึกและข้อความแสดงข้อผิดพลาด
การกำหนดค่าที่ไม่ถูกต้องจะระบุช่องและเหตุผล จากนั้นจึงบันทึกหรือทดสอบหลังการแก้ไข PID ของบริการ 01 และ 21 เป็นเลขฐานสิบหกสองหลัก 22 คือตัวเลขสี่หลัก CAN ID คือตัวเลข 3 หรือ 8 หลัก และพารามิเตอร์แอดเดรสเพิ่มเติมและพารามิเตอร์การหมดเวลาเป็นตัวเลขสองหลัก ช่วงเวลาการอ่านคือ 0.3–99999 วินาที จำนวนไบต์ตอบกลับขั้นต่ำคือจำนวนเต็ม 0–4096 และสูตรและเงื่อนไขการอ่านแต่ละค่ามีขนาดสูงสุด 1,024 UTF-8 ไบต์ ค่าต้องถูกจำกัด ค่าต่ำสุดต้องไม่มากกว่าค่าสูงสุด และขีดจำกัดล่างที่ถูกต้องต้องน้อยกว่าขีดจำกัดบนที่ถูกต้อง คีย์การแมปข้อความไม่สามารถทำซ้ำได้
การเปลี่ยนข้อมูลการเดินทาง
แทนที่ข้อมูลการเดินทาง ทำให้การอ่านฐานใช้พารามิเตอร์ OBD ที่ระบุ ตัวอย่างเช่น โดยการระบุพารามิเตอร์ความเร็วของยานพาหนะเป็น "ความเร็ว" ฟิลด์ความเร็วพื้นฐาน เกจในตัวที่เกี่ยวข้อง และบันทึกการเดินทางสามารถใช้การอ่านยานพาหนะนี้ได้
เป้าหมายทางเลือก ได้แก่ ความเร็ว G ตามยาว G ด้านข้าง การขว้างและม้วนตัว ยอมรับ km/h หรือ mph สำหรับความเร็ว g หรือ m/s² สำหรับการเร่งความเร็ว และองศาหรือเรเดียนสำหรับมุม แอพจะแปลงหน่วยตามที่จำเป็นสำหรับเป้าหมาย
การเปลี่ยนกำหนดให้พารามิเตอร์ต้องมาพร้อมกับตัวเลข หน่วย และช่วงที่เหมาะสม พารามิเตอร์ที่มีการแมปข้อความไม่สามารถใช้สำหรับการแทนที่สโตรคได้ ผลลัพธ์ดั้งเดิมที่อยู่นอกช่วงการกำหนดค่าจะถูกปฏิเสธเช่นกัน และค่าขีดจำกัดหลังขีดจำกัดจะไม่ถือเป็นการวัดระยะชักที่ถูกต้อง
ใช้แหล่งข้อมูลนี้เมื่อมีการอ่าน OBD ที่ถูกต้อง ถอยกลับไปใช้ข้อมูลมือถือเมื่อการอ่านหายไป หมดอายุ หรือไม่ถูกต้อง การอ่านฐานนี้อาจยังว่างเปล่าเมื่อแหล่งที่มาของอุปกรณ์เคลื่อนที่ไม่พร้อมใช้งานเช่นกัน การนำเข้าพารามิเตอร์สามัญไม่ได้ระบุเป้าหมายการแทนที่โดยอัตโนมัติ
พารามิเตอร์ต่างๆ เช่น อุณหภูมิน้ำหล่อเย็น ความเร็วในการหมุน (RPM) ฯลฯ สามารถแสดงแยกกันในเครื่องมือแบบกำหนดเอง และการอ้างอิง OBD สามารถนำมาใช้ได้โดยตรงโดยไม่ต้องกำหนดค่าการเปลี่ยนระยะชัก
การเข้าถึงเครื่องมือแบบกำหนดเอง
คลิกฟันเฟืองถัดจาก การตั้งค่ามาตรวัด → การผูกอินพุต เพื่อป้อน การกำหนดค่าพารามิเตอร์ และเพิ่มอินพุต ข้อมูล OBD เช่น ตัวระบุ coolant กลับไปที่การรวมอินพุตและเลือกพารามิเตอร์อุณหภูมิน้ำหล่อเย็นภายใต้อุปกรณ์ สคริปต์อ่านผ่าน $data.current.coolant; ไม่จำเป็นต้องเขียน UUID ของพารามิเตอร์ยานพาหนะลงในโค้ด
การอ่านประกอบด้วย value และ unit เช่น { value: 83, unit: '°C' } การจับคู่ค่ากับข้อความอาจส่งคืนสตริงด้วย ควรตรวจสอบประเภทก่อนการจัดรูปแบบตัวเลข เมื่อไม่ได้ผูกไว้ อินพุตทั้งหมดจะเป็น null; เมื่อถูกผูกไว้แต่ไม่มีการอ่านชั่วคราว value คือ null และ unit ยังคงรับยูนิตการกำหนดค่า
หลังจากนำเข้าผลงานของผู้อื่นหรือเปลี่ยนอะแดปเตอร์แล้ว ให้เชื่อมโยงอินพุตที่มีอยู่ใหม่เพื่อใช้โค้ดต่อไป ประเภทที่คาดไว้ใช้สำหรับคำแนะนำ มูลค่าการคืนรถจะไม่ถูกส่ง การแสดงตัวอย่างใช้อินพุตแบบอะนาล็อก และอุปกรณ์ปัจจุบันและ ทดสอบการอ่าน ควรได้รับการตรวจสอบเมื่อยืนยันข้อมูลรถยนต์จริง
ความถูกต้องของข้อมูลและการวินิจฉัยข้อผิดพลาด
สถานะการอ่าน
การเชื่อมต่อถูกต้อง ได้รับการตอบสนอง และการอ่านถูกต้องเป็นเงื่อนไขที่แตกต่างกันสามประการ การตอบกลับอาจไม่สร้างค่าที่ใช้งานได้เนื่องจากความยาวไม่เพียงพอ เงื่อนไขการอ่านที่ไม่น่าพอใจ สูตรไม่ถูกต้อง หรือการแมปข้อความผิดพลาด
การอ่านรันไทม์มีวันหมดอายุ หลังจากขาดการเชื่อมต่อ การอ่านล้มเหลว หรือการหมดอายุของข้อมูล เครื่องมือและการเปลี่ยนทริปไม่ควรใช้ค่าเดิมเป็นข้อมูลที่ถูกต้องในปัจจุบันต่อไป รายการพารามิเตอร์สามารถเก็บค่าที่อ่านได้สำเร็จครั้งล่าสุดไว้เพื่อการสาธิตที่ไม่เท่ากับเอาต์พุตสดที่ถูกต้อง สามารถตรวจสอบผลลัพธ์คำขอปัจจุบันได้โดยใช้ ทดสอบการอ่าน
ศูนย์เป็นค่าที่ถูกต้อง และค่าว่างหมายความว่าขณะนี้ไม่มีค่าที่อ่านได้ สตริงว่างในแผนผังข้อความคือผลลัพธ์ข้อความที่ตรงกัน ซึ่งแตกต่างจากค่าที่อ่านไม่ได้
ค้นหาตามระดับข้อบกพร่อง
| ผลงาน | ขอบเขตการตรวจสอบที่สอดคล้องกัน |
|---|---|
| ไม่สามารถค้นพบอุปกรณ์ได้ | ขับเคลื่อนด้วยอะแดปเตอร์, ประเภท BLE, บลูทูธ iPhone และการอนุญาตของแอป |
| เชื่อมต่อ Bluetooth แล้ว แต่การเริ่มต้นล้มเหลว | รองรับคำสั่งอะแดปเตอร์ สถานะการสื่อสารของยานพาหนะ และการระบุโปรโตคอล |
| รายการพารามิเตอร์ว่างเปล่า | การกำหนดค่าที่บันทึกไว้ของอุปกรณ์ปัจจุบัน ผลลัพธ์ของการสืบค้นความสามารถครั้งแรก และรายการได้ถูกล้างออกไปแล้วหรือไม่ การเชื่อมต่อใหม่จะไม่กู้คืนรายการที่ถูกลบโดยอัตโนมัติ |
| ไม่มีการอ่านที่ถูกต้องสำหรับพารามิเตอร์ตัวเดียว | ที่อยู่การสืบค้นและ PID ความยาวการตอบกลับ เงื่อนไขการอ่าน สูตรการถอดรหัส ช่วง และการแมปข้อความ |
| มีค่าอยู่แต่ความหมายหรือหน่วยไม่ปกติ | ตั้งค่าล่วงหน้าว่ารุ่นรถที่เกี่ยวข้อง ลำดับไบต์ สูตรและหน่วยสอดคล้องกันหรือไม่ |
| รายการแสดงค่าเก่า มิเตอร์ไม่มีค่า | ไม่ว่าการอ่านปัจจุบันจะหมดอายุหรือไม่สามารถอ่านได้ แคชแสดงรายการไม่ได้หมายความว่าข้อมูลแบบเรียลไทม์นั้นถูกต้อง |
| มีการอ่านค่าที่ถูกต้องแต่มิเตอร์แบบกำหนดเองไม่แสดงขึ้นมา | อุปกรณ์ปัจจุบัน พารามิเตอร์ที่เลือก นิพจน์ และการจัดการโค้ดตัวเลข ตัวอักษร และค่าว่าง |
| การทดแทนแผนการเดินทางไม่มีผล | เป้าหมายการแทนที่ ประเภทค่าพารามิเตอร์ ความเข้ากันได้ของหน่วยและช่วง และความถูกต้องของการอ่านข้อมูล |
ข้อเสนอแนะเกี่ยวกับปัญหาอาจรวมถึงข้อมูลต่อไปนี้เพื่อแยกความแตกต่างระหว่างปัญหาการเชื่อมต่อ ปัญหาการกำหนดค่า และปัญหาการแสดงผล:
- รุ่น ปี เวอร์ชันกำลัง และรุ่นอะแดปเตอร์
- ชื่ออุปกรณ์ ค่าที่ตั้งล่วงหน้า และพารามิเตอร์ปัจจุบัน
- ทดสอบผลการอ่านหรือข้อผิดพลาดเฉพาะ
- มันส่งผลกระทบต่อพารามิเตอร์ทั้งหมดหรือพารามิเตอร์แต่ละตัวหรือไม่ และปัญหาจะเกิดขึ้นในรายการพารามิเตอร์ การเปลี่ยนทริป หรือเครื่องมือแบบกำหนดเองหรือไม่