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

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Рабочий журнал (http://pccar.ru/forumdisplay.php?f=25)
-   -   Nissan Almera N16 + Nexus 7 (http://pccar.ru/showthread.php?t=18674)

Hamster 10.03.2013 21:40

Цитата:

Сообщение от murano (Сообщение 249903)
По-моему это пример подключения клавы к arduino?

Не :)
Разумеется, скрипт с компкара нужно будет доработать - вместо Serial.Write нужно использовать методы библиотеки UsbKeyboard.SendKeyStroke.
Тама ссылочка на гитхаб с исходниками есть.

murano 10.03.2013 22:10

Hamster, Да, согласен, все верно.
Цитата:

Сообщение от Alex-NN (Сообщение 249905)
Сначала собрать схемку из ссылки http://www.practicalarduino.com/proj...l-usb-keyboard?

Можно и так. Только там имитация нажатия клавиатурных кнопок осуществляется замыканием контактов. Хотя эту часть можно переделать и под резистивные кнопки.
Если ничего не напутал и не сделал ошибок то где-то вот так:
PHP код:

#include "UsbKeyboard.h"

int analogPin=0;
int data;

void setup()
{

  
// Disable timer0 since it can mess with the USB timing. Note that
  // this means some functions such as delay() will no longer work.
  
TIMSK0&=!(1<<TOIE0);

  
// Clear interrupts while performing time-critical operations
  
cli();

  
// Force re-enumeration so the host will detect us
  
usbDeviceDisconnect();
  
delayMs(250);
  
usbDeviceConnect();

  
// Set interrupts again
  
sei();
}


void loop()
{
  
UsbKeyboard.update();
  
data=analogRead(analogPin);

   if (
data==614
 
//вместо 614 нужно поставить значение прочитанное 
//на PIN0 при на жатии выбранной резистивной кнопки
  
{
    
UsbKeyboard.sendKeyStroke(KEY_HMOD_SHIFT_LEFT);
    
UsbKeyboard.sendKeyStroke(KEY_E);
    
UsbKeyboard.sendKeyStroke(KEY_L);
    
UsbKeyboard.sendKeyStroke(KEY_L);
    
UsbKeyboard.sendKeyStroke(KEY_O);
    
UsbKeyboard.sendKeyStroke(KEY_SPACE);
    
UsbKeyboard.sendKeyStroke(KEY_WMOD_SHIFT_LEFT);
    
UsbKeyboard.sendKeyStroke(KEY_O);
    
UsbKeyboard.sendKeyStroke(KEY_R);
    
UsbKeyboard.sendKeyStroke(KEY_L);
    
UsbKeyboard.sendKeyStroke(KEY_D);
    
UsbKeyboard.sendKeyStroke(KEY_ENTER);
  }

}

void delayMs(unsigned int ms)
{
  for (
int i 0msi++) {
    
delayMicroseconds(1000);
  }



Hamster 10.03.2013 22:31

Цитата:

Сообщение от murano (Сообщение 249908)
Только там имитация нажатия клавиатурных кнопок осуществляется замыканием контактов

Какая разница, что в этом примере используется на "входе"? Матрица из кнопок, резистивные кнопки/джойстик или энкодер? Да хоть мыслепередатчик :)
Главное, что мы можем с помощью ардуино "это" распознать и прикинувшись HID'ом, легко транслировать в андроид :)

Alex-NN 13.03.2013 13:39

Прибыл модуль OBD-II
 
Вложений: 1
Приехала диагностика от китайцев. Заказывал 25 января на aliexpress. Чуть меньше полутора месяцев.

Alex-NN 13.03.2013 18:56

Проблемы диагностики
 
Вложений: 2
Пока вот так...
Вложение 30322

но

Вложение 30323

Переводчик говорит:

Цитата:

…отчетности, что он не поддерживает считывание всех PIDs.
Ваше транспортное средство не может быть OBD2 совместимо или транспортное средство (ECU) не был включен, по вашему поставщику/производителю за OBD2 доступа.
Torque, вероятно, не способна извлекать информацию из-за этой проблемы.
Т.е, я понимаю, что связь с машиной есть, но данные не передаются...

vodkaman 13.03.2013 19:19

Ну почти. :)
На самом деле он пишет, что Бортовой Компьютер (ECU) говорит, что он не поддерживает считывание каких либо PID.
Ваша машина либо OBD2 не совместима, либо производитель/диллер заблокировал ECU от диагностики по протоколу OBD2.
Про TORQUE - все правильно.
Я бы сказал, что связи нет. Либо у тебя не OBD2 стоит, либо что-то в этой приблуде не так.

murano 13.03.2013 19:40

Торк работает не со всеми ниссанами. С N16 точно не работает и не будет пока автор программы не включит поддержку ниссановского протокола consult-2. Из известного мне на данный момент на андроиде с ниссанами точно работает только хобдрайв. На счет сообщения. На самом деле стандарт OBDII поддерживает несколько протоколов и один из них точно присутствует у тебя. Проблема с торком заключается в правильной инициализации подключения, но это решается. А вот по запросам (пидам) не получится. В торке можно прописать запросы длинной не более 3-х байт, а у ниссана они длиннее.

Alex-NN 13.03.2013 19:47

Цитата:

Сообщение от murano (Сообщение 250439)
Торк работает не со всеми ниссанами. С N16 точно не работает и не будет пока автор программы не включит поддержку ниссановского протокола consult-2. Из известного мне на данный момент на андроиде с ниссанами точно работает только хобдрайв. На счет сообщения. На самом деле стандарт OBDII поддерживает несколько протоколов и один из них точно присутствует у тебя. Проблема с торком заключается в правильной инициализации подключения, но это решается. А вот по запросам (пидам) не получится. В торке можно прописать запросы длинной не более 3-х байт, а у ниссана они длиннее.

Пробовать хобдрайв?
По демке можно будет понять работоспособность?

murano 13.03.2013 19:53

Цитата:

Сообщение от Alex-NN (Сообщение 250442)
Искать-пробовать хобдрайв?

На форуме торка N16 никто не смог подключить. Хобдрайв можно пробовать бесплатно. Если понравится то купить. Но он в основном как хороший маршрутник, хотя интерфейс не очень. Почитай на их форуме.

murano 13.03.2013 19:55

Цитата:

Сообщение от Alex-NN (Сообщение 250442)
По демке можно будет понять работоспособность?

Да, можно


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

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