文章總列表

ELM327 OBD-II 心得 (3),試著解析ELM327錄到的CAN封包

我折騰ELM327是因為VOLVO XC60電動尾門不能遙控關門,必須人到現場按下按鈕才會動。我每次都覺得這個設計很瞎。我假設這個按鈕連到CANBUS,壓下去會發送某個信號,只要監聽到這個信號,我就能遙控關門



接受挑戰!

拿手邊的深圳牌藍芽ELM327接上車,試著讀VIN成功!試跑ATMA(Monitor All)監看CANBUS,結果……………什麼都沒發生!!!!豪小我嗎?

第一篇文章提問ELM327什麼時候讓人不滿意,現在我可以回答了
  • AT命令實作不全
    • 深圳牌ELM327成本導向,Torque沒用的命令會拔光光
  • 藍芽連線不穩
    • 我有時候下的命令斷行會出錯,可能藍芽模組不靠譜
  • 就算真的監看CANBUS,資料量也遠超過藍芽能承受的

折騰USB ELM327

頻寬要夠大,所以我改買USB ELM327繼續折騰,繼續踩坑
  • 淘寶買的USB ELM327依舊是深圳版,還是沒有ATMA
    • 我覺得自己是笨蛋……………
  • 露天找到ELM327 v2.2
    • 可以下ATMA,只是經常會緩衝區爆掉(Buffer Full)
  • 同個賣家,買可以切換高低速CANBUS的版本(一開始就要買這個)
    • VOLVO有兩條CANBUS,電動尾門是低速的
    • High Speed(pin 6/14),500kbps,還是會BUFFER FULL
    • Low Speed(pin 3/11),125kbps,可以成功監聽,錄下完整命令

試解Low Speed CANBUS信號

我錄了一些Low Speed CANBUS的紀錄,有幾道命令很有趣
  • 2E7 8 80 00 0A 27 0D 0A 02 13 
    • 格式是 ?? ?? SS MM HH DD MM YY
    • 解析出來是2019/2/10 13:10:39
      • 0A, second = 10
      • 27, minute = 39
      • 0D, hour = 13 (PM 1:00)
      • 0A, day = 10
      • 02, month = 2
      • 13, year = 19 (2019)
  • 300 8 00 00 00 00 00 00 00 00
  • 301 8 00 00 00 00 00 00 00 00
    • 用途不明,每秒出現一次
  • 310 8 84 48 00 00 00 90 80 00
    • 用途不明,每0.1秒出現一次
然而,我的研究方向根本錯誤:關尾門按鈕只是把POT(Power Operated Tailgate)某根線拉成Ground在車上外掛某個模組,模擬人類按下倒是不複雜,安全可靠後來問到車友:診斷電腦插上去,真的能透過Windows讓車子關門!所以透過CANBUS還是有機會的。只是我得插上診斷電腦側錄才有意義

話題回到ELM327,他適合作為主控端查詢車子的狀態,比如讀VIN,速度,引擎轉速,看錯誤碼。但作為Car Hacking Tool實在不靠譜:
  • 緩衝區很小,很容易Buffer Full,只能監聽low speed bus
  • 文字介面,速度慢
  • ELM327不適合假扮成CANBUS裝置
    • 我不能收到258以後,送出另外一道命令(也不是作不到,就是不適合)
因為ELM327不合用,下一篇我會聊一下怎麼自製CANBUS分析工具

留言

這個網誌中的熱門文章

STM32 UART + DMA,使用HAL實作TX/RX,以及不定長度接收

幼犬書桌椅選擇心得 升降桌 兒童桌椅

CANON G3000 廢墨瓶改裝