目的 借助Pi-WIRE的幫忙,在社區狹窄的地下室用時速120飆車,證明我高超的駕駛技術! 惡搞HUD需要搞定Pi-WIRE和Pi-CAR。首先要弄清楚HUD和汽車的介面,我猜HUD是定期和車子詢問速度,所以我修改 第四篇 配置,把ELM327換成HUD,觀察Pi-CAR要怎麼回應才能顯示時速120: Before ELM327 ---- Pi-WIRE ---- Pi-CAR After-1 HUD ---- Pi-WIRE ---- Pi-CAR (report speed=120) 然後再把Pi-CAR換成真的車,讓Pi-WIRE竄改速度:把速度灌水100看來不錯 After-2 HUD ---- Pi-WIRE ( report speed = car_speed + 100 ) ---- XC60 (speed < 20) HUD逆向工程開始 配置妥當,Pi-WIRE開始監聽。歷史上CANBUS格式有兩種,舊年份Volvo使用29bit-ID,現在新車都是11bit-ID。HUD會發出兩種格式,查詢Service01 PID00,看哪一種有人理他,這樣就能判斷CANBUS版本(為什麼是7E8和18DB33F1,參考資料 ISO 15765-4 有答案) HUD會接下來查詢底下資料,只要讓Pi-CAR回應命令,HUD就會老實顯示速度了 01 00, supported PID in 01-20, 4byte bitmap 01 05, Engine coolant 01 0C, Engine RPM 01 0D, Speed 01 10, MAF air flow rate 01 20, supported PID in 21-40, 4byte bitmap 01 40, supported PID in 41-60, 4byte bitmap 我在家裡把HUD飆上180喔! 逆向工程HUD,有趣的點 HUD啟動的機制 汽車發動電瓶電壓會瞬間下降,因為發電機運轉電壓上升 我轉電源供應器,發現HUD是偵測電壓上升開機 HUD關閉的機制 HUD接在OBD-II的頭,車子熄火狀態OBD-II不會斷電,HUD永遠上電 HUD讀到引擎轉