Переделка елм 327 под к линию: Всё про K-Line USB адаптер | Как сделать адаптер своими руками

Диагностический адаптер ELM327 USB

Для соединения ПК с ЭБУ автомобиля.
Соединение – провод USB-OBD2.
Диагностика и сброс ошибок ЭБУ.
Поддержка К и L линии.

Адаптер ELM 327 USB предназначен для соединения диагностического программного обеспечения, установленного на персональном компьютере и “Электронного блока управления” (ЭБУ) установленного в автомобиле.

ELM 327 USB поддерживает протоколы:

  • ISO 9141
  • ISO 14230
  • J 1850 PWM
  • J 1850 VPW
  • CAN (J-2284)

Диагностический адаптер, elm usb является преобразователем логических протоколов и физических уровней сигнала и преобразует сигналы, идущие от ЭБУ по протоколам OBD II в формат USB (виртуальный COM порт). 

Применяется для диагностики и просмотра параметров двигателя в отечественных,  elm 327 ваз, и импортных, elm usb 327, автомобилях, оснащенных двигателями управляемыми ЭБУ. 

Адаптер elm327 usb работает на всех автомобилях, произведенных в США после 1996, Европе после 2001, а также на российских и азиатских автомобилях, по 2010 год.

 А также на некоторых моделях 1994 и 1995 года при условии, что автомобиль поддерживает «OBD II CERTIFIED». Наклейка с такой надписью должна быть под капотом.

    Ко всему прочему у каждого из перечисленных протоколов есть несколько разновидностей, которые могут отличаться, например, скоростью обмена информацией. В Интернете вы можете найти «таблицы применимости», где вы легко сможете, отыскав свою марку и модель машины, узнать какой именно OBD-II протокол поддерживает ваш автомобиль. Но не стоит забывать и о том, что одна и та, же модель, созданная в один и тот, же год и с идентичным двигателем может быть выпущена для разных рынков, и поддерживать разные протоколы диагностики. А сами протоколы могут различаться по моделям двигателей и по годам выпуска.

    Но все, же главное, на что стоит в первую очередь обратить внимание и что может свидетельствовать о поддержке автомобилем OBD-II диагностики, это наличие 16-контактного диагностического разъема (DLC – DiagnosticLinkConnector) трапециевидной формы.

    Подавляющее большинство OBD-II автомобилей оснащено таким разъемом, который находится под приборной панелью со стороны водителя. Такой разъем может быть, как открыт, так и закрыт. Если все же разъем закрыт, то нужно просто снять крышку, на которой может быть написано “OBD-II”, “Diagnose” и т.п. Также разъем OBD-II иногда можно установить на автомобиль, который не поддерживает ни один OBD-II-протокол.

    Применяемость ELM 327 USB

    Для того чтобы оценить применимость того или иного сканера для диагностики конкретного автомобиля, нужно определить: какой именно OBD2 протокол используется на вашем автомобиле и поддерживается ли он вообще.

    Для этого сначала нужно отыскать техническую документацию на автомобиль и заглянув в нее, а не в общее руководство по данной марке, узнать какой OBD-II протокол поддерживается вашей маркой автомобиля. Также немаловажно провести осмотр всех идентификационных табличек на самой машине, на которой Вы можете встретить надпись: “OBD-II compliant”, что означает «поддерживает OBD-II» или “OBD-II certified”, то есть «сертифицировано на поддержку OBD-II».

    Следующий способ – открыть информационную базу данных и посмотреть в ней. Но при условии, что база может иметь неточности, и содержать информацию, относящуюся к маркам автомобилей, выпущенных для другого рынка, такой способ теряет свою значимость. Лишь дилерские базы по отдельной марке способны вселять уверенность в точности данных.

    Также можно применить диагностический адаптер usb, с помощью него можно легко определить какой из OBD-II протоколов используется на машине. Если же сканер отказывается предлагать протокол, то перебор можно настроить вручную, а начать следует с протокола ISO. Он является самым популярным и распространенным. Также можно узнать по таблице предположительный протокол для своей марки машины и попробовать применить его.

    Ну и, наконец, можно просто исследовать самостоятельно диагностический разъем и определить есть ли в нем «выводы». «Выводы» должны подсказать какой протокол следует использовать. Так, для Pin 2 должны применяться протоколы PWM (J1850) и VPW (J1850). Для Pin 7 ISO-9141 и ISO-14230. Для pin 10 только один протокол PWM (J1850), а для Pin 15 два: ISO-9141 и ISO-14230. Но в случае с последним, при условии, что автомобиль использует L-линию диагностики.

    Большинство автомобилей пользуются протоколами ISO. Но, как и в любом правиле, здесь тоже есть свои исключения: большинство легковых автомобилей и грузовиков крупной американской автомобильной корпорации General Motors пользуются протоколом SAE J1850 VPW, а также большая часть автомобилей марки Ford применяют протокол J1850 PWM.

    Внимание! Поиск и установка программного обеспечения подходящего для вашего автомобиля осуществляется самостоятельно. 

    Предприятие-изготовитель предоставляет только драйверы адаптера и не несет ответственности за риски связанные с использованием программного обеспечения.

    Адаптер elm327 usb купить можно в нашем интернет-магазине по низкой цене. Мы поддерживаем Гарантию производителя, т. к. являемся Официальными дилерами. Обеспечим Доставку по России с гарантией.

    Гарантия:

    Гарантия на ОРИОН Адаптер ELM 327 – USB составляет 12 месяцев.

    Гарантия начинается со дня получения товара заказчиком.

    Все гарантийные обязательства samara-electro-stavr.ru полностью соблюдаются.

    Внимание в случае попытки самостоятельного вмешательства в конструкцию прибора для решения проблемы, прибор автоматически снимается с гарантии, в данном случае ремонт прибора идет платный.

    obd ii – команда elm327 CAN для включения перманентного включения фар

    спросил

    Изменено 4 года, 6 месяцев назад

    Просмотрено 7к раз

    Я хочу отправить AT-команду, чтобы включить фары в Nissan Leaf.

    Находится в ID 625

     0x00 - ВЫКЛ.
    0x60 - ВКЛ.
    0x40 - Габаритные огни включены
    0x68 - Фары и противотуманные фары включены
     

    как изменить это, отправив команды через Терминал Можешь помочь пошагово?

    • команда
    • obd-ii
    • can-bus
    • elm327
    1

    Если ваш Nissan говорит по CAN (т. е. ваше устройство ELM 327 ответит числом от 6 до 9, когда вы отправите AT DPN ), то вы можете:

    АТ Я В E0 В L1 В СП 0 0100 В Ш 625

    До сих пор у вас есть:

    1. сброс набора микросхем ( AT Z )
    2. остановил его от повторения всего, что вы пишете ( AT E0 )
    3. включил окончания строк, поэтому его ответ не перезаписывает вашу команду в temrinal (
      AT L1
      )
    4. установить протокол на «авто» ( AT SP 0 )
    5. инициализировать шину ( 0100 ) (ладно, не совсем так, но это помогает чипсету определить протокол)
    6. установить заголовок сообщения CAN на 625 ( AT SH 625 )

    Теперь вы знаете, какой из байтов вам нужно изменить на 0x40, чтобы включить фары? Вы можете попробовать отправить 40 00 напрямую, но я очень сомневаюсь, что это поможет.

    Примечание : не пытайтесь отправлять сообщения CAN по шине, если вы не знаете, что делаете. Не привлекайте никого к ответственности, если ваша машина начинает вести себя странно. Кроме того, не отправляйте сообщения во время вождения.

    Сам проверял на ATSH 625 и затем отправка 02 40 .
    Однако я обнаружил, что 625 отвечает на команду света, и это не команда. Команда

    ATSH 60D , нажмите Enter, чтобы получить OK, а затем отправьте 04 00 00 00 00 .

    Приведенные ниже ответы были проверены на Nissan Sunny 2016.

     0x00 — ВЫКЛ.
    0x60 - ВКЛ.
    0x40 - Габаритные огни включены
     

    60D 04 00 00 00 00 на самом деле включает стояночные огни, и они немедленно выключаются, так как ключевое положение ручки управления светом будет выключено, если вы его не измените.

    Сразу после отправки вышеуказанной команды я получил ответ: 625 02 40 FF . Если ваша цель – прочитать статус, мониторинг 625 даст вам это, для управления освещением требуется больше обратного проектирования.

    Я сам застрял, пытаясь управлять замком/отпиранием двери,
    У меня есть ответ на это, но я пока не могу его контролировать.

    Зарегистрируйтесь или войдите в систему

    Зарегистрируйтесь с помощью Google

    Зарегистрироваться через Facebook

    Зарегистрируйтесь, используя электронную почту и пароль

    Опубликовать как гость

    Электронная почта

    Обязательно, но не отображается

    Опубликовать как гость

    Электронная почта

    Требуется, но не отображается

    Python obd не подключает Raspberry Pi к машине

    У меня есть Raspberry Pi 3, и я пытаюсь подключить его к OBD моей машины. У меня есть сканер Veepeak Mini Bluetooth OBD2, и я проверил, что он отлично работает с Torque на Android.

    [ОБНОВЛЕНИЕ ПОСЛЕ ОБНОВЛЕНИЯ ДО ПОСЛЕДНЕЙ ВЕРСИИ pythonOBD]

    Оказывается, несколько дней назад была фиксация, которая привела к задержке в 0100\r сообщение. Очевидно, это было сделано для смягчения последствий для определенного набора сканеров OBD, которые не реагировали вовремя на это конкретное сообщение. Я клонировал репозиторий и вытащил последнюю версию из мастера и изменил строку импорта на это:

     import sys
    sys.path.insert(1, '/home/pi/python-OBD')
    импорт БДС
     

    Теперь, когда я собирал отдельный набор журналов, я так и не смог получить данные о машине. Автоматический протокол по умолчанию использует протокол 6 по какой-то причине, который выводит Ошибка CAN после сообщения 0100\r . После настройки протокола 5, единственного, который дал многообещающие результаты, я получаю следующие журналы:

     $> python obdtest. py
    [obd.obd] ======================= python-OBD (v0.7.1) ============== =========
    [obd.obd] Использование scan_serial для выбора порта
    [obd.obd] Доступные порты: ['/dev/rfcomm47']
    [obd.obd] Попытка использовать порт: /dev/rfcomm47
    [obd.elm327] Инициализация ELM327: PORT=/dev/rfcomm47 BAUD=38400 PROTOCOL=5
    [obd.elm327] напишите: 'ATZ\r'
    [obd.elm327] ожидание: 1 секунда
    [obd.elm327] читать: b'ATZ\r\r\rELM327 v1.5\r\r>
    ' [obd.elm327] запись: 'ATE0\r' [obd.elm327] читать: b'ATE0\rOK\r\r>' [obd.elm327] напишите: 'ATh2\r' [obd.elm327] читается: b'OK\r\r>' [obd.elm327] напишите: 'ATL0\r' [obd.elm327] читается: b'OK\r\r' [obd.elm327] напишите: 'AT RV\r' [obd.elm327] читал: b'13.9V\r\r>' [obd.elm327] напишите: 'ATTP5\r' [obd.elm327] читается: b'OK\r' [obd.elm327] запись: '0100\r' [obd.elm327] читать: b'>' [obd.elm327] нет ответа; ждать: 0,100000 секунд [obd.elm327] чтение: b'BUS INIT: OK' [obd.protocols.protocol] карта ЭБУ 16 --> ДВИГАТЕЛЬ [obd.elm327] Подключено успешно: PORT=/dev/rfcomm47 BAUD=38400 PROTOCOL=5 [obd.
    obd] запрос поддерживаемых команд [obd.obd] Отправка команды: 0100: Поддерживаемые PID [01-20] [obd.elm327] запись: '0100\r' [obd.elm327] читал: b'ОСТАНОВЛЕНО\r\r>' [obd.OBDCommand] 0100: поддерживаемые PID [01-20] не получили приемлемых сообщений [obd.obd] Нет действительных данных для команды списка PID: 0100: Поддерживаемые PID [01-20] [obd.obd] Отправка команды: 0900: Поддерживаемые PID [01-20] [obd.elm327] напишите: '0900\r' [obd.elm327] читается: b'87 F1 10 49 00 01 30 00 00 00 02 \r\r>' [obd.obd] завершил запрос с поддержкой 8 команд [obd.obd] ============================================ ====================== [obd.obd] «010C: обороты двигателя» не поддерживается Никто [obd.obd] Закрытие соединения [obd.elm327] закрытие порта [obd.elm327] напишите: 'ATZ\r'

    Похоже, что 0100\r записывается дважды, а журналы возвращают

    чтение: b'BUS INIT: OK' первое, а читается: b'STOPPED\r\r>' второе. Скорость передачи, кажется, работает одинаково, будь то 38400 или 9600, так что я не думаю, что это проблема.

    [Исходный вопрос]

    Я настроил Bluetooth на Raspberry Pi и подключил устройство, но при попытке запустить следующий скрипт он работает примерно 1 из 10–20 попыток со следующими журналами:

     импорт БДС
    obd.logger.setLevel(obd.logging.DEBUG)
    connection = obd.OBD() # автоматически подключается к порту USB или RF
    cmd = obd.commands.RPM # выбор команды OBD (датчик)
    response = connection.query(cmd) # отправить команду и проанализировать ответ
    print(response.value) # возвращает значения единиц измерения благодаря Pint
    соединение.закрыть()
     

    При сбое (в подавляющем большинстве случаев) отображается следующее:

     $> python obdtest.py
    [obd.obd] ======================= python-OBD (v0.7.1) ============== =========
    [obd.obd] Использование scan_serial для выбора порта
    [obd.obd] Доступные порты: ['/dev/rfcomm47']
    [obd.obd] Попытка использовать порт: /dev/rfcomm47
    [obd.elm327] Инициализация ELM327: PORT=/dev/rfcomm47 BAUD=auto PROTOCOL=auto
    [obd.
    elm327] Ответ от бода 38400: '\x7f\x7f\r?\r\r>' [obd.elm327] Выбор скорости 38400 бод [obd.elm327] напишите: 'ATZ\r' [obd.elm327] ожидание: 1 секунда [obd.elm327] читать: b'ATZ\r\r\rELM327 v1.5\r\r>' [obd.elm327] запись: 'ATE0\r' [obd.elm327] читать: b'ATE0\rOK\r\r>' [obd.elm327] напишите: 'ATh2\r' [obd.elm327] читается: b'OK\r\r>' [obd.elm327] напишите: 'ATL0\r' [obd.elm327] читается: b'OK\r\r>' [obd.elm327] напишите: 'AT RV\r' [obd.elm327] читал: b'15.0V\r\r>' [obd.elm327] напишите: 'ATSP0\r' [obd.elm327] читается: b'OK\r' [obd.elm327] запись: '0100\r' [obd.elm327] читать: b'>' [obd.elm327] напишите: 'ATDPN\r' [obd.elm327] читать: b'ПОИСК...\r86 F1 10 41 00 BF BF F990 CF \r\r>' [obd.elm327] Не удалось получить текущий протокол [obd.elm327] Адаптер подключен, но зажигание выключено [obd.obd] Невозможно загрузить команды: нет связи с автомобилем [obd.obd] ============================================ ====================== [obd.obd] «010C: обороты двигателя» не поддерживается Никто [obd. obd] Закрытие соединения [obd.elm327] закрытие порта [obd.elm327] напишите: 'ATZ\r'

    В случае успеха (1 из 10 или более попыток) отображается следующее:

     $> python obdtest.py
    [obd.obd] ======================= python-OBD (v0.7.1) ============== =========
    [obd.obd] Использование scan_serial для выбора порта
    [obd.obd] Доступные порты: ['/dev/rfcomm47']
    [obd.obd] Попытка использовать порт: /dev/rfcomm47
    [obd.elm327] Инициализация ELM327: PORT=/dev/rfcomm47 BAUD=auto PROTOCOL=auto
    [obd.elm327] Ответ от бода 38400: '\x7f\x7f\r?\r\r>'
    [obd.elm327] Выбор скорости 38400 бод
    [obd.elm327] напишите: 'ATZ\r'
    [obd.elm327] ожидание: 1 секунда
    [obd.elm327] читать: b'ATZ\r\r\rELM327 v1.5\r\r>'
    [obd.elm327] запись: 'ATE0\r'
    [obd.elm327] читать: b'ATE0\rOK\r\r>'
    [obd.elm327] напишите: 'ATh2\r'
    [obd.elm327] читается: b'OK\r\r>'
    [obd.elm327] напишите: 'ATL0\r'
    [obd.elm327] читается: b'OK\r\r'
    [obd.elm327] напишите: 'AT RV\r'
    [obd.elm327] читал: b'14.7V\r\r>'
    [obd.elm327] напишите: 'ATSP0\r'
    [obd. elm327] читается: b'OK\r'
    [obd.elm327] запись: '0100\r'
    [obd.elm327] читать: b'ПОИСК...\r86 F1 10 41 00 BF BF F990 CF \r\r>'
    [obd.elm327] напишите: 'ATDPN\r'
    [obd.elm327] читать: b'A5\r\r>'
    [obd.protocols.protocol] карта ЭБУ 16 --> ДВИГАТЕЛЬ
    [obd.elm327] Подключено успешно: PORT=/dev/rfcomm47 BAUD=38400 PROTOCOL=5
    [obd.obd] запрос поддерживаемых команд
    [obd.obd] Отправка команды: 0100: Поддерживаемые PID [01-20]
    [obd.elm327] запись: '0100\r'
    [obd.elm327] читать: b'86 F1 10 41 00 BF BF F9 90 CF \r\r>'
    [obd.obd] завершен запрос с поддержкой 51 команды
    [obd.obd] ============================================ ======================
    [obd.obd] Отправка команды: 010C: Обороты двигателя
    [obd.elm327] напишите: '010C\r'
    [obd.elm327] читается: b'84 F1 10 41 0C 08 3C 16 \r\r>'
    527,0 оборотов в минуту
    [obd.obd] Закрытие соединения
    [obd.elm327] закрытие порта
    [obd.elm327] напишите: 'ATZ\r'
     

    Обратите внимание, что 84 F1 10 41 0C 08 3C 16 не является MAC-адресом OBD-сканера. Кроме того, rfcomm47 устанавливается вручную на случайное значение, случайно выбранное значение 47.

    В журналах успеха согласуется номер протокола (5). Где-то я видел предложение просто продолжать попытки подключения, но когда я добавляю что-то вроде этого

    , в то время как len(connection.supported_commands) < 100:
        соединение = obd.Async("/dev/rfcomm47", протокол = "5", скорость = "38400", быстро = False, время ожидания = 30)
     

    Я получаю эти журналы каждый раз, когда он вызывается со второго раза:

     $> python sandboxobd.py
    <<журналы запуска>>
    [obd.elm327] напишите: 'ATDPN\r'
    [obd.elm327] читать: b'ПОИСК...\r86 F1 10 41 00 BF BF F9 90 CF \r\r>'
    [obd.elm327] Не удалось получить текущий протокол
    [obd.elm327] Адаптер подключен, но зажигание выключено
    [obd.obd] Невозможно загрузить команды: нет связи с автомобилем
    [obd.obd] ============================================ ======================
    [obd.obd] ======================= python-OBD (v0.7.1) ============== =========
    <<журналы запуска>>
    [obd.elm327] читать: b'>'
    [obd.elm327] напишите: 'ATDPN\r'
    [obd. elm327] читал: b'ПОИСК...\RUNABLE TO CONNECT\r\r>'
    [obd.elm327] Не удалось получить текущий протокол
    [obd.elm327] Адаптер подключен, но зажигание выключено
    [obd.obd] Невозможно загрузить команды: нет связи с автомобилем
    [obd.obd] ============================================ ======================
     

    Вторая часть повторяется бесконечно. Прямое подключение к протоколу 5 с использованием connection = obd.OBD(protocol="5") дает мне следующее:

     [obd.elm327] Успешное подключение: PORT=/dev/rfcomm47 BAUD=38400 PROTOCOL=5
    [obd.obd] запрос поддерживаемых команд
    [obd.obd] Отправка команды: 0100: Поддерживаемые PID [01-20]
    [obd.elm327] запись: '0100\r'
    [obd.elm327] читал: b'BUS INIT: STOPPED\r\r>'
    [obd.OBDCommand] 0100: поддерживаемые PID [01-20] не получили приемлемых сообщений
    [obd.obd] Нет действительных данных для команды списка PID: 0100: Поддерживаемые PID [01-20]
    [obd.obd] завершен запрос с поддержкой 7 команд
    [obd.obd] ============================================ ======================
    [obd. 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *