Основы разработки на языке elm (руководство по инструментарию для начинающих)
Содержание:
- Основы разработки на языке Elm (руководство по инструментарию для начинающих)
- Интерфейс программы
- Преимущества
- Описание и основные характеристики автосканера ELM327
- Распиновка (схема подключения) OBD2 разъема
- Как выбрать ELM327
- Как подключить к iPhone или iPad
- Синхронизация OBD2 с телефоном.
- Диагностика через OBD 2
- ScanMaster-ELM
- Что такое ЕЛМ 327
- Как подключить на Windows
- Наиболее частые ошибки при подключении
- Установка дополнительных пакетов Elm
- Совместимость сканера ELM327
- Программы elm327 для Android
Основы разработки на языке Elm (руководство по инструментарию для начинающих)
Tutorial
От автора: вместо этой статьи рекомендую прочитать более актуальную Инструменты разработчика на языке Elm.
Elm это функциональный язык программирования для разработки веб-приложений, работающих в браузере. Elm строгий, статически типизированный. Elm похож на Haskell, однако это лишь поверхностное сходство, ведь Elm изначально заточен для быстрой разработки веб-приложений.
Эта статья представляет из себя шпаргалку для начинающих по основам разработки на языке Elm, а именно, здесь рассматривается организация проекта, инструментарий Elm и среда разработки Light Table.
Интерфейс программы
Если говорить про ELM 327 interface OBD 2, то он интуитивно понятен. После установки подключения необходимо дождаться, пока мигающая иконка с изображением автомобиля не перестанет моргать. Если все было правильно, то, устройство сразу начнет работать.
Разберемся, как пользоваться автосканером, а точнее, какие из иконок программы Torque нас будут больше всего интересовать:
- OBD Check Fault Code – позволяет считать и расшифровать возможные ошибки автомобиля.
- Realtime Information – счетчики, отображающие показатели параметров двигателя в реальном времени. Пользователь может самостоятельно выбирать и добавлять счетчики, которые ему нужны. Для этого необходимо нажать «Добавить экран».
Map View – отображает маршрут передвижения.
Во время движения автомобиля водитель может смотреть за показателями датчиков давления, скорости, расхода топлива и многого другого.
Если же вы хотите получать более развернутые данные о системах авто, то рекомендуется подключиться к сканеру ЭЛМ через ПК.
Преимущества
Чаще всего главная цель использования ФП – ориентация не на частные реализации, как в императивном случае, а на потоковые, динамические данные. В «классическом программировании» выражение z = x + y ориентируется состояние переменных к моменту исполнения. Дальнейшее изменение значений x и y на z никак не повлияет. В реактивном программировании (РП) результат выражения будет пересчитываться каждый раз при изменении аргументов. Если вы работаете с вебом, то наверняка знакомы с самой популярной реализацией РП – ReactiveX – библиотекой, призванной упростить событийное программирование. Elm – инструмент из той же серии.
Среди плюсов языка можно выделить следующие:
- Компиляция в JavaScript. Это универсальный инструмент для частных реализаций на популярном языке веба и не только.
- Никаких Runtime-ошибок. Все они отлавливаются на этапе компиляции. Подтверждение этой теории – более 80 тысяч строк кода в исполнении NoRedInk и ни одной Runtime-ошибки за 2 года.
- Производительность. На официальном сайте приведено сравнение программных реализаций, выполненных в разных фреймворках. По производительности Elm незначительно, но лидирует.
Описание и основные характеристики автосканера ELM327
Автосканер на основе контроллера ELM327 – это устройство, представляющее собой диагностический адаптер, предназначенный для считывания информации из электронного блока управления автомобиля и устранения незначительных неполадок в его «мозгах».
Автосканер ELM327, в частности, может помочь в решении следующих задач:
- Считывание значений датчиков двигателя и других электронных систем автомобиля;
- Определение неисправных датчиков и диагностика приборов на предмет их корректной работы;
- Считывание и просмотр кодов неисправностей;
- Сброс ошибок в памяти компьютера (выключение лампочки CHEK ENGINE).
Подробнее о возможностях автосканера мы расскажем чуть ниже в обзоре диагностических программ.
Автосканер ELM327 вставляется в специальный диагностический разъем, который чаще всего скрывается под крышкой блока предохранителей, в бордачке, либо под панелью приборов водителя. Связь диагностического адаптера с компьютером автомобиля происходит по протоколу OBD-II (On Board Diagnostic), но в интернете его чаще всего можно встретить под названием OBD2.
Стандарт OBD-II поддерживается практически всеми американскими машинами выпущенными с 1996 г., и европейскими – начиная с 2001-го (дизельными – с 2004 года). Но иногда бывает, что автосканер не работает и на машинах до 2003 года выпуска – это связанно с тем, что не все автопроизводители сразу же стали внедрять данный стандарт.
Для того чтобы работать с автосканером ELM327 вам понадобится считывающее устройство с установленным диагностическим программным обеспечением. Таким устройством может служить смартфон или планшетный ПК на системе Android, ноутбук, либо стационарный компьютер. Программное обеспечение, как правило, прилагается к автосканеру в комплекте.
В зависимости от типа исполнения, соединение автосканера ELM327 со считывающим устройством возможно через:
- Bluetooth;
- Wi-Fi;
- USB-кабель.
Диагностические адаптеры бывают как стандартных размеров (примерно 5х3 см), так и в исполнении mini (почти вдвое меньше стандартного).
Также в последнее время можно встретить диагностические сканеры на базе чипа ELM327 версии 1.6 или 2.1 – прежде чем покупать такие модели автосканера, уточняйте у продавца, подойдет ли он к вашему авто.
О том, как пользоваться автосканером можно узнать из подробной видео-инструкции в конце этой статьи. От себя можем добавить, что такой адаптер однозначно стоит покупать каждому автомобилисту, который хоть изредка самостоятельно заглядывает под капот – это сэкономит вам кучу денег.
Распиновка (схема подключения) OBD2 разъема
Схема подключения выводов стандартного OBD2 16-ти пинового разъема, используемого в большинстве современных легковых автомобилей, представлена на рисунке:
Назначение выводов:
- устанавливается производителем;
- шина J1850;
- устанавливается производителем;
- масса авто;
- сигнальная земля;
- CAN-шина высокий уровень;
- K-Line шина;
- устанавливается производителем;
- устанавливается производителем;
- шина J1850;
- устанавливается производителем;
- устанавливается производителем;
- устанавливается производителем;
- шина CAN J2284;
- L-Line шина;
- плюс с АКБ.
Основные при диагностировании это CAN и K-L-Line шины. В процессе проведения диагностических работ они путем обмена информации по соответствующим протоколам опрашивают блоки управления автомобиля, получая информацию об ошибках в виде унифицированных кодов.
В некоторых случаях диагностическое устройство не может связаться с блоками управления. Это чаще всего связано с неисправностью CAN-шины: коротким замыканием или обрывом. Часто CAN-шину замыкают неисправности в блоках управления, например, ABS. Эту проблему можно решить отключением отдельных блоков.
Если потеряна связь по OBD-диагностике, сначала проверяют, родная ли магнитола установлена на авто. Иногда нештатная автомагнитола закорачивает К-Line шину.
Для большей верности при этом необходимо отключить магнитолу.
К выводам, назначение которых определяет производитель, обычно напрямую подключаются диагностические сигналы конкретных блоков управления (ABS, подушек безопасности SRS, кузовом и др.)
Как выбрать ELM327
Из-за множества клонов разного качества есть риск нарваться на устройство с урезанной функциональностью, которое будет работать неправильно или не запустится вообще. При покупке нужно учитывать три важных момента.
1. Тип подключения
Существует несколько версий ELM327 с разными интерфейсами подключения. Самыми распространёнными являются адаптеры с Bluetooth, Wi-Fi и USB. Отличаются они не только возможностью соединения, но и совместимостью со смартфонами и компьютерами. В остальном функции идентичны.
- Bluetooth — самые дешёвые сканеры, которые работают только с Android-смартфонами.
- Wi-Fi — более дорогие версии, совместимые как со смартфонами на Android и iOS, так и с компьютерами.
- USB — чуть дешевле сканеров с Wi-Fi. Работают только с компьютерами, зато отличаются надёжностью связи.
2. Версия прошивки
ПО адаптеров постоянно обновляется. На оригинальных ELM327 актуальная версия уже 2.2. Китайские клоны продаются с прошивками 1.5 и 2.1. Как ни странно, более свежий вариант хуже.
Попавший к китайцам чип был с микропрограммой версии 1.5. Все клоны с такой прошивкой имеют ПО оригинального ELM327. Позже появились копии сканеров версии 2.1. Последняя является лишь изменённой прошивкой 1.5, причём не в лучшую сторону — для удешевления производства китайцы убрали многие протоколы связи. Кроме того, есть обычные адаптеры с версией 1.5, которые продаются под видом 2.1.
По факту сейчас в продаже доступны три варианта клонов ELM327:
- ELM327 1.5 — старая, но оригинальная прошивка;
- ELM327 2.1 — урезанная оригинальная прошивка под видом более новой;
- ELM327 2.1 — оригинальная прошивка под видом новой, но без изменений.
Очевидно, что стоит покупать адаптер именно с оригинальной прошивкой версии 1.5. Например, вот один из проверенных продавцов, у которого можно купить недорогую Bluetooth-версию ELM327.
3. Тип диагностического разъёма авто
У некоторых машин, особенно до 2000 года и отечественных, диагностический разъём имеет колодки других стандартов. Подключить к ним сканер напрямую не выйдет. Для таких случаев используют специальные переходники: с одной стороны у них совместимый разъём для конкретной модели авто, а с другой — стандартный OBD-II.
Слева переходник VAG 2×2 — OBD-II (Volkswagen, Audi до 1997 г.), справа — GM12 — OBD-II (Daewoo, ВАЗ) / aliexpress.com
Проприетарные колодки могут иметь различную форму и количество контактов. Поэтому перед покупкой сканера уточните, какой стандарт разъёма используется на вашем авто, и при необходимости докупите соответствующий переходник.
Как подключить к iPhone или iPad
Чтобы заполучить свой собственный диагностический центр для проверки работы автотранспортного средства не обязательно подключаться к сканеру через блютуз. Более современные модели ЕЛМ оснащены Wi-Fi модулем, который позволяет использовать для получения данных практически любое портативное устройство.
Рассмотрим, как установить такое соединение:
- Подключить сканер к разъему в авто.
- Зайти в раздел, отвечающий за настройки беспроводного соединения и выбрать сеть «CLKDevices».
- Справа будет синяя стрелка, на которую необходимо нажать.
- В появившемся окне нужно ввести данные адреса IP и маршрутизатора: 192.168.0.11. Также нужно указать стандартную маску подсети: 255.255.255.0.
- Чуть ниже необходимо указать порт 35000.
На этом настройка заключена. Зная, как пользоваться сканером ELM 327, достаточно установить любое приложение для быстрой диагностики и прописать в ее настройках те же самые параметры IP и порта.
Однако стоит учитывать, что при настройке частных сканеров могут возникнуть трудности.
Синхронизация OBD2 с телефоном.
Шаг 1. Подключаться к адаптеру необходимо будет через приложение. В каждом приложении для Android-устройств это делается по-разному. Но обычно окно с выбором варианта подключения заметно сразу. Статус подключения вы сможете увидеть, оценив наличие показателей и сведений об автомобиле в самом приложении.
Шаг 2. Синхронизация будет завершена только в том случае, когда приложение даст соответствующий сигнал об этом: он может быть показан пользователю в виде внутреннего уведомления или выплывающей строки. Вы должны увидеть появление данных об автомобиле, а также о его технических системах.
Диагностика через OBD 2
Процедура проверки производится так:
- В зависимости от автомобиля, процесс диагностики может осуществляться при отключенном или включенном зажигании. Данный момент надо уточнить в сервисном руководстве. Перед началом процедура зажигания в машине отключается или включается.
- Запускается программа на компьютере для проверки.
- Выполняется подключение диагностического оборудования к разъему. Если это сканер, то колодку с проводом от него нужно вставить в штекер. При использовании ПК один конец адаптера устанавливается в USB-выход компьютера, а другой соединяется с разъемом.
- Нужно дождаться, пока программа не определит колодку после синхронизации. Если это не происходит, следует зайти вручную в меню управления и выбрать опцию поиска новых устройств.
- Запускается процедура диагностики на компьютере. В зависимости от программного обеспечения, у пользователя может быть возможность выбора нужного инструмента проверки. Некоторые программы поддерживают раздельную диагностику двигателя, трансмиссионного агрегата, электросети и других узлов.
- После завершения процедуры проверки на экране ПК появятся коды неисправностей. Эти ошибки надо расшифровать, чтобы точно определить тип поломки. В соответствии с полученными данными производится ремонт транспортного средства.
ScanMaster-ELM
Платная программа
ScanMaster-ELM — одна из немногих программ, подходящих для проведения компьютерной диагностики практически всех марок и моделей автомобилей, оснащенных разъемом OBD-II. Это разработка немецких программистов из WGSoft — компании, специализирующейся на написании автоматизированного диагностического программного обеспечения для автомобилей и мотоциклов. К сожалению, программа ScanMaster-ELM не бесплатна, и не имеет поддержки русского языка (но ее популярность в России велика, потому любителями были разработаны русификаторы, хотя и не совсем полные).
Разработчики ScanMaster-ELM описывают свой продукт следующим образом: «Любые электронные модули автомобилей, поддерживающие OBD-II (т.е. обменивающиеся техническим данными с ЭБУ), автоматически распознаются программой, и могут быть диагностированы». И речь идет не только о двигателях, а также о трансмиссиях, автоматических коробках передач, тормозных системах и других электронных и электромеханических компонентах авто.
ScanMaster-ELM предоставляет полный функционал при работе с ELM237-адаптерами, обеспечивая пользователей следующими возможностями:
- Поддержка всех типов адаптеров ELM237 — RS232, USB, Bluetooth и WLAN, работающих с использованием протоколов K-Line, KWP2000, J1850 VPW/PWM и 4 разновидности CAN (11/250, 11/500, 29/250 и 29/500).
- Считывание текущих параметров систем управления с последующим представлением получаемых в режиме реального времени потоковых данных в виде таблиц и графиков.
- Получение сохраненных ЭБУ параметров на момент возникновения ошибок.
- Получение хранящихся в памяти ЭБУ кодов неисправностей и их подробное описание.
- Стирание из памяти ЭБУ кодов неисправностей, копий текущих параметров систем, результатов, полученных в ходе тестирования датчиков.
- Считывание и вывод на экран результатов тестирования кислородных датчиков.
- Просмотр результатов тестирования систем, отвечающих за контроль катализатора, рециркуляции выхлопных газов и вентиляции топливного бака.
- Запуск внутренних диагностических тестов состава топливно-воздушной смеси, пропусков зажигания, компонентов, влияющих на работу выхлопной системы, с возможностью просмотра результатов в режиме реального времени.
- Управление всеми бортовыми системами, управляющимися ЭБУ.
- Получение VIN-кодов и калибровочных данных диагностируемого автомобиля.
- Просмотр кодов ошибок, которые были удалены ранее.
- Визуализация на компьютере информации с приборной доски автомобиля (тахометр, спидометр, термометр и т.д.).
- Получение данных в режиме реального времени абсолютного давления во впускном коллекторе, массового расхода топлива и др. систем.
- Тестирование (замер) мощности двигателя с предварительно заданными параметрами авто (вплоть до размеров шин и веса водителя с пассажирами) и коробки передач во всех режимах работы (номеров передачи).
- Возможность настройки собственных таблиц конфигурации (наборов параметров PID) и многое другое.
В качестве бонуса в программе ScanMaster-ELM предусмотрены специальные режимы диагностики автомобилей Opel и Alfa.
Программа ScanMaster-ELM доступна для смартфонов под управлением iOS (платная) и Android (бесплатная, но с урезанным функционалом). На момент написания обзора сость одной лицензионной копии программы ScanMaster-ELM составляла €75.
Что такое ЕЛМ 327
ELM 327 — это название микроконтроллера, то есть это сканер для диагностики работы двигателя автомобиля. Современные машины имеют штекер под такие разъемы сканеров. Подключение происходит по протоколу OBD2.
Сколько стоит ЕЛМ327?
Цены в разных магазинах разные. Цена оригинального такого сканирующего устройства от 4 до 16 тысяч рублей. В самом дорогом варианте сканера есть дисплей.
Всем уже известно, что китайцу ничего не стоить сделать такой же, который внешне будет как оригинал. Покупают, разбирают, изготавливаются такие детали и собирают, считывают программную прошивку.
Как подключить ELM 327?
- Беспроводное соединение (вайфай или блютус).
- Проводное соединение через COM порт.
- Проводное соединение через USB порт.
Но эффективность работы зависит не от способа подключения, а от программы. Подключить можно к ноутбуку, планшету или к телефону.
Если сканер имеет дисплей, то и комп и телефон даже не требуется подключать. Очень удобно.
Как подключить на Windows
Чтобы разобраться, как подключить сканер к компьютеру необходимо скачать программу ScanMaster.
Полезно! Перед использованием программы, скачанной из сети, ее нужно правильно установить. Для этого, сначала найдите файл с названием «Key» или «Keygen» и сгенерируйте ключ доступа. После этого можно запускать установочный файл с расширением «.exe».
После этого необходимо:
- Подключить сканер в разъем в автомобиле.
- Завести двигатель машины.
- Зайти в панель управления компьютера и перейдите в раздел «Устройства Bluetooth».
- Нажать «Добавить устройство» и установить галочку рядом с «Устройство готово к обнаружению» и выбрать «Далее».
- Некоторое время будет осуществляться поиск доступных устройств, после чего автосканер подключится к ноутбуку.
- Повторно нажать «Далее».
- В появившемся окне необходимо вбить один из стандартных кодов: 0000, 1111, 1234 или 6789.
- Снова нажать «Далее».
- Дождаться автоматической интеграции устройства с ПК и нажать «Готово».
На этом установка ПО для сканера завершена.
Если вы являетесь ярым поклонником яблочной продукции, и вариант подключения к ПК или смартфону Android вас не устраивает, то стоит приобрести специальную модель ELM 327 Wi-Fi, которую можно подключить к любому iOS устройству.
Наиболее частые ошибки при подключении
Проблемы, которые могут возникнуть при соединении:
- Сканер не подключается к ЭБУ. Такое может случиться по нескольким причинам: прибор не подходит для марки/модели авто, неверно подобран переходник или программа. Иногда водитель забывает пройти инициализацию. Реже подключения не происходит из-за банальной механической поломки – вышел из строя предохранитель, который отвечает за работу разъема OBD II.
- ELM327 не показывает данные в реальном времени (например, расход топлива). Дело в том, что данная функция доступна только во время движения автомобиля.
- Автосканер не считывает или не сбрасывает ошибки. Часто для активации устройства нужен работающий двигатель, поэтому достаточно просто запустить мотор. Некоторые дешевые модели ELM327 не умеют обнулять ошибки ABS, это решаемо, но требуется модификация прибора.
Установка дополнительных пакетов Elm
И последнее, но не менее важное: чтобы установить дополнительные пакеты Elm, нужно вызвать команду. Например, установим пакет :
Обратите внимание, что идентификатор пакета состоит из двух частей, то есть не просто , а. С этой командой связан файл проекта
В него записываются названия и версии устанавливаемых пакетов в разделе. Например, сгенерированный Brunch файл выглядит так:
С этой командой связан файл проекта . В него записываются названия и версии устанавливаемых пакетов в разделе . Например, сгенерированный Brunch файл выглядит так:
Репозиторий пакетов можно просматривать здесь.
Совместимость сканера ELM327
ELM327 подходит для большинства современных машин. Для американского производителя он актуален для любого выпуска, начиная с 1996 года, причем, вне зависимости от марки. С европейскими авто датчик интегрируется с образцами 2001 года и младше. Например, Opel, Volvo, Alfa Romeo, Lancia, а также Porsche без проблем интегрируются с ELM327, а вот для Kia придется докупать платные комплектующие ПО.
Большего внимания заслуживает совместимость автосканера с программным обеспечением для разных носителей. Рассмотрим самые известные и распространенные для телефонов:
- Torque. Это, пожалуй, самый универсальный и самый многофункциональный коммутатор между ELM327 и автомобилем. Приложение адаптировано показывать не только основные модули транспорта, но и показатели кислорода, предупреждения о критических маркерах. Изюминкой для начинающего водителя станет возможность расчета примерной стоимости поездки и отслеживание маршрута с записью видео. Доступны как бесплатная, так и платная версия, хотя значительной дискриминации пользователи не отмечают;
- Авто доктор. Используется для отслеживания, анализа и расшифровки показателей встроенных датчиков и возникших проблем. Также дает возможность погашать активные маркеры, лампочки и показатели критической неисправности на некоторый промежуток времени. Программа полностью русифицирована, а также абсолютно бесплатна в Google Play;
- OpenDiag. Это специальные разработки, предназначенные для российского автопрома с использованием датчика ELM327. Данное ПО являет собой универсальный продукт для диагностики автомобилей отечественного производства.
Вне зависимости от выбранного приложения, функционал сканера будет достаточен для определения состояния основных систем машины. ELM327 — это самый адаптивный и универсальный прибор среди большинства существующих на рынке. При этом цена его была и остается очень демократичной, благодаря китайским умельцам.
Базовыми характеристиками автосканера являются:
- Разъем OBD2 и адаптер к нему;
- Несколько светодиодов;
- Стандартное напряжение — 12V;
- Проводимость в покое — 45 mA;
- Обмен — 38400 бод.
Чаще всего продавцы в комплекте оставляют дополнительное ПО и отдельный носитель с русификатором и краткой инструкцией по эксплуатации датчика.
Подводя итог, нужно еще раз отметить основные качества автомобильного сканера ELM327. Это универсальный, практичный и многозадачный прибор, который крайне просто монтировать и интегрировать с любым нынешним носителем. Он выдает полный перечень информации о неполадках, сбоях в любой системе, недостатке топлива, а также иных показателей электроники авто.
ELM327 — это дешевая альтернатива дорогостоящим сканерам. Несмотря на его известность в широких кругах, с большего он сохранил свое первозданное качество, но стал гораздо доступнее на отечественном рынке. Приобретать сканер, однако, стоит только у проверенных дилеров. В таком случае он прослужит долгую и кропотливую службу в любом автомобиле.
Программы elm327 для Android
Поскольку все-таки наибольшая часть мобильных устройств оснащена операционной системой Android, то и выбора elm327 программ здесь представлено больше.
Для проведения диагностики только необходимо скачать elm327 программу на сматрфон или планшет.
- Torque Pro — самая востребованная, распространенная и многофункциональная elm327 программа для адаптеров среди приложений на Android. Она отлично работает с моделями адаптера с Bluetooth и также способна выступать альтернативой бортовому компьютеру. Приложение не только дает полную информацию, но и предлагает немного больше, предвосхищая ожидания автомобилистов. Приятным бонусом для вас окажется возможность сохранения данных о маршруте с показанием датчиков, расхода топлива, считывать и удалять ошибки с блока. А еще программа полностью на русском языке, что значительно для многих упрощает диагностику.
- Carzis — приложение для Android устройств, работает по протоколам Bluetooth и WiFi. Приятный графический дизайн и множество функций для диагностики авто. В арсенале программы диагностика авто, считывание и удаление ошибок, программа сохраняет данные датчиков в виде графиков, по которым можно отследить поломку. Carzis можно использовать как бортовой компьютер, который оповестит о наличии ошибок и покажет температуру охлаждающей жидкости, скорость, обороты двигателя и много других параметров. Дополнительный плюс приложения Carzis — проверка авто перед покупкой по гос номеру или Vin коду. Видео по работе программы:
- Car Scanner — вторая в рейтинге популярных программ для Android, также как и для владельцев iOS. Она также позволяет легко разобраться в показания датчиков, но все же менее функциональная elm327 программа, которая не имеет официально русского интерфейса. Тем не менее, чтобы отобразить все параметры, продиагностировать и стереть ошибки с электронного блока управления, ее вполне хватит.
- OBD АвтоДоктор. Не так давно появилась эта elm327 программа для работы с адаптером при помощи Android-устройств. Она обладает приятным и понятным русским интерфейсом и широким перечнем функций.