адаптер собран по схеме от ув. lti1 подключен к ардуино нано, залит следующий скетч:
PHP код:
#include <SPI.h>
#include <mcp2515.h>
struct can_frame canMsg;
MCP2515 mcp2515(10);
void setup() {
Serial.begin(115200);
SPI.begin();
mcp2515.reset();
mcp2515.setBitrate(CAN_33KBPS);
mcp2515.setNormalMode();
Serial.println("------- CAN Read ----------");
Serial.println("ID DLC DATA");
}
void loop() {
if (mcp2515.readMessage(&canMsg) == MCP2515::ERROR_OK)
{
if (canMsg.can_id = 0x10438040, HEX) //фильтр по ID, при необходимости раскомментировать
{ //фильтр по ID, при необходимости раскомментировать
Serial.print("[");
Serial.print((canMsg.can_id & 0x1FFFFFFF), HEX);
Serial.print("] [");
Serial.print(canMsg.can_dlc, HEX);
Serial.print("] ");
for (int i = 0; i<canMsg.can_dlc; i++) {
Serial.print(canMsg.data[i], HEX);
Serial.print(" ");
}
Serial.println();
}
}
}
машина шевроле круз 2013 года шина GMLAN низкоскооростная работает на частоте 33.3kbps данные с ардуины идут. В интернете нашел значения кнопок руля:
Если вдруг кому интересны пакеты кнопок на руле в Cruze:
10 43 80 40 00 — Unpress (All)
10 43 80 40 01 — Vol Up
10 43 80 40 02 — Vol Down
10 43 80 40 03 — Next
10 43 80 40 04 — Prev
10 43 80 40 05 — SRC
10 43 80 40 07 — Mute
Но не могу понять как теперь сделать из всего этого адаптер кнопок руля для планшета, буду очень благодарен за помощь. Так же в этой шине есть данные о температуре за бортом, в последствии очень хотелось бы найти и их.
Кое как разобрался с фильтром по адресу (возможно не совсем правильно) пример получаемых данных приложил в архиве.