пин код obd2 elm327 какой
Настройка подключения к Bluetooth адаптеру ELM327 на Android
Для начала, убедитесь, что у вас есть адаптер OBDII ELM327 с типом подключения Bluetooth.
Вам необходимо вставить его в диагностический разъем (также известный как разъем OBD2) и включить зажигание или запустить двигатель. Если у вашего адаптера на корпусе есть кнопка включения — нажмите ее.
Шаг №1: Настроить связь с адаптером в системных настройках Bluetooth вашего телефона или планшета. Если вы это уже сделали, либо в системных настройках вашего устройства нет раздела Bluetooth, в котором можно добавить устройство (такое часто встречается на мультимедийных системах) — переходите к шагу №2.
ВНИМАНИЕ! В зависимости от версии Android, шаги, необходимые для связи телефона с адаптером могут различаться!
Откройте системные настройки вашего телефона (настройки Android, не Car Scanner) и перейдите в раздел Bluetooth. Включите Bluetooth.
Вам необходимо добавить новое Bluetooth устройство. В некоторых версиях Android поиск Bluetooth устройств начинается сразу после перехода в раздел Bluetooth и включения Bluetooth, а в других нужно выбрать пункт «Добавить новое устройство» (название также может отличаться).
Подождите немного пока идет обнаружение Bluetooth устройств, находящихся поблизости и найдите в списке обнаруженных устройств ваш адаптер.
Обычно адаптер называется “OBDII”, “obd2” или что-то в этом роде. Если у вас фирменный адаптер, то его название может быть схожим с названием бренда производителя (например «Viecar», «VLink») и т.д.
ВНИМАНИЕ! Адаптер никогда не называется брендом или моделью вашего автомобиля и никогда не называется «MY CAR». Не путайте адаптер с мультимедийной системой вашего автомобиля!
Нажмите на адаптер. Для многих адаптеров требуется ввод ПИН-кода (пароля).
Обычно ПИН-код «0000», «1234», «7890» или «1111», но если эти пароли не подходят, то обратитесь к документации от вашего адаптера или к продавцу.
Шаг №2: Выбор адаптера в Car Scanner.
Откройте Car Scanner и перейдите в настройки (кнопка в виде шестеренки в правом верхнем углу)
Выберите тип подключения: Buetooth (не выбирайте Bluetooth LE (4.0) — это совершенно другая технология связи!)
Нажмите на кнопку «Выбрать устройство». Вы перейдете в окно поиска находящихся рядом устройств Bluetooth.
Подождите, пока ваш адаптер будет обнаружен.
Вот и все, настройка подключения завершена. Теперь Вам нужно просто нажать на большую зеленую кнопку «Подключить» на главном экране программы.
Инструкция по подключению ELM327 Bluetooth к смартфону под управлением ОС Android
Приветствую Вас, друзья мои!
У меня иногда спрашивают как подключил адаптер.Чтобы много раз не объяснять, решил закинуть сюда, и давать ссыль =)
Начну с того, что я юзаю вот такой блюпупадаптер =)
Инструкция заточена для японских авто Toyota, для других авто потребуются другие коды в строке инициализации.
Итак, сначала берём Torque PRO ( версия лайт не подойдет ).Можно взять у меня туточки, или на 4PDA, или просто скачать на Google Play:play.google.com/store/app…tails?id=org.prowl.torque.
Также последние версии Торка с плагинами и прочими допами можно посмотреть туточки.
1. Установите программу Torque PRO
2. Подключите ELM327 Bluetooth в диагностический адаптер вашего авто
3. Включите зажигание или заведите мотор, при этом на ELM327 Bluetooth должны загореться индикаторы
4. Заходим в настройки Android
5. Заходим в настройки беспроводных сетей
6. Включаем Bluetooth и жмем кнопку «Настройки Bluetooth»
7. Жмем кнопку «Поиск устройств»
8. Нажимаем на найденный адаптер. Варианты названий ELM327 Bluetooth — OBD-II, avto diag, CHX.
9. Коды сопряжения обычно: 1234 или 0000 или 6789
10. Если код подошел и все хорошо, увидим надпись «Сопряжено, но не подключено». На этом настройка Bluetooth закончена
11. Запускаем ранее установленную программу Torque и сразу же создаем профиль авто
11.1 Заходим в меню слева
11.2 Жмем «профиль авто»
11.3 Заполняем профиль в соответствии с вашей тойотой (название, объем бака, объем двигателя, массу автомобиля) идем в самый низ и видим там последние 2 строчки
ВАЖНО!11.4 «предпочтительный OBD 2 протокол» ставим ISO 14230-4(5b init, 10.4k baud)
и ниже вписываем atsp4\natiia13\natib96\natsh8113f1\natsw00\natat2
и сохраняем профиль (в лайт версии этой строчки нет)
12. После запуска программы Torque видим, что единственный прибор на главном экране программы НЕАКТИВЕН
13. Нажимаем на смартфоне кнопку «Меню» и заходим в «Настройки». В настройках выбираем пункт «OBD2 настройки адаптера»
14. Жмем «Тип соединения»
15. Выбираем «Bluetooth»
16. Жмем «Выберите устройство Bluetooth»
17. Выбираем то устройство, с которым установили сопряжение в пункте 10. На этом настройка программы Torque завершена. Возвращаемся на главный экран программы
18. Жмем «Adapter Status»
19. Наблюдаем процесс установления связи с адаптером и ЭБУ
20. Ждем пока не появятся 4 зеленые галочки. Если хотя бы одна галочка не появилась — значит вы что то сделали не так. Повторите инструкцию с пункта 2
21. Выходим на главный экран программы и видим, что основной прибор стал автивным и показывает текущие обороты двигателя. Для просмотра других приборов жмем «Realtime Information»
22. Получаем несколько экранов с приборами. Если нажать на прибор или пустое место на экране, то можно будет добавить\удалить прибор
Резюме: Для диагностики движки и сброса ошибок подойдёт.Кроме движки ничего не продиагностировать через этот адаптер
Информация для поста собрана из разных мест, в том числе и с драйва =)
ВАЖНО!Чтобы при подключенном адаптере не мигала пиктограмма ABS нужно закрасить ножки отмеченные на картинке
Как пользоваться автосканером ELM327
OBD (On-Board Diagnostic) обозначает диагностику и контроль основных узлов автотранспортного средства (шасси, двигателя и некоторых вспомогательных устройств). Для проведения самостоятельной проверки систем чаще всего используется диагностический адаптер ELM327 – компактный прибор, который передает данные о работе авто в режиме реального времени. Все что необходимо для использования ЕЛМ – это ПК, работающий на ОС Windows, телефон или планшет на Андройд или iOS. Если говорить о том, как пользоваться ELM327, то справиться с подключением девайса сможет даже начинающий автовладелец.
Однако прежде чем приступить к эксплуатации устройства, необходимо уточнить совместимость сканера для диагностики с вашим автомобилем.
С какими автомобилями совместим сканер
Чтобы определить какой автосканер подходит для личного авто, достаточно определить протоколы обмена данными. Для этого необходимо взглянуть на колодку OBD-2 и уточнить, какие контакты на ней присутствуют:
Наличие контакта 7 (K-Line) говорит о том, что для диагностики используется протокол ISO 9141-2. Такие диагностические разъемы используются в автомобилях азиатского и европейского производства.
Выводы 4, 5, 7, 15 и 16 свидетельствуют о протоколе ISO14230-4KWP2000, который обычно используется на машинах Daewoo, KIA, Hyundai, Subaru STi и на некоторых моделях Mercedes.
Во всех описанных выше случаях можно смело пользоваться сканером ELM327. Кроме этого, он будет беспрепятственно работать с протоколами:
SAE J1850 PWM/VPW;
ISO 15765-4 CAN 29/11 bit 250/500 Kbaud;
SAE J1939.
Как правило, автосканер ELM327 без проблем устанавливается и подключается на любой автомобиль.
Как подключить на Android
Для подключения сканера ELM327 используется специальное гнездо, которое расположено под рулевой колодкой автомобиля (в салоне).
Полезно! Если сканер устанавливается на ВАЗ и прочие отечественные авто до 2006 года выпуска, то, скорее всего, потребуется воспользоваться переходником или адаптером.
Скачать в Google Play небольшую утилиту Torque. Это приложение считается самым лучшим, так как оно позволяет дополнительно считывать ошибки систем авто.
Подключить ELM327 в соответствующий разъем.
Завести двигатель авто.
Активировать блютуз на мобильном устройстве.
Зайти в настройки смартфона и перейти в «Беспроводные сети Bluetooth».
Нажать на «Поиск нового оборудования».
Дождаться, пока на экране телефона не отобразится список доступных устройств.
Выбрать из них OBD 2 и соединиться с ним. Для этого требуется указать специальный код сопряжения, чаще всего это 1234 или 0000.
Когда подключение ELM 327 bluetooth будет завершено, можно переходить к настройкам. Для этого заходим в Torque и выбираем «OBD 2 настройки адаптера».
Далее, необходимо выбрать устройство Bluetooth, то есть сам сканер ELM 327.
Через некоторое время установится соединение, и можно будет приступать к диагностике систем автомобиля.
Интерфейс программы
Если говорить про ELM 327 interface OBD 2, то он интуитивно понятен. После установки подключения необходимо дождаться, пока мигающая иконка с изображением автомобиля не перестанет моргать. Если все было правильно, то, устройство сразу начнет работать.
Разберемся, как пользоваться автосканером, а точнее, какие из иконок программы Torque нас будут больше всего интересовать:
OBD Check Fault Code – позволяет считать и расшифровать возможные ошибки автомобиля.
Realtime Information – счетчики, отображающие показатели параметров двигателя в реальном времени. Пользователь может самостоятельно выбирать и добавлять счетчики, которые ему нужны. Для этого необходимо нажать «Добавить экран».
Map View – отображает маршрут передвижения.
Во время движения автомобиля водитель может смотреть за показателями датчиков давления, скорости, расхода топлива и многого другого.
Если же вы хотите получать более развернутые данные о системах авто, то рекомендуется подключиться к сканеру ЭЛМ через ПК.
Как подключить на Windows
Чтобы разобраться, как подключить сканер к компьютеру необходимо скачать программу ScanMaster.
Полезно! Перед использованием программы, скачанной из сети, ее нужно правильно установить. Для этого, сначала найдите файл с названием «Key» или «Keygen» и сгенерируйте ключ доступа. После этого можно запускать установочный файл с расширением «.exe».
После этого необходимо:
Подключить сканер в разъем в автомобиле.
Завести двигатель машины.
Зайти в панель управления компьютера и перейдите в раздел «Устройства Bluetooth».
Нажать «Добавить устройство» и установить галочку рядом с «Устройство готово к обнаружению» и выбрать «Далее».
Некоторое время будет осуществляться поиск доступных устройств, после чего автосканер подключится к ноутбуку.
Повторно нажать «Далее».
В появившемся окне необходимо вбить один из стандартных кодов: 0000, 1111, 1234 или 6789.
Снова нажать «Далее».
Дождаться автоматической интеграции устройства с ПК и нажать «Готово».
На этом установка ПО для сканера завершена.
Если вы являетесь ярым поклонником яблочной продукции, и вариант подключения к ПК или смартфону Android вас не устраивает, то стоит приобрести специальную модель ELM 327 Wi-Fi, которую можно подключить к любому iOS устройству.
Как подключить к iPhone или iPad
Чтобы заполучить свой собственный диагностический центр для проверки работы автотранспортного средства не обязательно подключаться к сканеру через блютуз. Более современные модели ЕЛМ оснащены Wi-Fi модулем, который позволяет использовать для получения данных практически любое портативное устройство.
Рассмотрим, как установить такое соединение:
Подключить сканер к разъему в авто.
Зайти в раздел, отвечающий за настройки беспроводного соединения и выбрать сеть «CLKDevices».
Справа будет синяя стрелка, на которую необходимо нажать.
В появившемся окне нужно ввести данные адреса IP и маршрутизатора: 192.168.0.11. Также нужно указать стандартную маску подсети: 255.255.255.0.
Чуть ниже необходимо указать порт 35000.
На этом настройка заключена. Зная, как пользоваться сканером ELM 327, достаточно установить любое приложение для быстрой диагностики и прописать в ее настройках те же самые параметры IP и порта.
Однако стоит учитывать, что при настройке частных сканеров могут возникнуть трудности.
Наиболее частые ошибки при подключении
Проблемы, которые могут возникнуть при соединении:
Сканер не подключается к ЭБУ. Такое может случиться по нескольким причинам: прибор не подходит для марки/модели авто, неверно подобран переходник или программа. Иногда водитель забывает пройти инициализацию. Реже подключения не происходит из-за банальной механической поломки – вышел из строя предохранитель, который отвечает за работу разъема OBD II.
ELM327 не показывает данные в реальном времени (например, расход топлива). Дело в том, что данная функция доступна только во время движения автомобиля.
Автосканер не считывает или не сбрасывает ошибки. Часто для активации устройства нужен работающий двигатель, поэтому достаточно просто запустить мотор. Некоторые дешевые модели ELM327 не умеют обнулять ошибки ABS, это решаемо, но требуется модификация прибора.
В заключении
ELM327 – это компактный девайс, который позволит значительно сэкономить на диагностике автомобиля, он прост в использовании и позволяет выводить данные почти на любой ПК или телефон. Тем не менее, перед тем, как самостоятельно подключать автосканер, стоит изучить видео, в котором наглядно показан процесс использования ЕЛМ.
Настройка OBD II ELM 327 Bluetooth на китайском ГУ. Torque и Car scanner
После установки магнитолы из Китая на Android одной из целью было установка torque на ГУ. Но, как и многие другие пользователи, столкнулся с проблемой сопряжения ELM 327 с ГУ по Bluetooth.
В параметрах Bluetooth соединений OBD не хотел коннектиться.
Решением этой проблемы оказалось до ужаса простым — просто нужно зажать строку с OBD II на 10 секунд. Через 10 секунд эта строчка перепрыгивает в раздел Сопряжённые устройства.
Нигде не нашел на просторах тырнета этой информации. Вот теперь надеюсь помогу многих подключить ELM к их ГУ.
А вообще, ещё до того, как разобрался с сопряжением, решил проверить, будет ли ELM работать с другими программами. И ведь он заработал. Установил сначала с play market «car scanner» и внёс информацию о машине.
Далее нажимаем на шестерёнку в верхнем правом углу и заходим в настройки. Жмём «подключения».
Выбираем Bluetooth, но не Bluetooth LE (4.0), и жмём выбрать устройство. Ждем, когда появится наш OBD II и выбираем его.
Вот и все. Возвращаемся в основное меню car scanner и жмакаем кнопку подключить.
По интерфейсу мне очень понравилось приложение car scanner. Куча всяких настроек и все это оформлено в красивой упаковке.
Диагностический адаптер ELM327 Mini (клон ELM327)
Когда-то в далеком 2013 году на aIiexpress, я приобрел китайский адаптер ELM327 Mini и уже в наши дни, не смотря на наличие адаптера HEX-USB+CAN для VCDS/ВАСЯ, решил полностью разобраться с его устройством и возможностями.
Bluetooth имя этого адаптера OBDII, MAC адрес 11:22:33:DD:EE:FF, пароль 1234.
Какие программы поддерживают этот адаптер? Из опробованных мной:
1. Car Scanner ELM OBD2 — мониторинг OBD2 параметров, изменение кодировок, адаптаций, параметрирование, запуск тестов исполнительных механизмов.
2. Torque Pro — мониторинг OBD2 параметров
3. Carista — изменение кодировок и адаптаций блоков
4. VAG DPF мониторинг состояния сажевого фильтра — незаменимый инструмент для владельцев автомобилей VAG с дизельным двигателем
5. Deep OBD — диагностика автомобилей BMW и VAG (протоколы KPW2000, KWP1281 и TP2.0)
6. ForScan диагностика автомобилей Ford
Проблемы замеченные во время использования адаптера
1. При прекращении приема/передачи данных между адаптером и подключенными к нему приложениями, соединение bluetooth зависало и приходилось отключать/включать bluetooth на смартфоне и соединяться повторно.
2. Считывание данных программами работало подозрительно медленно.
ВАЖНО! Многие недобросовестные производители китайских адаптеров ELM327 хитрят, прошивая чип адаптера одной из самых первых и сырых версий прошивки, которая за счет подмены номера в строке версии, сообщает, что она ELM 1.5, но на самом деле не является таковой. Соответственно такие адаптеры, поддерживают не все AT команды или отрабатывают их некорректно.
Проверка реально поддерживаемых AT команд
Лучшим и единственным заработавшим на моем Samsung A7 2017 на Android 8.0 приложением для этой цели, оказалось ELM327 Identifier by Daaren Fonloil.
Слева заводская китайская прошивка версии 2013 года, а справа прошивка с открытым исходным кодом Deep OBD ELM 1.5. Спасибо автору Ulrich Holeschak за предоставленный скриншот:
Обе прошивки выдают строку версии ELM327 v1.5, и как и положено, поддерживают наборы AT команд версии 1.4. Подробные отличия номеров версий, можно посмотреть в официальном руководстве.
Ищем причину зависания bluetooh после прекращения активности
Для этого я установил Serial Bluetooth Terminal для Android.
После соединения, с адаптером по bluetooth, я ввел в терминале команду ATPPS, выдающую конфигурацию хранящуюся в eeprom чипа. Оказалось, что информация частично теряется:
>ATPPS
00:FF F 01:FF F 02:FF F 03:32 F
04:01 F 05:FF F 06:F1 F 07:09 F
08:FF F 09:00 F 0A:0A F 0B:FF F
0C:68 F 0D:0D F 12:FF F 13:32 F
14:FF F 15:0A F 16:FF F 17:92 F
18:00 F 19:28 F 1F F
1C:FF F 1D:FF F 1E:FF F 1F:FF F
20:FF F 21:FF F 22:FF F 23:F00 F 27:FF F
28:FF F 29:FF F 2A:38 F 2B:02 F
2C:E0 F 2D:04 F 2E:80 F 2F:0A F
А неискаженный список должен выглядеть так:
00:FF F 01:FF F 02:FF F 03:32 F
04:01 F 05:FF F 06:F1 F 07:09 F
08:FF F 09:00 F 0A:0A F 0B:FF F
0C:68 F 0D:0D F 0E:9A F 0F:FF F
10:0D F 11:00 F 12:FF F 13:32 F
14:FF F 15:0A F 16:FF F 17:92 F
18:00 F 19:28 F 1A:FF F 1B:FF F
1C:FF F 1D:FF F 1E:FF F 1F:FF F
20:FF F 21:FF F 22:FF F 23:FF F
24:00 F 25:00 F 26:00 F 27:FF F
28:FF F 29:FF F 2A:38 F 2B:02 F
2C:E0 F 2D:04 F 2E:80 F 2F:0A F
Интересный нюанс, в китайской прошивке, все параметры неактивны, об этом говорит буква F возле значения каждого байта.
Подключившись к ELM327 Mini с ноутбука через встроенный bluetooth адаптер, при помощи putty, в ответ на ввод ATPPS выдавался тот же искаженный список выше и также подвисал bluetooth после прекращения активности.
Разборка адаптера для исследования
Крышка адаптера удерживается 4-мя защелками изнутри. Чтоб к ним добраться, я снял наклейку с одной стороны и используя отвертку и подсветку фонариком, проковырял отверстия в местах где эти защелки находятся:
Оказалось достаточно поддеть только эти две защелки и крышку удалось стянуть:
Адаптер сделан в виде гамбургера, состоящего из двух двусторонних плат, соединенных между собой запаянными штырьками по 8 штук с двух сторон. К верхней плате припаян bluetooth модуль EC04.
Задействованные контакты OBD2 разъема:
По присутствию распаянных и даже подписанных контактов 2, 4, 5, 6, 7, 10, 14, 15, 16, видно, что на уровне железа, все протоколы поддерживаются:
Оригинальный чип ELM327, это ничто иное, как микроконтроллер PIC18F25K80:
В наши дни на китайские клоны ставят что угодно, но мне повезло, здесь оригинал Microchip PIC18F25K80 Enhanced Flash Microcontroller with ECAN™ XLP Technology, объем Flash для прошивки 32 Кбайт, память для обработки данных 3 Кбайт, EEPROM 1 Кбайт, встроенный контроллер CAN 2.0B.
Наличие буквы F в маркировке означает что микроконтроллер перепрограммируемый, а не с однократной записью.
Справа находится AMS117 3.3 преобразующий 5 в 3.3 вольт для питания bluetooth модуля. Слева кварц на 4МГц — мелочь, а приятно, так как он опционален даже на оригинальном адаптере.
Смотрим с другой стороны:
На верхней плате имеется три светодиода:
Красный индикатор питания (на схеме L5) загорается и постоянно горит при подключении адаптера к OBD2 разъему.
Зеленые светодиоды прием/передача (на схеме L2 и L4), подключены к контактам 27 (OBD Rx LED — диод слева) и 25 (RS232 Rx LED — диод справа) микроконтроллера PIC и мигают, когда он принимает данные от ЭБУ автомобиля и bluetooth адаптера.
Используя принципиальную схему оригинального адаптера ELM327 из официального руководства OBD to RS232 Interpreter
Примечательно! Разработчики китайского адаптера, соединили вывод TX PIC имеющий уровень 5 Вольт, выводом RX модуля bluetooth имеющим уровень 3 Вольт, через резистор 220 Ом, без понижения напряжения.
Контакты для программирования PIC
Были найдены на штырьках соединения верхней платы, слева от антенны bluetooth модуля:
Исследуем bluetooth модуль
Он построен на чипе СС2562F256 и EEPROM T24C128A объемом 16Кбайт.
Даташит на СС2562F256 найти не удалось. Буквы TI намекают на Texas Instruments, но на самом деле это неизвестный китайский клон.
Поиск в google, подсказал что это EC04-B, также известный как EDPA и задуман как удешевленная альтернатива модулю BC04 (BlueCore 4) компании CSR.
BC04 состоит из связки чип СSR BC417 + Flash объемом 1 Мбайт. BC04 и его часто устанавливают в bluetooth адаптеры HC04, HC05 и HC06, используемые с Arduino и в клонах адаптера VAS5054A.
Расположение выводов модуля EC04 по передаче данных и питанию (RX, TX, 3,3 вольт, GND), полностью совпадает с модулем BC04.
Пытаясь найти обновленную прошивку для модуля EC04, я обратился в интернет магазин по ссылке выше, но в ответ на мое письмо, получил ответ, что никаких прошивок у них нет и модуль отлично работает 🙂
Не смотря на рекламируемую дешевизну, я бы воздержался от его покупки, так как обновлений прошивки под него нет, а на заводской (по крайней мере у меня) он виснет.
Не смотря на дешевизну, адаптер имеет джампер выбора уровней выходных сигналов и целых три красных светодиода (сверху справа в углу индикатор питания, справа от чипа TX и RX).
После получения адаптера, я первым делом, скачал и поставил официальные драйвера с сайта FTDI CDM v2.12.28 WHQL Certified.
Кстати кто не знал, эта версия драйверов больше не брикает фейковые китайские чипы FT232R как это было раньше.
Далее проверил чип в MProg:
Неизменяемый eeprom и серийник A50285BI подтвердили фейковость чипа. Несмотря на это, судя по качеству шлифовки индексной метки чипа, клон качественный.
Отпаиваем bluetooth модуль EC04 от платы ELM327 для проверки
Прошивка EC04, общается с PIC на скорости 38400 бит/c и эта настройка хранятся в EEPROM T24C128A находящемся на борту модуля EC04.
Подключившись к отпаянному EC04 TTL кабелем c джампером в положении 3V, установив в putty скорость 38400, и подав питание на модуль, я увидел в терминале строку с версией прошивки: BOLUTEK, SPP V1.1
ВАЖНО! Прошивка bluetooth модуля ожидает команды переданные одним пакетом, имеющие CR+LF символы как завершение строки.
putty, не смотря на наличие опции Terminal>Implicit LF in every CR, не умеет слать команды одним пакетом и поэтому использовать его для посылки команд через TTL кабель модулю bluetooth бесполезно.
На момент проверки я этого не знал и проверить реакцию bluetooth модуля на команды мне не удалось.
Далее я подключил TTL кабель к контактам TX/RX PIC вместо отпаянного EC04 и убедился, что искажения информации при вводе команды ATPPS, а также зависаний после некоторого времени не наблюдается.
Вердикт: в искажении информации и зависании bluetooth соединения виноват исключительно модуль bluetooth EC04.
Приводим в порядок уровни сигналов
Изучив замечательный документ ELM and Bluetooth я понял, что нужно организовать делитель напряжения с 5В на TX выводе PIC, до 3,3В на RX входе bluetooth модуля.
Используя SMD резисторы найденные на старой компьютерной материнской плате, я заменил резистор на выходе TX PIC c 220 Ом на 2,2 кОм, подпаяв к нему еще один на 4,7 кОм, второй вывод которого пустил на землю.
На что заменить EC04? Разбираемся с разновидностями bluetooth чипов СSR
Британская компания CSR (Cambridge Silicon Radio), до поглощения ее компанией Qualcomm в 2015 году, выпускала следующие чипы:
BC352239 (BC03) BlueCore 3-Multimedia External, bluetooth v1.2, проект pdw (paddywack) / elv (elvis)
BC358239 (BC03) BlueCore 3-Multimedia, bluetooth v1.2, проект kal (kalimba)
BC417143 (BC04) BlueCore 4-External стандарт Bluetooth v2.0+EDR, проект cyt (coyote)
Это очень интересные решения, и прошивки для них разделены на два типа native и vm
Для vm прошивки, пользователь может разработать свое приложение, которое работает в виртуальной машине.
Именно под этот режим и написана прошивка SPP_UART из проекта Deep OBD.
Прошивки native и vm, можно скомпилировать под доступны объем памяти flash чипа:
compact — содержит только стек и поэтому подходит для flash размером от 4 Мбит)
unified — содержит загрузчик и bluetooth стек, включающий в себя всё, начиная от Host Controller Interface (HCI), до Radio Frequency COMMunication (RFCOMM) — требует flash размером 8 Мбит.
Для проектов coyote (BC417), elvis (BC352) и kalimba (BC358) доступны прошивки native/vm unified.
Для проектов jumpingjack и paddywack (BC352) доступны только прошивки vm compact.
Все перечисленные выше прошивки, входят в дистрибутив интерактивной среды разработки приложений BlueLab 4.1 и после установки, находятся в папке \BlueLab41\firmware.
Когда существовал сайт www.csrsupport.com, там можно было скачивать обновленные версии прошивок для BlueLab 4.1. После покупки компании Qualcomm’ом, сайт потушили.
Если у кого-то есть прошивки c www.csrsupport.com/BluetoothFirmware не только под проект coyote 23263_cyt_8unified_fl_bt3.0_23i_0911261257_encr56_oem_prod.zip, но и под другие проекты, большая просьба поделиться.
Покупаем новый модуль bluetooth
Как и планировалось, опять же на aIiexpress, я приобрел bluetooth адаптер HC-05:
На фото видно, что модуль достался со сломанной ножкой EN, неприятно, но не смертельно. Присутствует кнопка для замыкания VCC на ножку 34 (PIO11/KEY). Ее нажимают и держат при подаче питания на адаптер, когда его необходимо запустить в режиме AT команд. В ответ на это, светодиод должен начать моргать медленно, с паузой в 2 секунды.
Приятным сюрпризом оказалось присутствие на обратной стороне платы точек ведущих на SPI контакты для считывания и программирования прошивки.
Как окажется позже после тестирования, чип bluetooth здесь перемаркирован. На самом деле это чип BC352239 (BC03). Настоящий BC417143 легко отличить по надписи csr над логотипом. В перемаркированном, она справа от логотипа.
BC352239 тоже отличный чип, но в отличие от BC417143 (BC04) поддерживающего bluetooth 2.0 EDR (скорость до 3 Мбит/c), это bluetooth 1.2 (скорость до 1 Мбит/с).
Flash Spansion AL008J70BF102 тоже. что-то перемаркированное. Реальный объем 6 Мбит, вместо 8 Мбит у оригинала.
Регулятор напряжения 85AD (Si9185), установлен для питания чипа напряжением 1.8В. Не смотря на то, что модуль толерантен к питанию от 2 до 6В, не следует забывать, что уровни RX/TX должны быть 3В.
Тест bluetooth модуля HC-05
Выставив на адаптере FT232RL джампер на 3,3В, я подсоединил его к HC-05 по схеме VCC-VCC, GND-GND, RX-TX, TX-RX и с помощью мини-USB кабеля подключил к голубому USB3.0 разъему ноутбука.
Адаптер сразу определился Windows 10 и после автоматической установки драйвера виртуального COM порта, красный светодиод на HC-05 начал быстро моргать индицируя работу в модуля в транспортном (прозрачном) режиме.
На ноутбуке я запустил putty открыл COM порт, к которому был присоединен FT232RL адаптер и соединился RS232 портом BC04 на скорости 9600 Кбит/c.
На смарфоне в bluetooth окружении я нашел и подсоединился к устройству HC-05, введя пароль 1234.
Далее запустил Serial Bluetooth Terminal и послал пробные строки. Они успешно отобразились в putty на ноутбуке. Ура, адаптер работает 🙂 Протестировав его некоторое время, я убедился, что он работает стабильно, соединение не рвется, не виснет и в отличии от старого модуля EC04, при выключении/включении bluetooth на смартфоне, соединение устанавливается быстро и без повторного ввода пароля.
Изучаем режим AT команд прошивки модуля BC04
Для входа в режим AT команд на адаптерах HC05 c bluetooth прошивками СSR, нужно выключить питание адаптера, нажать и удерживать кнопку подающую VCC на ножку 34 (PIO11/KEY) чипа, включить питание и дождаться пока светодиод на модуле не начнет медленно мигать с интервалом в 2 сек.
Для работы с адаптером в режиме AT команд, putty не подходит (не умеет слать команды одной строкой с CR+LF).
Идеально подходит HTerm.
Запускаем его, выбираем COM порт, выставляем скорость 38400 бит/с и нажимаем Connect.
Выставляем опции «Newline at» CR+LF, отключаем «Show newline characters» и устанавливаем «Send on enter» CR+LF
Команды вводятся только заглавными буквами.
AT выдает OK
AT+VERSION выдает VERSION:3.0-20170601
AT+UART выдает +UART:9600,0,0 имеет смысл сразу переключить на 38400 введя AT+UART=38400,0,0
AT+PSWD выдает +PIN:»1234″
AT+ORGL — сбрасывает настройки на заводские.
AT+NAME выдает +NAME:HC-05, но после сброса +NAME:H-C-2010-06-01
AT+ROLE выдает +ROLE:0
AT+ADDR выдает +ADDR:19:7:346
Полный список можно посмотреть здесь
Создание резервной копии прошивки BC04
Cкачиваем и устанавливаем bluesuite 2.6.11.1937
Скачиваем csr-spi-ftdi-0.5.3.zip
Из csr-spi-ftdi-0.5.3.zip, берем usbspi.dll находящийся в папке lib-win32 и заменяем им файлы в
c:\Program Files (x86)\QTIL\BlueSuite 2.6.11\usbspi.dll и c:\Program Files (x86)\QTIL\BlueSuite 2.6.11\x64\usbspi.dll
Качаем и запускаем Zadig 2.4, выбираем «List all devices» и заменяем FTDI драйвер на libusbK (v3.0.7.0).
Подпаиваемся к четырем точкам на обратной стороне платы HC-05 и подключаем их к FT232RL по схеме CS# (CSB) — DTR, MOSI — RI, MISO — DSR (RSD), CLK — RTS:
Питание берем с FT232RL, выставив джампер на 3V.
Под правами админа запускаем cmd и читаем ID bluetooth чипа:
c:\Program Files (x86)\QTIL\BlueSuite 2.6.11>e2cmd info
e2cmd, version 2.6.11.1937 Release
Copyright © 2007-2018 Qualcomm Technologies International, Ltd.
All Rights Reserved.
Qualcomm Technologies International, Ltd. Confidential and Proprietary.
13:26:32.128657: all:spi.c:558:spi_init: csr-spi-ftdi 0.5.3, git rev 80b2ad0
Chip ID — 0x07e2
Chip Name — BC3 Audio Flash (pdw)
Unable to calculate addressing mode of EEPROM
*** FTDI Statistics ********************************************************
csr-spi-ftdi version: 0.5.3 (git rev 80b2ad0)
Time open: 8.95 s
Time in xfer: 8.64 s (96.46% of open time)
Reads: 233 (46432 bytes, 199.28 bytes avg read size)
Writes: 332 (47108 bytes, 141.89 bytes avg write size)
Xfer data rate: 10.57 KB/s (93540 bytes in 8.64 s)
IOPS: 65.00 IO/s (565 IOs in 8.64 s)
FTDI chip: FT232R (3), buffer size: 384 bytes
FTDI stats: 955.00 xfers/s (0.00 short reads/s,
8255 xfers/1 short reads in 8.64 s,
14.00 xfers/IO, 363.00 bytes/xfer)
SPI max clock: 1000 kHz, min clock: 666 kHz, slowdowns: 1
****************************************************************************
Читаем версию чипа:
c:\Program Files (x86)\QTIL\BlueSuite 2.6.11> BlueFlashCmd.exe chipver
blueflashcmd, version 2.6.11.1937 Release
Copyright © 2002-2018 Qualcomm Technologies International, Ltd.
All Rights Reserved.
Qualcomm Technologies International, Ltd. Confidential and Proprietary.
17:03:17.089485: all:spi.c:558:spi_init: csr-spi-ftdi 0.5.3, git rev 80b2ad0
GBL_CHIP_VERSION = 0x07e2
Result:
*** FTDI Statistics ********************************************************
csr-spi-ftdi version: 0.5.3 (git rev 80b2ad0)
Time open: 0.03 s
Time in xfer: 0.00 s (23.53% of open time)
Reads: 4 (8 bytes, 2.00 bytes avg read size)
Writes: 2 (6 bytes, 3.00 bytes avg write size)
Xfer data rate: 1.71 KB/s (14 bytes in 0.00 s)
IOPS: 750.00 IO/s (6 IOs in 0.00 s)
FTDI chip: FT232R (3), buffer size: 384 bytes
FTDI stats: 1500.00 xfers/s (0.00 short reads/s,
12 xfers/0 short reads in 0.00 s,
2.00 xfers/IO, 40.00 bytes/xfer)
SPI max clock: 1000 kHz, min clock: 1000 kHz, slowdowns: 0
****************************************************************************
Success
Проверяем версию и размер flash чипа и прошивки:
c:\Program Files (x86)\QTIL\BlueSuite 2.6.11> BlueFlashCmd.exe identify
blueflashcmd, version 2.6.11.1937 Release
Copyright © 2002-2018 Qualcomm Technologies International, Ltd.
All Rights Reserved.
Qualcomm Technologies International, Ltd. Confidential and Proprietary.
17:04:24.714259: all:spi.c:558:spi_init: csr-spi-ftdi 0.5.3, git rev 80b2ad0
Resetting XAP
Identifying XAP
Flash identity: size = 96 sectors (6 Mbit), man_id = 0x0000, dev_id = 0x0000
Firmware ID (loader)=»elv_8unified_fl_bt2.1_23g_0903311011_native_encr56 2009-03-31″
Firmware ID (stack)=»pdw_6compact_fs_fl_bt2.1_23g_0903311011_encr56_nodfu 2009-03-31″
Result: Usable flash size: 96 sectors, 6 megabit.
*** FTDI Statistics ********************************************************
csr-spi-ftdi version: 0.5.3 (git rev 80b2ad0)
Time open: 14.39 s
Time in xfer: 13.93 s (96.79% of open time)
Reads: 408 (75518 bytes, 185.09 bytes avg read size)
Writes: 569 (75074 bytes, 131.94 bytes avg write size)
Xfer data rate: 10.55 KB/s (150592 bytes in 13.93 s)
IOPS: 70.00 IO/s (977 IOs in 13.93 s)
FTDI chip: FT232R (3), buffer size: 384 bytes
FTDI stats: 956.00 xfers/s (0.00 short reads/s,
13332 xfers/8 short reads in 13.93 s,
13.00 xfers/IO, 361.00 bytes/xfer)
SPI max clock: 1000 kHz, min clock: 666 kHz, slowdowns: 1
****************************************************************************
Success
Сравниваем версии Chip ID, Flash ID и прошивок под BlueCore 3 и 4 (BC03 и BC04):
Chip ID — 0x07e2, Chip Name — BC3 Audio Flash (pdw)
Flash identity: size = 96 sectors (6 Mbit), man_id = 0x0000, dev_id = 0x0000
Firmware ID (loader)=»elv_8unified_fl_bt2.1_23g_0903311011_native_encr56 2009-03-31″
Firmware ID (stack)=»pdw_6compact_fs_fl_bt2.1_23g_0903311011_encr56_nodfu 2009-03-31″
Chip ID — 0x4826, Chip Name — BC3 MM (kal)
Flash identity: size = 128 sectors (8 Mbit), man_id = 0x00c2, dev_id = 0x225b
Firmware ID (loader)=»bc3k_8unified_fl_bt2.1_23g_0903311011_native_encr56 2009-03-31″
Firmware ID (stack)=»bc3k_8unified_fl_bt2.1_23g_0903311011_native_encr56 2009-03-31″
Chip ID — 0x4543, Chip Name — BC4-EXT (cyt)
Flash identity: size = 128 sectors (8 Mbit), man_id = 0x00c2, dev_id = 0x225b
Firmware ID (loader)=»cyt_8unified_fl_bt3.0_23i_1002111152_native_encr56 2010-02-11″
Firmware ID (stack)=»cyt_8unified_fl_bt3.0_23i_1002111152_native_encr56 2010-02-11″
Делаем 3 раза подряд резервную копию прошивки:
c:\Program Files (x86)\QTIL\BlueSuite 2.6.11>BlueFlashCmd.exe dump bc352-fw-backup
blueflashcmd, version 2.6.11.1937 Release
Copyright © 2002-2018 Qualcomm Technologies International, Ltd.
All Rights Reserved.
Qualcomm Technologies International, Ltd. Confidential and Proprietary.
13:07:45.751942: all:spi.c:558:spi_init: csr-spi-ftdi 0.5.3, git rev 80b2ad0
Resetting XAP
Dumping flash contents
100%
«Dump» successful
Result: Dumping to csr-fw-backup.xpv complete.
*** FTDI Statistics ********************************************************
csr-spi-ftdi version: 0.5.3 (git rev 80b2ad0)
Time open: 89.53 s
Time in xfer: 83.18 s (92.90% of open time)
Reads: 2750 (866848 bytes, 315.22 bytes avg read size)
Writes: 3496 (80841 bytes, 23.12 bytes avg write size)
Xfer data rate: 11.13 KB/s (947689 bytes in 83.18 s)
IOPS: 75.00 IO/s (6246 IOs in 83.18 s)
FTDI chip: FT232R (3), buffer size: 384 bytes
FTDI stats: 1022.00 xfers/s (0.00 short reads/s,
85060 xfers/2 short reads in 83.18 s,
13.00 xfers/IO, 357.00 bytes/xfer)
SPI max clock: 1000 kHz, min clock: 666 kHz, slowdowns: 1
****************************************************************************
Success
Побайтно сравниваем дампы между собой:
fc /b bc352-fw-backup bc352-fw-backup2 >diff1.txt и fc /b bc352-fw-backup2 bc352-fw-backup3 >diff2.txt
Открываем diff1.txt и diff2.txt и убеждаемся что все копии совпали.
Сохраняем резервную копию настроек:
c:\Program Files (x86)\QTIL\BlueSuite 2.6.11>pscli.exe dump bc352.psr
pscli, version 2.6.11.1937 Release
Copyright © 2001-2018 Qualcomm Technologies International, Ltd.
All Rights Reserved.
Qualcomm Technologies International, Ltd. Confidential and Proprietary.
13:12:54.682969: all:spi.c:558:spi_init: csr-spi-ftdi 0.5.3, git rev 80b2ad0
pscli dump csr-pskeys.psr : concluded with Success
*** FTDI Statistics ********************************************************
csr-spi-ftdi version: 0.5.3 (git rev 80b2ad0)
Time open: 33.51 s
Time in xfer: 32.50 s (96.96% of open time)
Reads: 30220 (99036 bytes, 3.28 bytes avg read size)
Writes: 27204 (88063 bytes, 3.24 bytes avg write size)
Xfer data rate: 5.62 KB/s (187099 bytes in 32.50 s)
IOPS: 1766.00 IO/s (57424 IOs in 32.50 s)
FTDI chip: FT232R (3), buffer size: 384 bytes
FTDI stats: 1913.00 xfers/s (0.00 short reads/s,
62178 xfers/4 short reads in 32.50 s,
1.00 xfers/IO, 101.00 bytes/xfer)
SPI max clock: 1000 kHz, min clock: 1000 kHz, slowdowns: 0
****************************************************************************
Copyright © 2002-2008 Cambridge Silicon Radio Ltd.
Resetting XAP
Burning Image:
100%
Result: Finished OK, 68 sectors erased, 68 sectors flashed, 114.69 seconds
Running Code!
*** FTDI Statistics ********************************************************
csr-spi-ftdi version: 0.5.3 (git rev 80b2ad0)
Time open: 121.04 s
Time in xfer: 107.13 s (88.51% of open time)
Reads: 4483 (20258 bytes, 4.52 bytes avg read size)
Writes: 5707 (583190 bytes, 102.19 bytes avg write size)
Xfer data rate: 5.50 KB/s (603448 bytes in 107.13 s)
IOPS: 95.00 IO/s (10190 IOs in 107.13 s)
FTDI chip: FT232R (3), buffer size: 384 bytes
FTDI stats: 585.00 xfers/s (9.00 short reads/s,
62683 xfers/989 short reads in 107.13 s,
6.00 xfers/IO, 309.00 bytes/xfer)
SPI max clock: 100 kHz, min clock: 25 kHz, slowdowns: 34
****************************************************************************
Success
rm spp_uart_leds.led_
Проверяем версию новой прошивки:
c:\Program Files (x86)\QTIL\BlueSuite 2.6.11> BlueFlashCmd.exe identify
blueflashcmd, version 2.6.11.1937 Release
Copyright © 2002-2018 Qualcomm Technologies International, Ltd.
All Rights Reserved.
Qualcomm Technologies International, Ltd. Confidential and Proprietary.
16:25:43.371128: all:spi.c:558:spi_init: csr-spi-ftdi 0.5.3, git rev 80b2ad0
Resetting XAP
Identifying XAP
Flash identity: size = 96 sectors (6 Mbit), man_id = 0x0000, dev_id = 0x0000
Firmware ID (loader)=»elv_8unified_fl_bt2.1_23g_0903311011_native_encr56 2009-03-31″
Firmware ID (stack)=»pdw_6compact_fs_fl_bt2.1_23g_0901221700_encr56_nodfu 2009-01-22″
Result: Usable flash size: 96 sectors, 6 megabit.
*** FTDI Statistics ********************************************************
csr-spi-ftdi version: 0.5.3 (git rev 80b2ad0)
Time open: 4.58 s
Time in xfer: 4.15 s (90.61% of open time)
Reads: 362 (20554 bytes, 56.78 bytes avg read size)
Writes: 520 (20058 bytes, 38.57 bytes avg write size)
Xfer data rate: 9.54 KB/s (40612 bytes in 4.15 s)
IOPS: 212.00 IO/s (882 IOs in 4.15 s)
FTDI chip: FT232R (3), buffer size: 384 bytes
FTDI stats: 967.00 xfers/s (0.00 short reads/s,
4023 xfers/3 short reads in 4.15 s,
4.00 xfers/IO, 324.00 bytes/xfer)
SPI max clock: 1000 kHz, min clock: 666 kHz, slowdowns: 1
****************************************************************************
Success
Видим что стек прошитый в BlueLab, более старой версии (22.01.2009), чем тот, который был в адаптере с завода (31.03.2009).
11. После завершения компиляции и прошивки, ОБЯЗАТЕЛЬНО, необходимо изменить параметры. Для этого запускаем c:\Program Files (x86)\QTIL\BlueSuite 2.6.11\PSTool.exe, выбираем SPI BCCMD, Port FT232R A50285BI, нажимаем OK.
12. Выбираем в меню Bootmode>Bootmode 1 и слева в списке находим Host Interface и нажимаем на него. Справа нажимаем «ENTRY NOT PRESENT — Click to add» и из списка выбираем «VM access to the UART» нажимаем кнопку Set
13. Выбираем в меню Bootmode>none, слева в списке находим Host Interface и нажимаем на него. Справа выбираем из списка «UART link running BCSP» и нажимаем кнопку Set
14. Слева в списке, находим параметр Crystal frequency. Копируем сюда значение которое находится в файле bc352.psr (который мы создали раньше, когда делали резервную копию) в параметре PSKEY_ANA_FREQ &01fe = xxxx, где xxxx нужное нам значение. Нажимаем Set.
15. Слева в списке, находим параметр Crystal frequency trim. Копируем сюда значение которое находится в файле csr-pskeys.psr в параметре PSKEY_ANA_FTRIM &01f6 = xx. Обращаем внимание, что xx надо перевести в десятичную форму. Можно использовать калькулятор Windows в режиме инженера :). Нажимаем Set.
16. Слева в списке, находим параметр User configuration data 0. Там будут какие-то цифры. Все удаляем и вставляем строку «0031 0032 0033 0034» без кавычек. Нажимаем Set.
17. Закрываем PSTool, отключаем USB кабель и подключаем снова.
18. Находим по bluetooth на смартфоне HC-05 устройство и подключаемся через Serial Bluetooth Terminal. Вводим пароль 1234.
После прошивки, светодиод на модуле перестанет мигать, это нормально. В SPP_UART прошивке нет поддержки алгоритма мигания светодиода.
Подключение модуля BC03 к ELM327
Отпаяв BC03 с платы HC05 и припаяв его в ELM327 адаптер, меня ждал сюрприз. На TX выводе bluetooth модуля было напряжение 1В вместо стандартных 3В.
Оказывается у меня UART раньше работал только по тому, что необходимые 3В на TX вывод модуля, приходили с FT232RL. Как оказалось, у FT232RL TX и RX даже в неподключенном состоянии имеют уровни 3В.
Пришлось припаять резистор 10 кОм между TX модуля и питанием 3,3В
AT команды прошивки SPP_UART
Как следует из описания кастомной прошивки с открытым исходным кодом SPP_UART, для bluetooth модулей BC03/BC04, она дает возможность без замыкания на модуле pin34 (PIO11/KEY) на Vcc, управлять настройками bluetooth модуля по воздуху, без использования TTL кабеля.
Для этого, после подключения к адаптеру по bluetooth, первой посланной командой должна быть AT+CONF,
обязательно заглавными буквами, одним пакетом, и заканчиваться должна CR+LF.
Serial Bluetooth Terminal для android и HTerm для Windows умеют это делать.
После ответа ОК, можно менять: скорость соединения с PIC (AT+UART), bluetooth имя (AT+NAME), пароль (AT+PSWD), смотреть MAC адрес (AT+ADDR) и т.д. Полный перечень команд можно посмотреть здесь.
Так как в PIC все еще оставалась старая китайская прошивка, через AT+CONF я сменил PSKEY_UART_BAUDRATE на 38400, командой AT+UART:38400,0,0
Выход из командного режима в транспортный AT+DATA.
Если нужно еще раз войти в режим настроек, просто разрываем bluetooth соединение, соединяемся еще раз и вводим AT+CONF.
Результаты замены bluetooth модуля:
Не смотря на то, что вместо BC04, мне достался перемаркированный BC03 с урезанным объемом flash памяти 6 Мбит и TX выводом на 1 вольт (требующим подтяжки резистором 10кОм до 3В), результатом я очень доволен.
Список полученных преимуществ по сравнению со старым EC04:
1. Соединение по bluetooth больше не зависает, не теряет информацию полученную от PIC.
2. Разрыв и повторное соединение с модулем происходит быстро и не требует повторного ввода пароля.
3. Стало возможным менять прошивку модуля bluetooth
4. За счет поднятия мощности в параметрах PSKEY_LC_MAX_TX_POWER и PSKEY_LC_DEFAULT_TX_POWER увеличилась дальность приема
5. Стало возможным конфигурировать параметры модуля по воздуху через AT+CONF
Замена китайской прошивки ELM1.5 в PIC18F25K80 на Deep OBD ELM1.5
Снова aIiexpress и я заказываю такой программатор PICkit3:
В комплекте качественный, толстый и красный мини USB кабель, а также 6-ти контактный кабель для прошивки.