PCCar.ru - Ваш автомобильный компьютер

Вернуться   PCCar.ru - Ваш автомобильный компьютер > MP3Car ТехИнфа > AndroidCar > Для новичков

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2017, 13:23   #1
demtro
Старший Пользователь
 
Регистрация: 17.12.2014
Возраст: 33
Город: Самара
Регион: 63, 163
Машина: Lifan Solano
Сообщений: 184
demtro is on a distinguished road
По умолчанию Прошу помощи с кан шиной

адаптер собран по схеме от ув. 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 0x10438040HEX//фильтр по ID, при необходимости раскомментировать
{  //фильтр по ID, при необходимости раскомментировать
Serial.print("[");
Serial.print((canMsg.can_id 0x1FFFFFFF), HEX);
Serial.print("] [");
Serial.print(canMsg.can_dlcHEX);
Serial.print("] ");

for (
int i 0i<canMsg.can_dlci++) {
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
Но не могу понять как теперь сделать из всего этого адаптер кнопок руля для планшета, буду очень благодарен за помощь. Так же в этой шине есть данные о температуре за бортом, в последствии очень хотелось бы найти и их.
Кое как разобрался с фильтром по адресу (возможно не совсем правильно) пример получаемых данных приложил в архиве.
Вложения
Тип файла: zip Документ.zip (24.5 Кб, 826 просмотров)
demtro вне форума   Ответить с цитированием
Старый 28.04.2017, 17:20   #2
lti1
Старший Пользователь
 
Аватар для lti1
 
Регистрация: 17.01.2010
Возраст: 48
Город: Самара
Регион: 63, 163
Машина: Skoda Octavia A5 FL && Skoda Octavia Tour && ̶F̶F̶3̶
Сообщений: 457
lti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond repute
По умолчанию

По какому ID должны прилетать значения кнопок?
lti1 вне форума   Ответить с цитированием
Старый 28.04.2017, 17:52   #3
demtro
Старший Пользователь
 
Регистрация: 17.12.2014
Возраст: 33
Город: Самара
Регион: 63, 163
Машина: Lifan Solano
Сообщений: 184
demtro is on a distinguished road
По умолчанию

На сколько я понял это id 10 43 80 40
demtro вне форума   Ответить с цитированием
Старый 29.04.2017, 13:22   #4
lti1
Старший Пользователь
 
Аватар для lti1
 
Регистрация: 17.01.2010
Возраст: 48
Город: Самара
Регион: 63, 163
Машина: Skoda Octavia A5 FL && Skoda Octavia Tour && ̶F̶F̶3̶
Сообщений: 457
lti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond repute
По умолчанию

Попробуй этот скетч, что будет происходить при нажатии на разный кнопки.
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//фильтр по ID, при необходимости раскомментировать
        
{  //фильтр по ID, при необходимости раскомментировать
            
Serial.print("[");
            
Serial.print((canMsg.can_id 0x1FFFFFFF), HEX);
            
Serial.print("] ");
            
Serial.println(canMsg.data[0] & 0x07HEX); 
        }
    }


Последний раз редактировалось lti1; 01.05.2017 в 23:27.
lti1 вне форума   Ответить с цитированием
Старый 29.04.2017, 23:32   #5
дмитрий 77
Новый Пользователь
 
Регистрация: 10.10.2008
Город: Москва
Регион: 77, 97, 99, 177
Машина: Dodge ram
Сообщений: 10
дмитрий 77 is on a distinguished road
По умолчанию

Есть альтернатива https://play.google.com/store/apps/d..._bus_interface
дмитрий 77 вне форума   Ответить с цитированием
Старый 01.05.2017, 11:40   #6
blogsylar
Старший Пользователь
 
Регистрация: 19.04.2016
Город: Подольск
Регион: 50, 90, 150
Машина: Ford Focus 3
Сообщений: 379
blogsylar is a jewel in the roughblogsylar is a jewel in the roughblogsylar is a jewel in the roughblogsylar is a jewel in the rough
По умолчанию

Цитата:
Сообщение от дмитрий 77 Посмотреть сообщение
Далеко не на всех машинах работает, увы
blogsylar вне форума   Ответить с цитированием
Старый 01.05.2017, 20:10   #7
demtro
Старший Пользователь
 
Регистрация: 17.12.2014
Возраст: 33
Город: Самара
Регион: 63, 163
Машина: Lifan Solano
Сообщений: 184
demtro is on a distinguished road
По умолчанию

данные пошли в таком виде
Вложения
Тип файла: zip Данные 01.05.17.zip (5.4 Кб, 547 просмотров)
demtro вне форума   Ответить с цитированием
Старый 01.05.2017, 20:22   #8
lti1
Старший Пользователь
 
Аватар для lti1
 
Регистрация: 17.01.2010
Возраст: 48
Город: Самара
Регион: 63, 163
Машина: Skoda Octavia A5 FL && Skoda Octavia Tour && ̶F̶F̶3̶
Сообщений: 457
lti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond repute
По умолчанию

Если кнопки не нажимать последняя цифра всегда = 0?
PHP код:
[10438040
lti1 вне форума   Ответить с цитированием
Старый 01.05.2017, 21:47   #9
demtro
Старший Пользователь
 
Регистрация: 17.12.2014
Возраст: 33
Город: Самара
Регион: 63, 163
Машина: Lifan Solano
Сообщений: 184
demtro is on a distinguished road
По умолчанию

Там данные идут постоянно, последний архив собран примерно за минуту, т.е если не нажимать ничего данные продолжают идти
demtro вне форума   Ответить с цитированием
Старый 01.05.2017, 21:57   #10
lti1
Старший Пользователь
 
Аватар для lti1
 
Регистрация: 17.01.2010
Возраст: 48
Город: Самара
Регион: 63, 163
Машина: Skoda Octavia A5 FL && Skoda Octavia Tour && ̶F̶F̶3̶
Сообщений: 457
lti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond repute
По умолчанию

Где Вы взяли информацию, что необходимо читать ID 0x10438040?
lti1 вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 17:47.


Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot