Зачем нужна диагностика автомобиля?
Если выразиться максимально просто – для того чтобы понять, почему загорелась тревожная желтая или, еще хуже, красная лампочка на панели приборов. А именно, индикатор, свидетельствующий о внезапной поломке или сбое в работе двигателя, трансмиссии, системы подачи топлива, зажигания, газораспределения, кондиционирования и т.д.
Все эти процессы в автомобиле контролирует электронный блок управления (ЭБУ). Он собирает данные с нескольких десятков датчиков, обрабатывает их и передает команды исполнительным узлам. В случае же появления неисправностей сигнализирует индикатором, например, Check Engine.
Чтобы понять, какой именно узел или агрегат поврежден, проводят диагностику автомобиля с помощью приложения для Андроида или программы на компьютер. Данную услугу успешно выполняют на любых СТО, но можно осуществить и самостоятельно. Сэкономите несколько тысяч рублей, как минимум.
На наш взгляд, использовать для диагностики авто приложения на базе Андроид или IOS, можно. Однако, если сканирование выдаст серьезные коды ошибок (неисправность в двигателе или трансмиссии), желательно повторить процедуру вместе с профессиональными мастерами.
Для сканирования можно также отнести специальные устройств, например, недорогой мультимарочный сканер Rokodil ScanX.
Основными преимуществами конкретно этого адаптера является его совместимость с большинством автомобилей начиная с 1993 года выпуска и точная диагностика по всем узлам и агрегатам. Также стоит отметить наличие Bluetooth версии 4.2, что позволит подключить устройство не только к Windows или Android, а также к iOS
Как пользоваться такими программами?
В защиту программ для считывания ошибок автомобиля для Андроида подчеркнем, их использовать гораздо проще, чем софт для ПК. Каким образом проводят сканирование?
- Убедитесь, что на вашем смартфоне работает Bluetooth модуль;
- Скачайте приложение для диагностики автомобиля для Android на русском языке (ниже мы приведем список лучших);
- Сканирование осуществляется с помощью специального коннектора (сканера, адаптера), который подсоединяется к автомобилю через разъем OBD 2. Выход предназначен для передачи данных с бортового компьютера машины на софт для считывания кодов ошибок (программа на ПК или смартфон с Андроидом). Соединение сканера с операционной системой головного устройства осуществляется через Bluetooth или Wi-Fi (первое предпочтительнее). Адаптер стоит совсем недорого – около 1500-3000 рублей, также можно заказать за 10 долларов с Алиэкспресс. Большой популярностью пользуются сканеры с чипом elm327, они отлично интегрируются с программами для диагностики авто через Андроид.
- Итак, адаптер подсоединяют к порту OBD2. Разъем чаще всего располагается под рулем, но может быть вынесен в другой сектор. Форма – трапециевидная, с 16 контактами (перепутать с чем-то другим сложно).
- После подключения сканера к разъему, следует выполнить его синхронизацию с Андроидом. Включите на телефоне Блютуз и запустите поиск устройств. Как только модуль OBD2 будет обнаружен, подключитесь к нему. В случае запроса пароля, введите 0000 или 1234 (либо поищите пароль в инструкции к сканеру);
- Теперь заведите автомобиль;
- Запустите программу диагностики автомобилей для Андроид на русском языке;
- Дальнейшие действия зависят от программы, но, в целом, все, что нужно сделать – запустить диагностику и дождаться ее результатов;
- Последние выдаются в виде кодов. Для проверки ошибок их нужно расшифровать, воспользовавшись таблицами из Интернета или в самой программе.
ТОП приложений на Андроид для диагностики авто
Ну что же, мы подошли к самому интересному – к обзору лучших программ для диагностики авто на Андроид.
1. Carista Obd2
Приложение функционирует с 2013 года, последнее обновление в Play Market вышло 30 июня 2020. Есть платная версия с расширенным функционалом (1 неделя – 10$, 1 год – 40$). У компании разработчика есть собственный адаптер – если купить, месяц использования Pro версии предоставляется бесплатно.
По мнению пользователей, это одно из лучших приложений для диагностики автомобиля на Андроид, даже на уровне бесплатного функционала (базовая проверка двигателя, системы газораспределения, анализ токсичности выхлопов). Расширенное сканирование (не хуже, чем в сервисном центре) позволяет протестировать все модули автомобиля – антиблокировочную систему, тормозную, подушки безопасности, датчики давления в шинах и т.д.
Также программа предоставляет и дополнительный функционал – персонализация настроек, разблокировка скрытых функций и т.д.
2. Hob Drive
Второе место в нашем рейтинге лучших программ для диагностики автомобилей для Андроида отводится клиенту Hob Drive. Приложение представляет собой тройной сервис – бортовой компьютер, анализатор расхода бензина и средство диагностики через OBD2/ELM327.
В Play Market доступна как платная, так и бесплатная версия. Последняя позволяет выполнить текущую диагностику ошибок автомобиля, первая осуществляет постоянное слежение и оперативное оповещение, а также контроль перегревов и подозрительных лагов.
Бортовой компьютер фиксирует расход топлива, выполняет замеры мощности. В программе есть встроенная опция планирования поездок – оценка времени езды на остатке бака, записи о заправках, статистика маршрутов, расчет расходов. Интерфейс можно настраивать по своим предпочтениям, есть много встроенных тем.
3. InCar Doc
Приложение на Андроид, осуществляющее полную лаунч диагностику авто для сканера с процессором elm327/OBD2.
Выполняет полное сканирование автомобиля, с диагностикой, мониторингом и ведением журнала статистики. Распознает причину индикатора Check Engine, расшифровывает коды ошибок, выполняет очистку старых кодов.
Есть платная версия с расширенным функционалом. Работает в режиме настоящего времени – анализирует параметры двигателя, расход топлива, фиксирует заправки, магазины, сервисы, запоминает местоположение автомобиля и др.
4. Torque Pro
Еще одна неплохая программа на телефон для диагностики автомобиля, также имеется сокращенная Lite версия (бесплатная).
Продвинутый же вариант предлагает следующие возможности:
- Полный контроль активности всех электронных систем автомобиля в режиме реального времени;
- Расшифровка кодов ошибок;
- Информация о производительности систем, сведения с датчиков;
- Функция сброса предыдущих неисправностей;
- Гибкий интерфейс с возможностью добавлять избранные виджеты;
- Анализ выбросов углекислого газа, мощности, внутренних температур;
- Измерение крутящего момента;
- Отправка всех отчетов на почту для дальнейшего мониторинга;
- И др. крутые опции.
5. Piston
Завершает наш ТОП-5 программа для чтения ошибок автомобиля для Андроида, лидер по простоте интерфейса и лаконичности доступного функционала. Приложение очень простое, но отнюдь не менее эффективное. А еще, оно полностью бесплатное. Помимо диагностики, позволяет выбрать датчики, которые необходимо контролировать. Недостатком программы является отсутствие встроенной расшифровки кодов.
В Play Market можно найти еще с десяток отличных программ на смартфон для диагностики автомобилей. Мы выбрали только лучшие – с большим числом функций, самыми хорошими отзывами и высокими рейтингами. Вы вольны протестировать их все или остановиться на любой другой. Однако, как показывает практика, дальше нашей пятерки мало кто уходит.
Программы для сканирования автомобиля для Андроида, однозначно, помогают следить за исправностью работы ЭБУ, причем, на любительском уровне. То есть, даже не имея специальных навыков и знаний в этой сфере, вы сможете сделать грамотную диагностику, как в сервисном центре. К слову, многие мастера там также пользуются подобными приложениями для Андроид. Так зачем платить деньги за услугу, которую легко выполнить своими руками? Сканер стоит недорого, большинство программ доступны бесплатно, подключение – элементарное. Попробуйте! Хуже точно не будет!
Программы для автодиагностики через ноутбук
Компьютерная диагностика невозможна без применения специальных программ, обеспечивающих расшифровку данных и вывод информации на дисплей. Ниже рассмотрим основных представителей ПО для сканеров.
OpenDiagPro
Программа является универсальным решением для автомобилей отечественного производства. Подходит для машин марок УАЗ, ГАЗ, ВАЗ, ZAZ. Оптимальный вариант для применения адаптера ELM327. Приложение наиболее востребовано и подходит для диагностики современных и не очень современных авто.
ScanMaster ELM 2.1
Софт ScanMaster ELM 2.1 представляет собой многофункциональное ПО, которое успешно функционирует с иномарками и отечественными машинами. Приходится как профессионалам на СТО, так и начинающим диагностам, планирующих сделать работу самостоятельно.
ForScan
Программа ForScan предназначена для марок Меркури, Мазда, Форд и Линкольн. Сканирует датчики, которые установлены в машине, АБС, подушки безопасности, сигнализацию и систему торможения.
Предусмотрена функция программирования и настройки конфигурации. При желании можно сделать чип-тюнинг автомобиля. Работает с Вай-Фай, Блютуз и USB адаптерами.
TiggoDiag 1.2.0.3
Программа TiggoDiag 1.2.0.3 подходит для адаптеров, изготовленных на базе ELM327. Применяется для автомобилей Черри и Греат Вол. Подходит для некоторых моделей бренда Митсубиси. Применяется для работы с USB-адаптерами.
PROScan
Софт PROScan представляет собой универсальное решение для ELM327 сканеров. Устройство имеет стандартный функционал, способно строить таблицы и графики.
С помощью ПО можно получать сведения об ошибках и стирать их в случае необходимости. Применяется, как правило, с USB-сканерами.
Программы для ELM327 под Android
Многие программы для сканеров ELM327 распространяются в двух вариантах: бесплатном и расширенном, профессиональном (Pro). Есть приложения, которые позиционируются в качестве бесплатных, но требуют оплаты за некоторые дополнительные функции. Есть также профессиональные продукты, которые допускают использование сильно урезанной демоверсии для ознакомления с функционалом.
Большинство программ для сканеров под Андроид поддерживают связь с мобильными устройствами по Wi-Fi и Bluetooth.
Torque
Одна из самых популярных программ для сканеров ELM327. Есть русский вариант интерфейса с незначительными неточностями и недоработками перевода. Пользователям доступно два варианта ПО. Один — полностью бесплатный (Lite). Второй (Pro) обладает расширенным функционалом и обойдется в 165 рублей.
Даже бесплатная версия отличается весьма неплохими возможностями. В их число входят следующие функции:
- выявление ошибок Check-Engine;
- сброс кодов неисправностей с сохранением их в журнале;
- вывод информации с кислородных датчиков;
- учёт расхода топлива;
- мониторинг ряда параметров с выводом показателей на рабочий стол;
- информирование о достижении критически вредных/опасных величин параметров;
- возможность выбора параметров для отслеживания;
- настройка панелей на рабочем столе;
- запись данных геолокации.
Базовая версия обладает хорошим функционалом для проведения диагностики основных систем автомобиля, мониторинга важных параметров во время движения, устранения некоторых ошибок.
Версия Pro характеризуется расширенным функционалом диагностики и исправления ошибок, включая расшифровку кодов.
OpenDiag Mobile
Программа разработана российскими специалистами и предназначена для работы с отечественными инжекторными автомобилями. Среди преимуществ — аутентичный русский интерфейс и хороший набор бесплатных функций, а также возможность связи по кабелю USB (в дополнение к Wi-Fi и Bluetooth).
Приложение обеспечивает диагностику следующих блоков и систем:
- управления двигателем (Bosch, Ителма, Январь, EMS, Микас);
- противоугонных систем АПС, иммобилайзеров;
- модулей электропакета (Приора, Калина, Гранта, Веста);
- электроусилителя руля (КЭМЗ, Автоэлектроника, Mando и др.);
- подушек безопасности;
- антиблокировочной системы;
- отопителя и контроля климата;
- блоком управления стеклоочистителем.
Программа позволяет определять количество топлива, необходимое для поездки, выводит на дисплей информацию о температуре охлаждающей жидкости, воздуха, давлении топлива и пр. Все сведения отображаются на русском языке.
Загрузившие бесплатное приложение пользователи могут при необходимости докупать дополнительные платные блоки.
EOBD Facile
Ещё одна удобная программа для сканера ELM327 на русском языке. Базовый вариант является бесплатным, но некоторые функции доступны только в премиальной версии.
Приложение позволяет:
- отображать коды неисправностей двигателя и КПП с указанием их значений (свыше 11000);
- отображать коды неисправностей по конкретным автопроизводителям (включая BMW, Opel, Renault, Mecedes, Audi, Ford и др.);
- выводить и записывать информацию с датчиков: обороты и температура двигателя, скорость, крутящий момент, опережение зажигания, объём всасываемого воздуха и пр.;
- создавать записи всех поездок на SD карте с возможностью последующего чтения.
Премиальная версия позволяет не только определять коды ошибок, но и удалять их.
ScanMaster Lite
Очень удобное и довольно простое в обращении приложение для сканера ELM327 с русским интерфейсом. Несмотря на бесплатный статус, отличается очень хорошим набором функций. Планируется выпуск расширенной версии Pro.
Интересная опция — наличие режима паузы, который позволяет прокручивать уже записанные сведения, изменяя размеры графиков.
Car Scanner ELM
Профессиональная программа для тестирования и диагностики через сканер ELM327. Одно из лучших приложений с русским языком и очень широкими возможностями.
Единственный недостаток продукта — отсутствие полностью бесплатного варианта. При наличии подписки Google Pay Pass можно скачать ПО с пробным периодом на 1 месяц.
Программы для ELM327 под iOS
В отличие от ПО из предыдущего раздела, данные программные продукты обычно не предусматривают связь сканера с мобильными устройствами через Bluetooth. В большинстве случаев здесь используется только Wi-Fi.
Некоторые описанные выше программы имеют свои русские версии и под iOS. В частности, это относится к EOBD Facile и Car Scanner ELM.
inCarDoc OBD2
Бесплатная программа с русским интерфейсом для работы iPhone со сканерами ELM327.
Кроме стандартного диагностического функционала с мониторингом параметров, выводом на дисплей ошибок, их расшифровкой и возможностью частичного удаления, в inCarDoc предусмотрена также функция экономайзера.
ХобДрайв
Приложение с русским интерфейсом для владельцев iPad.
Очень продвинутая программа с широкими возможностями. Недостаток — отсутствие полностью бесплатного варианта. Можно скачать ПО на 30 дней для оценки функций.
ELM327 программы для компьютера или ноутбука (Windows)
Эти elm327 программы предназначены для диагностики автомобиля с помощью компьютера, устанавливаются на компьютеры на базе Windows. В описании к программе написано для каких автомобилей она предназначена, а так же с какими типами адаптеров она работает — USB, Wi Fi или bluetooth.
ScanMaster ELM 2.1
Самая универсальная и функциональная elm327 программа. Отлично работает как с иномарками, так и с автомобилями Российского производства. Рекомендуем начинать диагностику именно с этой программы.
Работает с адаптерами: USB, Bluetooth, Wi-Fi
Скачать программу ScanMaster ELM 2.1
OpenDiag
Программа для диагностики всех моделей русского автопрома (ВАЗ, ГАЗ, УАЗ и др.). Поддерживает несколько видов адаптеров, в том числе и elm327. Это самая удобная программа для диагностики русских авто. Если у Вас русский автомобиль, то рекомендуем использовать именно эту программу.
Работает с адаптерами: USB, Bluetooth
Скачать программу OpenDiag
FORScan
Эта elm 327 программа создана специально для автомобилей марок: FORD, Mazda, Lincoln и Mercury. Она имеет огромные возможности, сканирует все блоки авто, включая подушки безопасности, ABS и прочее. Есть возможность конфигурации и программирования параметров.
Работает с адаптерами: USB, Bluetooth, Wi-Fi
Скачать программу FORScan
ELMConfig
Эта программа так же для автомобилей FORD. Умеет работать со всеми модулями авто, а так же, помимо диагностики, даёт возможность калибровки и конфигурирования.
Работает с адаптерами: USB
Скачать программу ELMConfig
ScanXL
Программа отлично работает со множеством марок автомобилей и имеет отличный набор функций.
Работает с адаптерами: USB
Скачать программу ScanXL
PROScan
Это универсальная elm327 программа. Имеет все необходимые функции: замеряет параметры, строит графики, считывает и стирает ошибки и многое другое. К сожалению русского языка нет.
Работает с адаптерами: USB
Скачать программу PROScan
ELM327 программы для iPhone и iPad (iOS)
Ниже представлены elm327 программы для использования на iPhone и iPad, т.е. на смартфонах и планшетах с операционной системой iOS. Программ для этих устройств достаточно немного и, как правило, все они на английском языке. Но мы всё таки постарались подобрать для Вас хорошие программы с лёгким освоением и широким набором функций. Обратите внимание, что устройства от Apple поддерживают только Wi-Fi адаптеры, потому программы, соответственно тоже.
DashCommand
Достаточно хорошая, со всеми необходимыми возможностями, elm327 программа для iPhone и iPad. Она универсальна и подходит для диагностики огромного количества авто. Проста в освоении и интуитивно понятна несмотря на отсутствие русского языка.
Работает с адаптерами: Wi-Fi
Скачать программу DashCommand для iOS
OBD Car Doctor
Простая и удобная программа на русском языке. Позволяет считывать параметры работы двигателя, а так же есть возможность считывать и стирать ошибки engine check.
Работает с адаптерами: Wi-Fi
Скачать программу OBD Car Doctor для iOS
ELM327 программы для Windows Phone
Ниже представлены elm327 программы для смартфонов на базе Windows Phone.
Car Scanner
Отличная elm327 программа для смартфонов на базе Windows Phone 8, 8.1 или 10. Пожалуй это лучшее приложение для этой системы — очень удобное и интуитивно понятное. Есть платная и бесплатная версия. В бесплатной присутствует небольшая реклама, а так же незначительно урезан функционал.
Работает с адаптерами: Bluetooth, Wi-Fi
Программы для Windows
Кроме мобильных приложений для телефонов на ОС «Андроид», для автодиагностики можно использовать программные приложения для ОС Windows.
- Утилита ScanMaster-ELM, работающая с любыми видами адаптеров ELM327. Возможности этого ПО достаточно широкие: удобный и понятный интерфейс, мониторинг работы мотора в реальном времени, построение графиков, просмотр, расшифровку и удаление ошибок. Минусы таких приложений: необходимость покупки лицензии для использования ряда функций и требование русификации для упрощения работы.
- Диагностическая утилита – PCMScan, которая легко определяет неисправности европейских, американских и азиатских машин, получает данные со стоп-кадра и удаляет ошибки в ЭБУ. Для расширения функционала можно добавлять сторонние плагины. Из плюсов: многофункциональность, бесплатная демо-версия. Минусы: необходимость покупки платного ПО для подключения некоторых опций и русификации.
- Мультифункциональная программа автодиагностики для ОС Windows – FORScan. Обрабатывает данные датчиков в реальном времени, считывает основные параметры и сбрасывает коды ошибок. Плюсы: Возможность получения данных практически обо всех функциональных узлах и основных системах авто. Минус: рассчитана на диагностику только 4 марок авто – Ford, Mazda, Lincoln и Mercury.
В заключении следует отметить, что необходимую автомобилю диагностику можно выполнять самостоятельно, экономя на недешевых услугах СТО. Для этого достаточно приобрести диагностический сканер и установить на смартфон, планшет или ПК специализированное программное обеспечение.
При выборе диагностического ПО, обращайте внимание на функционал, наличие русскоязычного меню, возможность установки дополнительных функциональных плагинов, способность приложений составлять аналитические отчеты, передавать данные по Интернету, расшифровывать и удалять ошибки в ЭБУ. В принципе, имеющихся в Сети бесплатных приложений достаточно для проведения большинства диагностических операций. Но даже платная программа обойдется намного дешевле, чем услуги диагностики в автосервисах.
Программы для айфона
Утилиты для установки на iOS поддерживают Wi-Fi, что очень существенно при диагностике с айфона. Таких разработок немного, но они вполне функциональны.
InCarDoc IPhone
Подходит только для автомобилей, поддерживающих функцию OBD-II. Работает в реальном времени.
ScanMaster ELM 2.1
Самая универсальная и функциональная elm327 программа. Отлично работает как с иномарками, так и с автомобилями Российского производства. Рекомендуем начинать диагностику именно с этой программы.
Работает с адаптерами: USB, Bluetooth, Wi-Fi
Скачать программу ScanMaster ELM 2.1
OpenDiag
Программа для диагностики всех моделей русского автопрома (ВАЗ, ГАЗ, УАЗ и др.). Поддерживает несколько видов адаптеров, в том числе и elm327. Это самая удобная программа для диагностики русских авто. Если у Вас русский автомобиль, то рекомендуем использовать именно эту программу.
Работает с адаптерами: USB, Bluetooth
Скачать программу OpenDiag
FORScan
Эта elm 327 программа создана специально для автомобилей марок: FORD, Mazda, Lincoln и Mercury. Она имеет огромные возможности, сканирует все блоки авто, включая подушки безопасности, ABS и прочее. Есть возможность конфигурации и программирования параметров.
Работает с адаптерами: USB, Bluetooth, Wi-Fi
Скачать программу FORScan
ELMConfig
Эта программа так же для автомобилей FORD. Умеет работать со всеми модулями авто, а так же, помимо диагностики, даёт возможность калибровки и конфигурирования.
Работает с адаптерами: USB
Скачать программу ELMConfig
ScanXL
Программа отлично работает со множеством марок автомобилей и имеет отличный набор функций.
Работает с адаптерами: USB
Скачать программу ScanXL
PROScan
Это универсальная elm327 программа. Имеет все необходимые функции: замеряет параметры, строит графики, считывает и стирает ошибки и многое другое. К сожалению русского языка нет.
Работает с адаптерами: USB
Скачать программу PROScan
ELM327 программы для iPhone и iPad (iOS)
Ниже представлены elm327 программы для использования на iPhone и iPad, т.е. на смартфонах и планшетах с операционной системой iOS. Программ для этих устройств достаточно немного и, как правило, все они на английском языке. Но мы всё таки постарались подобрать для Вас хорошие программы с лёгким освоением и широким набором функций. Обратите внимание, что устройства от Apple поддерживают только Wi-Fi адаптеры, потому программы, соответственно тоже.
DashCommand
Достаточно хорошая, со всеми необходимыми возможностями, elm327 программа для iPhone и iPad. Она универсальна и подходит для диагностики огромного количества авто. Проста в освоении и интуитивно понятна несмотря на отсутствие русского языка.
Работает с адаптерами: Wi-Fi
Скачать программу DashCommand для iOS
OBD Car Doctor
Простая и удобная программа на русском языке. Позволяет считывать параметры работы двигателя, а так же есть возможность считывать и стирать ошибки engine check.
Работает с адаптерами: Wi-Fi
Скачать программу OBD Car Doctor для iOS
ELM327 программы для Windows Phone
Ниже представлены elm327 программы для смартфонов на базе Windows Phone.
Car Scanner
Отличная elm327 программа для смартфонов на базе Windows Phone 8, 8.1 или 10. Пожалуй это лучшее приложение для этой системы — очень удобное и интуитивно понятное. Есть платная и бесплатная версия. В бесплатной присутствует небольшая реклама, а так же незначительно урезан функционал.
Работает с адаптерами: Bluetooth, Wi-Fi
Программы для Windows
Кроме мобильных приложений для телефонов на ОС «Андроид», для автодиагностики можно использовать программные приложения для ОС Windows.
- Утилита ScanMaster-ELM, работающая с любыми видами адаптеров ELM327. Возможности этого ПО достаточно широкие: удобный и понятный интерфейс, мониторинг работы мотора в реальном времени, построение графиков, просмотр, расшифровку и удаление ошибок. Минусы таких приложений: необходимость покупки лицензии для использования ряда функций и требование русификации для упрощения работы.
- Диагностическая утилита – PCMScan, которая легко определяет неисправности европейских, американских и азиатских машин, получает данные со стоп-кадра и удаляет ошибки в ЭБУ. Для расширения функционала можно добавлять сторонние плагины. Из плюсов: многофункциональность, бесплатная демо-версия. Минусы: необходимость покупки платного ПО для подключения некоторых опций и русификации.
- Мультифункциональная программа автодиагностики для ОС Windows – FORScan. Обрабатывает данные датчиков в реальном времени, считывает основные параметры и сбрасывает коды ошибок. Плюсы: Возможность получения данных практически обо всех функциональных узлах и основных системах авто. Минус: рассчитана на диагностику только 4 марок авто – Ford, Mazda, Lincoln и Mercury.
В заключении следует отметить, что необходимую автомобилю диагностику можно выполнять самостоятельно, экономя на недешевых услугах СТО. Для этого достаточно приобрести диагностический сканер и установить на смартфон, планшет или ПК специализированное программное обеспечение.
При выборе диагностического ПО, обращайте внимание на функционал, наличие русскоязычного меню, возможность установки дополнительных функциональных плагинов, способность приложений составлять аналитические отчеты, передавать данные по Интернету, расшифровывать и удалять ошибки в ЭБУ. В принципе, имеющихся в Сети бесплатных приложений достаточно для проведения большинства диагностических операций. Но даже платная программа обойдется намного дешевле, чем услуги диагностики в автосервисах.
Программы для айфона
Утилиты для установки на iOS поддерживают Wi-Fi, что очень существенно при диагностике с айфона. Таких разработок немного, но они вполне функциональны.
InCarDoc IPhone
Подходит только для автомобилей, поддерживающих функцию OBD-II. Работает в реальном времени.
Диагностирует параметры:
- скорость;
- расход топлива;
- обороты;
- давление.
Читает ошибки, сохраняет параметры, очищает ошибки. Определяет VIN номера кузова, определяет координаты при поддержке GPS. Установить программу можно, скачав ее в App Store.
Engine Link
Одна из востребованных утилит для айфонов. Работает со множеством авто. Предусмотрена функция диагностики блоков управления дизельными двигателями. Подходит для считывания сканером ELM327 (Wi-Fi версия). Что может программа:
- тестирует выбросы;
- работа в режиме реального времени;
- читает и сбрасывает коды неисправности OBD;
- отображает данные датчиков и характеристики двигателя;
- MPG для расчета расхода топлива в режиме реального времени;
- полная пользовательская поддержка PID.
Поддерживает OBD-II и EOBD. Для работы с программой необходима совместимость с ЕЛМ Bluetooth Low Energy (для iPhone 4 и более поздних версий) или адаптер Wi-Fi.
EconTool ELM327 for Nissan
EconTool ELM327 for Nissan – ещё одна из лучших диагностических программ для OBD2. Предназначена исключительно для бензиновых автомобилей Nissan до 2008 года выпуска (но работает и с более свежими автомобилями). Является бесплатной, предоставляя те же опции, что и другие подобные программы, но при приобретении PRO-версии открывает дополнительную возможность: позволяет читать и сбрасывать ошибки.
Внимание: для дизельных моделей Nissan утилита не подходит!
ELMScan Toyota
Если вы являетесь владельцем Toyota или Lexus, ELMScan Toyota является хорошей программой для OBD2 на русском языке. Несмотря на то, что программа создана специально для вышеуказанных автомобилей, она также совместима с автомобилями других марок, которые обладают подходящим разъёмом для подключения диагностики. Предлагается в двух версиях: платной и бесплатной, отличается интуитивно-понятным интерфейсом, но хотя и является полностью русифицированной, всё-таки английские термины в ней кое-где да встречаются.
ELMScan Toyota вошла в список лучших программ для диагностики obd2, благодаря своим возможностям:
- Считывание полной информации о ТС (модель, объём двигателя и его название, VIN код и calibration id).
- Определение ошибок в работе датчиков.
- Удаление кодов неисправности.
- Определение параметров работы мотора в реальном времени.
- Выполнение всех активных тестов узлов электронных систем автомобиля.
- Отображение данных в виде чисел и графиков.
- Сброс параметров ECU.
- Хранение базы данных кодов неисправности.
Эта одна из лучших программ для OBD2 на Android раскроет все секреты работы двигателя, трансмиссии, круиз-контроля, иммобилайзера, вспомогательных систем безопасности, подвески, электроусилителя руля, а также других датчиков автомобиля.
Важно: в бесплатной версии программы отключена поддержка многих датчиков, так что для эффективности диагностики рекомендуется сразу приобретение полного пакета функций.
Время на прочтение
8 мин
Количество просмотров 42K
Краткая инструкция по чтению и разбору логов мобильных устройств на Android и iOS, а также необходимые инструменты для Windows и MacOS.
Статья подготовлена red_mad_robot и «Альфа-Банком» на основе доклада Senior QA red_mad_robot Ольги Никитиной «Инструменты для снятия логов с Android / iOS устройств. Чтение и разбор» на митапе «QАчественное общение» при поддержке red_mad_robot.
Уровни логирования и что они означают
Для начала разберёмся с логами. Это текстовые файлы, в которых записываются все действия пользователя. Например, какие кнопки он нажимает в приложении и как на это оно реагирует в ответ.
Записи в логах формируются в хронологическом порядке. Самая свежая — внизу.
Есть два вида логов:
-
Crash logs — файл, в котором хранятся записи только об ошибках экстренного завершения программы — по-простому, когда приложение крашнулось.
-
Logs — простые логи, или журнал событий. Это файл, в котором хранятся системные записи и ответы устройства на действие пользователя.
Логи на мобильных устройствах бывают нескольких уровней:
-
ERROR,
-
WARN,
-
INFO,
-
DEBUG,
-
VERBOSE.
Они представлены по уровню важности — от самого высокого к самому низкому, — и каждый следующий уровень включает в себя предыдущий. Например, VERBOSE содержит в себе логи всех остальных.
Примечание: уровни более применимы к логам на Android, потому что именно там такое разделение встречается чаще.
Рассмотрим подробнее каждый уровень.
Error (ERROR)
На этом уровне информируются ошибки работы системы.
Записи этого уровня требуют быстрого вмешательства разработчика — на такие ошибки нужно реагировать максимально быстро.
Как пример, такая запись в логе:
“ SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length ”
Это ошибка, в которой говорится, что строковый элемент span не может быть пустым.
Или вот:
“ [ZeroHung]zrhung_get_config: Get config failed for wp[0x0008] ] ”
Эта системная ошибка сообщает, что происходит утечка памяти при взаимодействии с каким-то элементом или приложением.
Warning (WARN)
На этом уровне отображаются записи, сообщающие о каком-то неожиданном поведении, требующем внимания, или о ситуации, которая незнакома системе.
Например, сообщение ниже — запись из тестового приложения:
“ [OMX.hisi.video.decoder.avc] setting nBufferCountActual to 16 failed: -2147483648 “
Мы пытаемся декодировать запись в какой-то формат, но его нет. Ошибка сообщает о неуспешной попытке настройки видеоплеера в нужном формате.
Ещё пример:
“ BroadcastQueue: Permission Denial: broadcasting Intent ”
Эта системная ошибка говорит о сбое в работе одного из виджетов на устройстве.
Info (INFO)
На этот уровень приходят записи информационного характера, например о работе системы.
Допустим, такое сообщение об уровне заряда батареи на устройстве:
“ APwBatteryMonitor: screen off start battery: 100 ”
А это сообщение говорит о том, что экран устройства был выключен:
“ HwBatteryService: intent = Intent { act=android.intent.action.SCREEN_OFF flg=0x58200010 } ”
Ещё в логи этого уровня входят запросы от клиента на сервер: хедеры, тело запросов, которые отправляет клиент, и ответы сервера.
“ okhttp.OkHttpClient: <— 200 https://domainname/api/v1/smth/deals (1691ms)
okhttp.OkHttpClient: server: nginx/1.15.9
okhttp.OkHttpClient: date: Thu, 23 Sep 2021 19:41:17 GMT
okhttp.OkHttpClient: content-type: application/json
okhttp.OkHttpClient: vary: Accept-Encoding
okhttp.OkHttpClient: strict-transport-security: max-age=15724800; includeSubDomains
okhttp.OkHttpClient: {«key»:{«key»:value,»name»:»»},»key»:value,»key»:value}
okhttp.OkHttpClient: <— END HTTP ”
Такие записи могут помочь вам в понимании какого-то бага или в разборе задачи при условии, что вы не можете перехватить трафик или не знаете, какие запросы отправляются на бэкенд.
Debug (DEBUG)
Это уровень сообщений, в которых передаётся информация о процессах отладки или шагах работы крупных процессов.
Например, в записи ниже сказано, что пользователь нажимал на кнопку уменьшения или увеличения громкости:
“ MediaSessionService: dispatchVolumeKeyEvent ”
Сначала мы видим запись о самом факте нажатия на кнопку, далее оно расшифровывается подробнее:
{ action=ACTION_DOWN, keyCode=KEYCODE_VOLUME_UP }
Ещё пример: если ваше приложение использует сокет-сессию, то на уровне DEBUG мы можем увидеть, когда сессия начинается и заканчивается:
“ b$b: WebSocket connected ”
Verbose (VERBOSE)
Сообщения такого уровня уточняют или раскрывают действия.
Например, у нас есть служба управления окнами на экране приложения. И на уровне Verbose мы можем увидеть подробности её работы.
Открытие окна:
WindowManager: addWindow
Закрытие окна:
WindowManager: Removing Window
На этом уровне мы можем посмотреть системные подробности наших действий. Например, при включении геолокации в записи отобразится текущая геолокация.
GnssLocationProvider: reportLocation Location […]
А меняя звук на устройстве, мы увидим, как растёт или падает значение:
AudioManager: getStreamVolume streamType: 3 volume: 10
Каждое нажатие, то есть изменение звука, будет отражаться новым сообщением.
Verbose — уровень самого низкого приоритета. Выбирая такой уровень отображения логов, мы будем видеть записи и со всех предыдущих уровней.
Примечание: разработчики приложения самостоятельно покрывают действия логами, определяют уровни, а также какие сообщения какому из них соответствуют.
Инструменты для снятия логов: Android
Расскажем о трёх способах.
Первый — Logcat в составе Android Studio, самый известный и широко используемый.
Для снятия логов нам необходимо перевести устройство в режим разработчика/отладки. Для этого нужно:
-
найти в настройках номер нашего билда или ОС (в зависимости от устройства),
-
около десяти раз нажать на эту информацию,
-
при появлении сообщения о том, не хотим ли мы перевести устройство в режим разработчика, нажать «Ок».
Примечание: алгоритм может отличаться в зависимости от производителя устройства, потому что у многих из них свои надстройки на ОС Android.
Дальше подключаем устройство по USB к ПК и устанавливаем Android Studio.
Следующие шаги на скрине:
-
Выбираем вкладку Logcat (переходим к сообщениям в реальном времени).
-
В окошке выбираем телефон, с которого снимаем логи.
-
На этой вкладке выбираем логи определённого приложения. Если нужно снять вообще все логи со всех приложений и системы, эту вкладку стоит не трогать. Рядом с ней можно выбрать уровень логирования (вкладка Verbose на скрине).
-
В поле поиска, где мы можем фильтровать выдачу, разрешено писать что угодно — от названия пакета до частей вроде fatal.
На скрине видно логи с подключенного устройства.
Второй способ — выгрузка логов с самого устройства. Кроме режима разработчика нам нужно подключить устройство к ПК через USB и установить ADB — Android Debug Bridge.
Открываем терминал и пишем две команды.
Первая — adb devices — показывает подключённые устройства, которые видит ADB. В терминале выглядит так:
Вводим вторую команду — adb -s название устройства logcat, — которая запускает утилиту Logcat для конкретного устройства. В терминале в реальном времени будут поступать логи.
Как их читать?
-
В первом столбце — дата и время поступления записи.
-
Во втором — обозначения уровней логирования. Например, D — это Debug.
-
В третьем показываются названия инструмента, утилиты, пакета, от которых поступает сообщение, а также расшифровка того, что вообще происходит.
Третий инструмент — SDK Platform Tools. Процесс его установки практически аналогичен предыдущим двум:
-
переводим телефон в режим разработчика,
-
подключаем к ПК по USB,
-
скачиваем на ПК папку SDK PT (под свою ОС),
-
открываем папку SDK PT в терминале.
Теперь пишем команду ./adb logcat –v threadtime > ./android-debug.log.
В терминале это выглядит так:
Прерываем выполнение команды (например, на Mac это Control+C). Лог добавляется в папку.
Открываем:
Очень похоже на предыдущий терминал, но файл обновляется, пока в терминале действует команда.
Инструменты снятия логов: iOS
В первую очередь нас интересует xCode — интегрированная среда разработки (IDE), в которую встроен нужный нам инструмент Simulator.
Как использовать инструмент:
-
Устанавливаем xCode.
-
В системной строке нажимаем xCode → Open Developer Tools → Simulator.
-
Устанавливаем приложение.
-
В самом симуляторе выбираем Debug → Open System Log.
Мы будем видеть логи в реальном времени:
Подобное оформление логов мы уже где-то видели, но построение информации в выдаче немного отличается. Есть дата и время (1) и данные (2) о том, с какого устройства снята информация: имя компьютера, элемент системы, с которого пришло сообщение, и его расшифровка.
Но первый способ работает только с симуляторами. Если необходимо снимать логи с реального устройства, в этом может помочь раздел Devices and Simulators.
Записи можно отфильтровать по конкретному процессу (вашему приложению):
-
Устанавливаем xCode.
-
Подключаем устройство к ПК по USB.
-
Открываем xCode → Windows → Devices and Simulators.
Дальше нажимаем у устройства Open Console и видим панель с названием устройства, информацией о модели и ОС:
Логи поступают в реальном времени, но их удобно отслеживать:
У нас есть три столбца:
-
«Время» — время поступления сообщения.
-
«Процесс» — с какой части системы/приложения пришло сообщение.
-
«Сообщение» — описание события, сервисная информация.
В инструменте есть поиск для фильтрации выдачи. Ещё есть полезная кнопка «Приостановить» — она останавливает поток логов.
А вот утилита iMazing поможет снимать iOS-логи для тех, у кого установлен Windows. Приложение платное, но часть функциональности доступна бесплатно. Например, за снятие логов устройства платить не нужно.
В меню выбираем «Показать консоль устройства». В открывшемся окне приходят записи логов в реальном времени со всего устройства.
Ещё одно важное достоинство iMazing — возможность сохранять логи (разумеется, по кнопке «Сохранить»).
Статья подготовлена red_mad_robot и «Альфа-Банком» на основе доклада Senior QA red_mad_robot Ольги Никитиной «Инструменты для снятия логов с Android / iOS устройств. Чтение и разбор» на митапе «QАчественное общение» при поддержке red_mad_robot.
Содержание
- «Синий фонарь» включается неожиданно
- Что можно узнать из информации на синем экране
- Как включить функцию создания и сохранения малых дампов памяти
- Как анализировать содержимое минидампов
С синими экранами смерти Windows (Blue Screen of Dead) не сталкивался, пожалуй, только редкий счастливчик. Большинство же из нас имело «счастье» лицезреть сие явление на собственном ПК. И очень многих оно вгоняет в панику: а вдруг компу крышка?
Чтобы не теряться, когда на экране внезапно засветился синий «фонарь», нужно уметь смотреть неприятелю «в лицо». То есть научиться выяснять, что привело к появлению BSoD’a, оценивать, насколько ситуация критична и знать, что делать, чтобы она больше не повторялась.
«Синий фонарь» включается неожиданно
В процессе работы Windows возникает множество ошибок, основную массу которых система устраняет незаметно для пользователя. Но среди них бывают и столь серьезные, что продолжение сеанса работы становится невозможным. Либо возникшая проблема угрожает Windows или железу необратимым повреждением. В таких случаях и выскакивает BSoD. Система как бы говорит пользователю: «Извини, друг, но у меня не было другого выбора. Если бы не аварийное завершение, произошло бы что-то нехорошее».
Синие экраны смерти возникают на любой стадии загрузки и работы компьютера. А приводит к ним следующее:
- Некорректная работа драйверов устройств из-за плохой совместимости с операционной системой, конфликта с другими драйверами, повреждения или изменения параметров.
- Некорректная работа программного обеспечения, чаще того, которое создает собственные службы – антивирусов, файерволов, эмуляторов оборудования и т. п.
- Заражение вредоносными программами.
- Аппаратные неполадки – неисправность оперативной памяти, дисковых накопителей, сетевых, звуковых адаптеров, видеоподсистемы, материнской платы, блока питания и другого оборудования.
- Нештатная работа устройств – перегрев, нестабильное питание, разгон.
- Нарушение обмена данными между устройствами – плохой контакт в разъемах, неисправные кабели и шлейфы.
- Несовместимость устройств.
Кстати, однократный BSoD после подключения к компьютеру нового девайса, если в дальнейшем всё работает без нареканий, можно считать нормой.
Что можно узнать из информации на синем экране
К счастью, подавляющее большинство синих экранов смерти вызывается программными сбоями, которые пользователь может устранить самостоятельно и относительно быстро, не прибегая к переустановке винды. Для программных неполадок характерны рандомные по времени BSoD’ы с одинаковыми или близкими по значению кодами ошибки.
Аппаратные «синяки» чаще возникают в одних и тех же условиях (например, при увеличении нагрузки на видеокарту, попытке открыть объемный файл) и имеют разные коды. Либо эти коды указывают на проблемы конкретного оборудования, как то: ошибки доступа к устройству, невозможность считывания, распознавания.
Однако эти признаки позволяют сделать лишь предположение о причине проблемы. Для ее уточнения необходимы более детальные сведения.
Синий экран смерти Windows 10 выглядит так:
Информацию об ошибке в нем несет строка «Stop code». В моем примере это CRITICAL PROCESS DIED.
Отсканировав телефоном QR-код, который находится здесь же, вы можете перейти на сайт windows com/stopcode, где содержатся общие советы по устранению сбоя. Подсказки от Microsoft иногда полезны, но о причине конкретно вашего случая там ничего нет, а значит, придется искать эти данные в другом источнике, например:
- На компьютерных форумах.
- В справочниках по различным кодам ошибок, в частности, на сайте Docs.Micosoft и в других местах.
Но и это не совсем полные сведения. Каждая ошибка уникальна, и самая точная информация о ней содержится в файле, который система сохраняет на диск в момент сбоя. А именно – в малом дампе памяти, которые мы и будет учиться анализировать. А чтобы такие файлы создавались, необходимо сделать несколько маленьких настроек.
Как включить функцию создания и сохранения малых дампов памяти
Для сохранения дампов памяти на жестком диске системе обязательно нужен файл подкачки, который должен находиться в том же разделе, где папка Виндовс. Его размер может быть от 2 Mb и больше.
- Зайдите через контекстное меню в свойства папки «Компьютер».
- Щелкните в открывшемся окошке кнопку «Дополнительные параметры системы».
- В разделе окна «Загрузка и восстановление» нажмите кнопочку «Параметры».
- В разделе нового окна «Отказ системы» из списка «Запись отладочной информации» выберите «Малый дамп памяти». В качестве места сохранения пусть будет указано «%SystemRoot%Minidump» (%systemroot% — это папка Windows).
На этом настройка закончена. Теперь информация о BSoD’ах будет сохраняться в вышеуказанном каталоге.
Как анализировать содержимое минидампов
Существует разные способы анализа аварийных дампов памяти Windows, но мы познакомимся с самым, на мой взгляд, удобным и простым – при помощи бесплатной утилиты
BlueScreenView
.
BlueScreenView особенно удобна тем, что не требует установки на компьютер громоздких пакетов Debugging Tools for Windows и может запускаться с любого носителя, достаточно кликнуть по одноименному файлу.
Интерфейс утилиты, несмотря на отсутствие русского языка, весьма дружелюбен. Главное окно разделено на 2 половины. Вверху – таблица минидампов — файлов из папки WindowsMinidump с датой и временем создания (колонка Crash Time), кодом ошибки в шестнадцатеричном формате (колонка Bug Check Code), четырьмя ее параметрами и другими сведениями. Впрочем, данные о конкретном сбое удобнее просматривать в отдельном окне, которое открывается двойным щелчком по интересующей строке (показано ниже). Главное окно дает больше информации о проблеме в целом, если BSoD’ы случались неоднократно. В нем легко отслеживать даты происшествий и коды ошибок, по повторяемости которых можно судить о характере неполадки.
Нижняя половина основного окна отображает драйвера, загруженные в память в момент аварийной ситуации по конкретному дампу, выделенному в списке. Строки, подсвеченные розовым, показывают содержимое стека потока событий, а упомянутые в них драйвера имеют самое прямое отношение к причине сбоя.
Разберем для примера один из малых дампов памяти с кодом ошибки 0x00000154. Скажу наперед, что он был вызван заломом шлейфа жесткого диска. Начиная анализ, посмотрим на список драйверов в стеке событий. Здесь нет ничего, кроме ntoskrnl.exe – ядра ОС Windows, которое, конечно, в проблеме не виновато — просто во время сбоя ни одного драйвера в стеке не было, а оно присутствует там всегда.
Далее заглянем в окошко параметров дампа. Здесь тоже не упомянуто ничего, кроме ntoskrnl.exe, значит, проблема вызвана не драйвером.
Идем дальше. Согласно сведениям на сайте Microsoft, ошибка 0x00000154 возникает, когда «компонент хранилища обнаруживает неожиданное исключение» и связана, как правило, с неполадками накопителей.
Для проверки этой версии оценим показатели S.M.A.R.T жесткого диска компьютера, которые отслеживает программа Hard Disk Sentinel. В день аварии здесь появились изменения следующих атрибутов:
- 188 Command Timeout.
- 199 UltraDMA CRC Error Count.
Оба указывают на ошибки передачи данных по интерфейсному кабелю. Тест поверхности харда и проверка файловой структуры отклонений не выявили, поэтому проблема была решена заменой шлейфа.
Рассмотрим еще один случай синего экрана смерти, причиной которого стал антивирус Касперского. BSoD периодически возникал во время запуска Windows 10 и при выходе компьютера из спящего режима.
Ошибка зафиксировалась несколько раз под одним и тем же кодом – 0x000000d1, который означает следующее: «драйвер режима ядра попытался получить доступ к странице памяти в процессе IRQL, который имел слишком высокий приоритет». На этот раз BlueScreenView указал на проблему в драйвере NDIS.sys, отвечающем за сетевые подключения. Значит, высока вероятность, что сбой имеет программное происхождение и связан с чем-то, что использует сеть.
Для выявления виновника потребовалось провести анализ автозагрузки приложений. На раннем этапе запуска операционной системы этого ПК стартовало не слишком много программ, которым разрешен доступ в Интернет, точнее, один Касперский. В подтверждение его причастности я снова обратилась к списку загруженных в память драйверов в BlueScreenView и среди того, что присутствует здесь обычно, обнаружила kl1.sys, принадлежащий антивирусу.
После удаления Касперского синие экраны больше не выскакивали.
Утилита BlueScreenView позволяет анализировать аварийные дампы памяти, полученные не только там, где она запущена, но и на другом компьютере. Для этого не нужно копировать их в папку Windows Minidump своего ПК, которая загружается в программу по умолчанию. Скопируйте их в любое удобное место, например, на рабочий стол, и укажите программе новое расположение каталога, который следует загружать.
Функция выбора папки с файлами дампов находится в меню «Options» — «Advanced Options» (открывается сочетанием клавиш Ctrl + O) и называется «Load from the following minidump folder».
Установив здесь отметку, кликните кнопку «Browse» и найдите нужный каталог в проводнике. Когда захотите вернуть настройки по умолчанию, нажмите «Default».
Вот так за считанные минуты можно узнать причину почти любого синего экрана смерти Windows, а исследовав минидампы в совокупности – выявить источник неполадки и успешно его устранить. Кстати, подсказки, какой драйвер чему принадлежит, можете найти здесь. Там же приведены рекомендации по решению связанных с ними проблем.
Программы для ELM327 под Android
НОВЫЙ ПАК от 02.2023 disk.yandex.ru/d/vMssWNJ1q3cuKA
Torque
Программа TorquePro создана для получения и отображения диагностической информации о работе вашего автомобиля через интерфейс OBD-II. Программа умеет отображать текущие параметры работы двигателя, отображать и расшифровывать коды ошибок, стирать ошибки из ЭБУ автомобиля (погасить лампочку Сheck Engine).
Скачать Torque
Модуль KIA для Torque Скачать Kia+Adv+(OBD)+for+Torque+v1.4
DashCommand
Запчасти на фото: IS109, IS100
DashCommand — популярная мультиплатформенная программа для самостоятельной диагностики OBDII-совместимых автомобилей при помощи адаптеров на базе чипов ELM 327.
Среди множества отображаемых параметров можно выделить следующие:
— Обороты двигателя, в том числе расчетные данные (средние показания, максимальные и т.д.)
— Скорость автомобиля.
— Положение дроссельной заслонки.
— Положение педалей газа и тормоза (в процентах).
— Расход топлива (средний, максимальный, в текущий момент, экономия).
— Расчет расстояния и времени движения на оставшемся топливе.
— Работа газораспределительного механизма.
— Подача охлаждающей жидкости.
— Работа катализатора.
— Нагрузка на двигатель.
— Показатель давления в баке.
— Сводные показатели за несколько предыдущих поездок.
— Общий пробег автомобиля.
— Расчет затрат на топливо.
— Полное логирование поездок (начало, продолжительность, затраченное время, топливо, средняя скорость и другие).
— Фиксирование в памяти полных заправок.
— Расчет ускорения.
— Расчет крутящих моментов на узлах авто.
— Количество остановок.
— Логирование дистанций, пройденных на каждой из передач, в том числе на нейтральной.
— Чтение ошибок и многое другое.
Скачать DashCommand
OBD Авто Доктор
Возможности OBD Авто Доктор:
— чтение OBD2 параметров работы двигателя и автомобиля в реальном времени: скорость, обороты, температура, давление, лямбда и множество других поддерживаемых параметров
— графики изменения параметров в реальном времени
— чтение и сброс ошибок «check engine» и сохраненных параметров
— Расход горючего (для дизеля нужно установит соответствующий флаг в Настройках)
— сохранение и персылка информации об ошибках и Общей информации
— автостарт последней считываемой команды (используйте опцию «Автоматический старт последней команды» в Конфигурации отдельно или в комбинации с «Автоподключение»)
— консольный режим для ручного ввода команд OBD-II и настройки адаптера (используйте опцию «Test»-«Console» для разрешения консольного режима)
— (новое) чтение GPS параметров: скорость, высота над уровнем моря
Скачать OBD Авто Доктор или OBD Авто Доктор Pro
ScanMaster
Описание ScanMaster Lite представляет собой приложение для диагностики автомобилей соответствующих OBD-2/EOBD стандартам. Это приложение «превращает» ваш Android смартфон или планшет в диагностическое устройство вашего транспортного средства. Многие важные OBD-2 функции являются не ограниченно доступными, не смотря на «Lite». Только количество параметров и кодов ошибок ограничено по сравнению с Pro версией. Платная версии Pro с еще большим набором функциональности появиться в ближайшее время.
Скачать ScanMaster Lite
ХобДрайв
Запчасти на фото: 822032
это продвинутый Бортовой Компьютер и автомобильная диагностическая программа. ХобДрайв использует данные GPS и информацию из автомобиля, получаемую через ELM327 адаптер, чтобы непрерывно собирать и накапливать статистику во время движения.
Датчики и показания автомобиля (Необходим ELM327 адаптер):
— Стандартные OBD2 PIDы, расширенные датчики для Toyota, Toyota Prius, Ford, Chevrolet, Toyota JDM, Nissan
— Поддержка не-OBD2 протоколов: Delphi mr240 (Chevrolet), Delphi mt20u (Tiggo, china vehicles), Micas, Bosch, ВАЗ Январь 5/7, Микас
— Поддержка JDM (японский внутренний рынок) Nissan и Toyota
Расширенная диагностика двигателя:
— Постоянное слежение за возникающими кодами ошибок (предупреждает вас во время поездки), расшифровка кодов ошибок
— Отслеживание перегрева и подозрительных значений топливных коррекций
Бортовой компьютер:
— Топливная экономичность, расход с точностью до миллилитра, Расход на прогретом двигателе, Расход без простоев/пробок
— Расход и все остальные показатели по границам поездки, дня, недели, с момента заправки,
— Ручные интервалы Трип A/B
Скачать hobDrive Demo или hobDrive
Все программы скаченные с Я.Диска носят «Ознакомительный характер» :))))
Приготовьте отладчик! Пишем приложение с ошибками, затем учимся их находить и дебажить
https://gbcdn.mrgcdn.ru/uploads/post/2735/og_image/ce05da5c8c8f97a3bf7713b7cbaf3802.png
Иногда в приложении встречаются ошибки, которые нельзя увидеть даже после запуска. Например, код компилируется, проект запускается, но результат далёк от желаемого: приложение падает или вдруг появляется какая-то ошибка (баг). В таких случаях приходится «запасаться логами», «брать в руки отладчик» и искать ошибки.
Часто процесс поиска и исправления бага состоит из трёх шагов:
- Воспроизведение ошибки — вы понимаете, какие действия нужно сделать в приложении, чтобы повторить ошибку.
- Поиск места ошибки — определяете класс и метод, в котором ошибка происходит.
- Исправление ошибки.
Если приложение не падает и чтение логов ничего не даёт, то найти точное место ошибки в коде помогает дебаггер (отладчик) — инструмент среды разработки.
Чтобы посмотреть на логи и воспользоваться дебаггером, давайте напишем простое тестовое (и заведомо неправильное) приложение, которое даст нам все возможности для поиска ошибок.
Это будет приложение, которое сравнивает два числа. Если числа равны, то будет выводиться результат «Равно», и наоборот. Начнём с простых шагов:
- Открываем Android Studio.
- Создаём проект с шаблоном Empty Activity.
- Выбираем язык Java, так как его, как правило, знают больше людей, чем Kotlin.
Нам автоматически откроются две вкладки: activity_main.xml и MainActivity.java. Сначала нарисуем макет: просто замените всё, что есть в activity_main.xml, на код ниже:
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <EditText android:id="@+id/first_number_et" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="10" android:gravity="center" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" /> <EditText android:id="@+id/second_number_et" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="10" android:gravity="center" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toBottomOf="@+id/first_number_et" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Равно?" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toBottomOf="@+id/second_number_et" /> <TextView android:id="@+id/answer_tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:textSize="32sp" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toBottomOf="@+id/button" /> </androidx.constraintlayout.widget.ConstraintLayout>
Можете запустить проект и посмотреть, что получилось:
Теперь оживим наше приложение. Скопируйте в MainActivity этот код:
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final Button button = (Button) findViewById(R.id.button); final EditText first = (EditText) findViewById(R.id.first_number_et); final EditText second = (EditText) findViewById(R.id.second_number_et); final TextView answer = (TextView) findViewById(R.id.answer_tv); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Integer firstInt = Integer.parseInt(first.getText().toString()); Integer secondInt = Integer.parseInt(second.getText().toString()); if (firstInt == secondInt) { answer.setText("Равно"); } else { answer.setText("Равно"); } } }); } }
В этом коде всё просто:
- Находим поля ввода, поле с текстом и кнопку.
- Вешаем на кнопку слушатель нажатий.
- По нажатию на кнопку получаем числа из полей ввода и сравниваем их.
- В зависимости от результата выводим «Равно» или «Не равно».
Запустим приложение и введём буквы вместо чисел:
Нажмём на кнопку, и приложение упадёт! Время читать логи. Открываем внизу слева вкладку «6: Logcat» и видим:
Читать логи просто: нужно найти красный текст и прочитать сообщение системы. В нашем случае это java.lang.NumberFormatException: For input string: «f». Указан тип ошибки NumberFormatException, который говорит, что возникла какая-то проблема с форматированием числа. И дополнение: For input string: «f». Введено “f”. Уже можно догадаться, что программа ждёт число, а мы передаём ей символ. Далее в красном тексте видно и ссылку на проблемную строку: at com.example.appdebugging.MainActivity$1.onClick(MainActivity.java:26). Проблема в методе onClick класса MainActivity, строка 24. Можно просто кликнуть по ссылке и перейти на указанную строку:
int firstInt = Integer.parseInt(first.getText().toString());
Конечно, метод parseInt может принимать только числовые значения, но никак не буквенные! Даже в его описании это сказано — и мы можем увидеть, какой тип ошибки этот метод выбрасывает (NumberFormatException).
Здесь мы привели один из примеров. Типов ошибок может быть огромное количество, все мы рассматривать не будем. Но все ошибки в Logcat’е указываются по похожему принципу:
- красный текст;
- тип ошибки — в нашем случае это NumberFormatException;
- пояснение — у нас это For input string: «f»;
- ссылка на строку, на которой произошла ошибка — здесь видим MainActivity.java:26.
Исправим эту ошибку и обезопасим себя от некорректного ввода. Добавим в наши поля ввода android:inputType=»number», а остальной код оставим без изменений:
... <EditText android:id="@+id/first_number_et" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="10" android:gravity="center" android:inputType="number" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" /> <EditText android:id="@+id/second_number_et" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="10" android:gravity="center" android:inputType="number" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toBottomOf="@+id/first_number_et" /> ...
Теперь можем вводить только числа. Проверим, как работает равенство: введём одинаковые числа в оба поля. Всё в порядке:
На равенство проверили. Введём разные числа:
Тоже равно. То есть приложение работает, ничего не падает, но результат не совсем тот, который требуется. Наверняка вы и без дебаггинга догадались, в чём ошибка, потому что приложение очень простое, всего несколько строк кода. Но такие же проблемы возникают в приложениях и на миллион строк. Поэтому пройдём по уже известным нам этапам дебаггинга:
- Воспроизведём ошибку: да, ошибка воспроизводится стабильно с любыми двумя разными числами.
- Подумаем, где может быть ошибка: наверняка там, где сравниваются числа. Туда и будем смотреть.
- Исправим ошибку: сначала найдём её с помощью дебаггера, а когда поймём, в чём проблема, — будем исправлять.
И здесь на помощь приходит отладчик. Для начала поставим точки останова сразу в трёх местах:
Чтобы поставить или снять точку останова, достаточно кликнуть левой кнопкой мыши справа от номера строки или поставить курсор на нужную строку, а затем нажать CTRL+F8. Почему мы хотим остановить программу именно там? Чтобы посмотреть, правильные ли числа сравниваются, а затем определить, в какую ветку в нашем ветвлении заходит программа дальше. Запускаем программу с помощью сочетания клавиш SHIFT+F9 или нажимаем на кнопку с жучком:
Появится дополнительное окно, в котором нужно выбрать ваш девайс и приложение:
Вы в режиме дебага. Обратите внимание на две вещи:
- Точки останова теперь помечены галочками. Это значит, что вы находитесь на экране, где стоят эти точки, и что дебаггер готов к работе.
- Открылось окно дебага внизу: вкладка «5: Debug». В нём будет отображаться необходимая вам информация.
Введём неравные числа и нажмём кнопку «РАВНО?». Программа остановилась на первой точке:
Давайте разбираться:
- Сразу подсвечивается синим строка, где программа остановлена: в окне кода на 28-й строке и в левом окне отладчика (там даже можно увидеть, какой метод вызван, — onClick).
- В правом, основном окне отладчика, всё гораздо интереснее. Здесь можно увидеть инстансы наших вью (answer, first, second), в конце которых серым текстом даже отображаются их id. Но интереснее всего посмотреть на firstInt и secondInt. Там записаны значения, которые мы сейчас будем сравнивать.
Как видим, значения именно такие, какие мы и ввели. Значит, проблема не в получении чисел из полей. Давайте двигаться дальше — нам нужно посмотреть, в правильную ли ветку мы заходим. Для этого можно нажать F8 (перейти на следующую строку выполнения кода). А если следующая точка останова далеко или в другом классе, можно нажать F9 — программа просто возобновит работу и остановится на следующей точке. В интерфейсе эти кнопки находятся здесь:
Остановить дебаггер, если он больше не нужен, можно через CTRL+F2 или кнопку «Стоп»:
В нашем случае неважно, какую кнопку нажимать (F9 или F8). Мы сразу переходим к следующей точке останова программы:
Ветка правильная, то есть логика программы верна, числа firstInt и secondInt не изменились. Зато мы сразу видим, что подпись некорректная! Вот в чём была ошибка. Исправим подпись и проверим программу ещё раз.
Мы уже починили два бага: падение приложения с помощью логов и некорректную логику (с помощью отладчика). Хеппи пас (happy path) пройден. То есть основная функциональность при корректных данных работает. Но нам надо проверить не только хеппи пас — пользователь может ввести что угодно. И программа может нормально работать в большинстве случаев, но вести себя странно в специфических состояниях. Давайте введём числа побольше и посмотрим, что будет:
Не сработало — программа хочет сказать, что 1000 не равна 1000, но это абсурд. Запускаем приложение в режиме отладки. Точка останова уже есть. Смотрим в отладчик:
Числа одинаковые, что могло пойти не так? Обращаем внимание на тип переменной — Integer. Так вот в чём проблема! Это не примитивный тип данных, а ссылочный. Ссылочные типы нельзя сравнивать через ==, потому что будут сравниваться ссылки объектов, а не они сами. Но для Integer в Java есть нюанс: Integer может кешироваться до 127, и если мы вводим по единице в оба поля числа до 127, то фактически сравниваем просто int. А если вводим больше, то получаем два разных объекта. Адреса у объектов не совпадают, а именно так Java сравнивает их.
Есть два решения проблемы:
- Изменить тип Integer на примитив int.
- Сравнивать как объекты.
Не рекомендуется менять тип этих полей в реальном приложении: числа могут приходить извне, и тип лучше оставлять прежним. Изменим то, как мы сравниваем числа:
if (firstInt.equals(secondInt)) { answer.setText("Равно"); } else { answer.setText("Не равно"); }
Проверяем:
Всё работает. Наконец-то! Хотя… Давайте посмотрим, что будет, если пользователь ничего не введёт, но нажмёт на кнопку? Приложение опять упало… Смотрим в логи:
Опять NumberFormatException, при этом строка пустая. Давайте поставим точку останова на 26-й строке и заглянем с помощью отладчика глубже.
Нажмём F8 — и перейдём в глубины операционной системы:
Интересно! Давайте обернём код в try/catch и посмотрим ошибке в лицо. Если что, поправим приложение. Выделяем код внутри метода onClick() и нажимаем Ctrl+Alt+T:
Выбираем try / catch, среда разработки сама допишет код. Поставим точку останова. Получим:
Запускаем приложение и ловим ошибку:
Действительно, как и в логах, — NumberFormatException. Метод parseInt выбрасывает исключение, если в него передать пустую строку. Как обрабатывать такую проблему — решать исключительно вам. Два самых простых способа:
- Проверять получаемые строки first.getText().toString() и second.getText().toString() на пустые значения. И если хоть одно значение пустое — говорить об этом пользователю и не вызывать метод parseInt.
- Или использовать уже готовую конструкцию try / catch:
Теперь-то точно всё в порядке! Хотя профессиональным тестировщикам это приложение никто не отдавал: поищете ещё ошибки?