Pull to refresh

Использование сети CAN и стека CANopen

Reading time 6 min
Views 37K
C *
Sandbox
Однажды передо мной встала задача разработать встраиваемую систему, в которой бы данные могли передаваться между узлами c максимальной надежностью. Тогда то я впервые и узнал о CAN.

В этой статье я хотел бы рассказать вкратце рассказать о том, что такое CAN и о своем опыте работы с ним. Возможно люди, которые занимаются разработкой встраиваемых систем, прочитав мою статью, заинтересуются этим стандартом, если он еще не попадал в их поле зрения. Тем более, что контроллеры CAN в настоящее время присутствуют на многих микроконтроллерах.

CAN (Controller Area Network) — это стандарт, созданный компанией Bosсh для сетей, используемых в автоматизации и промышленности. Стандарт нашел широкое применение в промышленном производстве, технологиях «умного дома», а так же в автомобилестроении. Очень хорошо подходит для связывания различных датчиков и управляющих устройств в единую сеть.
Как правило, CAN-сеть это сеть типа «шина», в которой все узлы могут передавать и принимать данные.
Она обладает небольшой скоростью, но высокой надежностью.

Далее я хочу поверхностно описать стандарт и рассказать об использовании такой сети на практике.
Читать дальше →
Total votes 24: ↑23 and ↓1 +22
Comments 11

Ford выпустил SDK для своих автомобилей

Reading time 1 min
Views 60K
Open source *


Компания Ford приглашает разработчиков мобильных приложений и всех автовладельцев хакнуть свои машины. Специально для этой цели создана открытая платформа OpenXC, предоставляющая доступ к внутренним сенсорам автомобиля Ford через стандартный интерфейс OBD-II.

Компания Ford выпустила Arduino-совместимый микроконтроллер, который подключается к порту OBD-II (так называемый CAN-транслятор), и Java-библиотеку, которая работает практически на любом устройстве под Android.

Благодаря открытому SDK автомобили Ford превращаются в часть радиоконструктора Arduino. Можете добавлять к автомобилям кнопки, ручки, индикаторы, дополнительные дисплеи и панели управления — на что только хватит фантазии.
Читать дальше →
Total votes 118: ↑112 and ↓6 +106
Comments 68

Наш контроллер для умного дома

Reading time 6 min
Views 155K
Бесконтактные устройства corporate blog


UPD: мы сняли работу Wiren Board Smart Home на видео

Краткое содержание:


На базе нашей платформы Wiren Board (компактный индустриальный компьютер с Linux и разными интерфейсами) мы сделали навороченный контроллер для домашней автоматизации Wiren Board Smart Home (ARM9 64MB RAM, GSM/GPRS, Ethernet, Wi-Fi, USB, 2xRS-485/Modbus, CAN, 2 реле, ASK/FSK радиомодуль 433MHz, NRF24L01+ и т.д.), к которому можно подключить кучу всяческих проводных и беспроводных исполнительных устройств и датчиков от разных систем и производителей. Устройство готово и протестировано. На устройства из первой большой партии мы открываем заказ с доставкой до майских праздников по специальной цене.
Читать дальше →
Total votes 93: ↑87 and ↓6 +81
Comments 132

Разработка коммерческого электронного устройства с нуля

Reading time 6 min
Views 82K
Programming microcontrollers *
Sandbox
Приветствую!

Хочу поделиться собственным опытом разработки электронного устройства. Сначала расскажу небольшую предысторию, чтобы было понятно, зачем это, собственно, нужно было мне.

С чего все начиналось


Изначально мы занимались разработкой программного обеспечения для чип-тюнинга. Одна из основных задач которого — считать прошивку из ЭБУ (электронный блок управления двигателем) и записать ее обратно. Понятное дело, что для этих целей нужно каким-то образом связать компьютер и ЭБУ при помощи адаптера. Когда раньше подавляющее количество ЭБУ использовало простейший способ приема-передачи данных, достаточно было использовать простейший адаптер на транзисторах или специализированной микросхеме. Однако на сегодняшний день большинство автомобилей для «общения» своих компонентов со внешней средой используют CAN шину. Адаптер для CAN шины на транзисторах уже не соберешь, и тут однозначно нужен процессор, который будет управлять всем по определенной программе.
Так возникла первая проблема — как побороть CAN шину. Для того, чтобы не изобретать велосипед выбор сделан на использовании готового адаптера, который работает по стандарту J2534. Для тех, кто не в курсе, стандарт J2534 это стандарт, описывающий аппаратную и программную части устройства, с помощью которого можно произвести подключение к ЭБУ посредством компьютера. Разработали его американцы. Основной причиной его разработки стало законодательное закрепление возможности обновление прошивки ЭБУ не специализированным дилерским сервисом, а любым желающим. Собственно, если каждый желающий может обновить прошивку на своем телефоне, то почему он не может это сделать со своим автомобилем.

Самый доступный импортный аналог стоит в районе 200 долл. США. Как впоследствии оказалось, два одинаковых устройства, удовлетворяющие стандарту J2534, могут работать по-разному с одним и тем же программным обеспечением. Поэтому изначально пришлось привязаться к конкретному производителю и его устройству.
Читать дальше →
Total votes 61: ↑57 and ↓4 +53
Comments 44

Установка авторадара с интерфейсом SAE J1939 на автомобиль без CAN шины

Reading time 3 min
Views 20K
IT Standards *
Recovery mode
Про то, как подключить смартфон к автомобилю, на Хабре уже писали. Нетривиальной однако является задача подключения датчиков с интерфейсом CAN к авто без CAN интерфейса. Года 3 назад в наши руки попал радарный датчик для адаптивного круиз-контроля, вот такой



(про датчики для систем предотвращения столкновений, например, здесь). Работают такие датчики в выделенном специально для авторадаров диапазоне 77 ГГц, дальность действия имеют в пределах 200-250 метров, угол обзора пространства в современных моделях до ±30 градусов. На структурных схемах систем предотвращения столкновений и автопилотов их обозначают как LRR (Long Range Radar) и ставятся они обычно на переднем бампере. Эти датчики сейчас достаточно распространены, фирма BOSCH, к примеру, недавно выпустила миллионный датчик, и стоят сравнительно недорого (<$1000). Тем не менее, тогда это была еще некая экзотика. Мы тогда занимались разработкой аналогичного по назначению датчика, но на 100% из отечественных комплектующих, у нас был образец и хотелось провести сравнительные испытания. Машина для испытаний была также отечественная, ГАЗ-66, на шоферском жаргоне «шишига». Отличная машина, полный привод, удобный кунг с климат-контролем, но не до конца приспособленная для подключения импортных радарных датчиков.
В сопроводительной документации на датчик был указан стандарт протокола обмена данными с системами автомобиля: SAE J1939. Проблема состояла в том, что протокол этот диалоговый, и для правильной работы датчика требовался обмен сообщениями.
Читать дальше →
Total votes 51: ↑33 and ↓18 +15
Comments 28

Сетевой интерфейс для BMW

Reading time 6 min
Views 30K
Development of communication systems *
Sandbox
В данной статье речь будет о локальной низкоскоростной сети взаимодействия блоков управления автомобиля BMW — I/K-bus. А точнее о том, как с ней могут взаимодействовать приложения из под Linux. На картинках проиллюстрирую созданный мною вариант.

Итак, передо мной встала задача расширить функциональность моего автомобиля в области информационно-развлекательной системы. Просто мне этого очень захотелось. Автомобиль хороший, но пожилой. Его создавали во времена, когда даже mp3 не был в обширном употреблении. Поэтому многих современных удобств он лишён. К тому же есть в голове дополнительные идеи, воплотив которые, я смогу подчеркнуть свою индивидуальность.

Информационно-развлекательная система выполняется на устройствах, в основе которых контроллеры с заложенными программами. Я буду здесь называть эти устройства блоками управления. Каждый такой блок управления несёт свою функциональную нагрузку, будь то поддержание температуры салона, регулировка положения сидений, воспроизведение музыки и видео, навигация и прочее. Весь этот набор блоков управления должен взаимодействовать друг с другом, управляться с места водителя и пассажиров, передавать диагностические данные. Для этой цели и была разработана сеть I-bus. В последствии появилась технически идентичная сеть K-bus и их объединение I/K-bus.
Читать дальше →
Total votes 26: ↑26 and ↓0 +26
Comments 17

Диагностический разъём OBDII: можно ли его ”приручить”

Reading time 6 min
Views 72K
Rainbow corporate blog
Идея не новая, но вопросов много. С одной стороны, можно снять практически любые данные, а с другой стороны, OBDII похож на лоскутное одеяло, т.к. общее количество физических интерфейсов и протоколов напугает любого. А объясняется всё тем, что к моменту появления первых версий спецификаций OBD большинство автопроизводителей уже успели разработать что-то своё. Появление стандарта хоть и навело некоторый порядок, но потребовало включения в спецификацию всех интерфейсов и протоколов, которые на тот момент существовали, ну, или почти всех.

Читать дальше →
Total votes 20: ↑14 and ↓6 +8
Comments 29

Can Kingdom и надёжные системы

Reading time 10 min
Views 5.5K
IT Standards *
Sandbox
В этой статье вы сможете прочитать про протокол Высокого уровня — Can Kingdom, который в свою очередь ложится поверх ISO 11898 CAN. Статья будет состоять из двух частей:

1. Can Kingdom и надёжные системы (общие понятия, примеры)
2. Собранная система с Can Kingdom. Королевство без Короля.

Немало можно найти про CAN Open материалов на любом языке, это связано с широкой распространённостью данного протокола, однако CAN Kingdom во некоторых моментах более прост (как в реализации, так и в понимании). В этой статье я хотел поделится с вами как и общей информацией о CAN Kingdom (на русском не нашёл ничего в интернете), так и примером собранной мною системы на его базе.
Читать дальше →
Total votes 9: ↑8 and ↓1 +7
Comments 0

Побеждаем шину CAN. Часть 1. Технология

Reading time 5 min
Views 74K
Computer hardware DIY Electronics for beginners
image

Сегодня я хочу познакомить вас с интересной микроконтроллерной платформой CANNY. Это обзорная статья в которой вы узнаете о технологии, а в последующих статьях я расскажу вам о работе с сообщениями CAN, интеграции CANNY c Arduino Mega Server и о тех возможностях, которые предоставляет эта связка.

Почему CANNY? От названия шины CAN, которая широко используется на транспорте и, в частности, во всех современных автомобилях в качестве бортовой сети. Итак, что же можно сделать, имея специализированный контроллер, подключённый к CAN шине вашего автомобиля?
Читать дальше →
Total votes 14: ↑9 and ↓5 +4
Comments 15

Всего понемногу: автомобиль, облако, Raspberry Pi и CAN

Reading time 13 min
Views 40K
Unet corporate blog IOT Car Gadgets
Развлекательный центр (in-vehicle infotainment, IVI) стал неотъемлемой частью современного автомобиля. Если раньше это был просто радиоприемник, затем кассетный магнитофон, потом музыку можно было слушать просто с флэшки, а теперь едва хватает двух дисплеев по 10.25-дюймов для приборной панели и развлекательного центра в новом Mercedes A-класса. Кстати, IVI – это уже не только музыка, но и навигация, доступ к Интернет и многие другие возможности внутри транспортного средства, которые потихоньку дают старт воплощению концепции «подключенного автомобиля» (Connected Car). Пожалуй, автотранспорт так же очень близок к реализации концепции Интернета вещей (IoT). И все это достигается благодаря «ассимиляции» компьютера и автомобиля.

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


Image: Bringing its A game: new 2018 Mercedes A-class hatch revealed – CAR Magazine
Total votes 14: ↑13 and ↓1 +12
Comments 6

Миллер и Валасек опубликовали всю информацию для взлома автомобилей

Reading time 3 min
Views 24K
Transport Urbanism

Чарли Миллер (отдел безопасности компании Twitter, бывший хакер АНБ, слева) и Крис Валасек (консалтинговая компания IOActive)

Специалисты по безопасности Чарли Миллер (Charlie Miller) и Крис Валасек (Chris Valasek) хорошо известны в хакерском сообществе. Они неоднократно выступали на конференциях с докладами об уязвимостях в автомобильных компьютерах. Пожалуй, самой известной их презентацией был взлом 2014 Jeep Cherokee два года назад с дистанционным управлением некоторыми функциями автомобиля. После той презентации автопроизводителю пришлось отозвать почти 1,5 млн машин по всему миру для замены прошивки.

Что характерно, первая замена прошивки оказалась не слишком удачной. С новой прошивкой возможности взлома автомобилем только увеличились. Потом пришлось ещё раз её менять.

Через два года после той истории хакеры выложили практически пошаговое руководство по взлому Jeep Cherokee, а также инструменты и документацию по взлому других автомобилей с шиной CAN.
Читать дальше →
Total votes 31: ↑29 and ↓2 +27
Comments 62

LIDAR от Mazda. Тестируем, ставим на Lada

Reading time 4 min
Views 32K
Computer hardware Lazers Car Gadgets Transport


Здравствуйте.
В этот раз мне в руки попал самый настоящий LIDAR от автомобиля Mazda CX5, примерно 2012г. выпуска. В этой статье я намерен разобрать модуль и включить его на столе. И самое смешное, я установлю сей LIDAR в Datsun Mido (Лада Калина в девичестве).
Total votes 46: ↑43 and ↓3 +40
Comments 66

Специалисты по инфобезу: «Умный автомобиль далеко не всегда безопасный автомобиль»

Reading time 3 min
Views 12K
Car Gadgets The future is here
image
Источник: Getty Images

Еще три года назад два специалиста по информационной безопасности показали, что новые модели Jeep уязвимы для атак злоумышленников. Здесь имеются в виду не ходовые качества и прочие характеристики, а возможность управлять различными функциями удаленно. И чем «умнее» машина, тем сильнее она подвержена влиянию извне. К сожалению, демонстрация, проведенная упомянутыми специалистами, особо ни к чему не привела. Да, производитель Jeep постарался решить проблему, но другие компании все так же мало обращают внимание на необходимые меры информационной безопасности, как и раньше.

На днях сотрудники компании Trend Micro опубликовали пост, который дает понимание того, насколько плохо хорошо защищены современные автомобили от возможности взлома. Эта же информация была озвучена на конференции по инфобезу DIVMA, проводившейся в Бонне, Германия. По словам исследователей, главная проблема — это протокол CAN, который различные элементы автомобиля используют для взаимодействия друг с другом и общей сетью. Как оказалось, протокол уязвим, и злоумышленники, при условии обладания необходимыми знаниями и оборудованием, могут эксплуатировать в своих интересах слабые места в защите CAN.
Total votes 14: ↑13 and ↓1 +12
Comments 38

Создание арта с помощью DCGAN на Keras

Reading time 13 min
Views 6.2K
Python *Artificial Intelligence
Sandbox

Доброго времени суток. Полгода назад я начал изучать машинное обучение, прошел пару курсов и получил некоторый опыт в этом. Затем, видя самые разные новости о том, какие нейронные сети крутые и много могут делать, я решил попробовать изучить их. Начал читать книгу Николенко про глубокое обучение и в ходе чтения у меня появилось несколько идей (которые не новы для мира, но для меня представляли огромный интерес), одна из которых — создать нейросеть, которая генерировала бы для меня арт, который казался бы классным не только мне, "отцу рисующего ребёнка", но и другим людям. В этой статье я постараюсь описать путь, который я прошел для того, чтобы получить первые удовлетворяющие меня результаты.

Читать дальше →
Total votes 12: ↑12 and ↓0 +12
Comments 5

Управление автомобилем по CAN

Reading time 11 min
Views 46K
Transport

Введение


Беспилотный автомобиль StarLine на платформе Lexus RX 450h — научно-исследовательский проект, стартовавший в 2018 году. Проект открыт для амбициозных специалистов из Open Source Community. Мы предлагаем всем желающим поучаствовать в процессе разработки на уровне кода, опробовать свои алгоритмы на реальном автомобиле, оснащенном дорогостоящим оборудованием. Для управления автомобилем было решено использовать Apollo, открытый фреймворк. Для работы Apollo нам необходимо было подключить набор модулей. Эти модули помогают программе получать информацию об автомобиле и управлять им по заданным алгоритмам.

К таким модулям относятся:

  • модуль позиционирования автомобиля в пространстве с помощью GPS-координат;
  • модуль управления рулем, ускорением и торможением авто;
  • модуль состояния систем автомобиля: скорость, ускорение, положение руля, нажатие на педали и т.д.;
  • модуль получения информации об окружении автомобиля. С этим справятся ультразвуковые датчики, камеры, радары и лидары.

Прежде всего перед нашей командой стояла задача научиться управлять рулем, ускорением и торможением автомобиля. А также получать информацию о состоянии систем автомобиля. Для этого была проведена большая работу по изучению CAN-шины Lexus.
Total votes 19: ↑17 and ↓2 +15
Comments 29

Как я добавил функции автомобилю по шине CAN, не умея программировать

Reading time 4 min
Views 50K
Developing for Arduino *DIY Transport
Translation


Цель этой статьи — рассказать о моём опыте модификации автомобиля и экспериментах с шиной CAN.

С чего всё началось


Сначала я решил добавить фронтальную камеру в свой 2017 Chevrolet Cruze. Поскольку у автомобиля уже есть заводская камера заднего вида, то на высоком уровне нужно было выяснить две вещи:

  1. Способ передачи видео с фронтальной камеры, которую я добавлю.
  2. Способ отображения на экране картинки с камеры заднего вида в любое время.
Читать дальше →
Total votes 46: ↑45 and ↓1 +44
Comments 28

Шины и протоколы в промышленной автоматике: как всё это работает

Reading time 9 min
Views 37K
IT Infrastructure *Industrial Programming *Manufacture and development of electronics *Systems engineering *


Наверняка многие и вас знают или даже видели, каким образом управляются большие автоматизированные объекты, например, атомная станция или завод со множеством технологических линий: основное действо часто происходит в большой комнате, с кучей экранов, лампочек и пультов. Это комплекс управления обычно называется ГЩУ — главный щит управления для контроля за производственным объектом.

Наверняка вам было интересно, как всё это работает с точки зрения аппаратной и программной части, и какие там используются протоколы передачи данных. В этой статье мы разберемся, как различные данные попадают на ГЩУ, как подаются команды на оборудование, и что вообще нужно, чтобы управлять компрессорной станцией, установкой производства пропана, линией сборки автомобиля или даже канализационно-насосной установкой.
Читать дальше →
Total votes 24: ↑21 and ↓3 +18
Comments 32

CAN или не CAN? Или зачем мне сеть микроконтроллеров?

Reading time 7 min
Views 25K
Programming microcontrollers *Circuit design *

Этот вопрос мне пришлось задать себе лет десять назад или больше. Работа, которую надо было сделать, заключалась в дарении второй жизни диспетчерскому щиту. Это такая штука во всю стену, состоящая из лампочек и выключателей с переключателями. Думаю, не ошибусь, предположив, что щиты стали делать с тех пор, как появились лампочки, поскольку выключатели к тому времени, наверняка, уже были известны. А тяга к прекрасному, вообще, пришла к людям из далекой древности.


Сейчас многие предпочтут щитам дисплейные панели. Но будут ли любители дисплеев в большинстве, зависит от многого, нам неведомого. Но сейчас речь не об этом.


Каждый, кто может в течение пяти минут поддерживать разговор об электропроводке, сразу скажет мне, что щит состоит из плоских панелей, на которых размещены выключатели и лампочки, а также из ящика со множеством проводов. Ведь лампочка без проводов только для того и годится, чтобы ее или тупо разбить или, если подойти творчески и включить воображение, разместить у самого пытливого во рту и довольно быстро узнать, где находится травмпункт.

Читать дальше →
Total votes 33: ↑30 and ↓3 +27
Comments 49

Как разрабатывать блок управления подвеской автомобиля

Reading time 2 min
Views 4.1K
Circuit design *Manufacture and development of electronics *
Sandbox
Добрый день! Как известно дороги в России далеко не самые лучшие и поэтому до сих пор актуальна разработка и программирование блоков активной подвески автомобилей, адаптирующихся под тип дорожного покрытия выбором режима работы или алгоритма.
Приведу ряд электрических схем и рекомендаций.

Для начала нужно определиться с выбором типа микропроцессора — микроконтроллера. Советую выбирать современный быстрый 32-х разрядный микроконтроллер STM или подобный — оптимальный вариант фирмы Infineon.
Читать дальше →
Total votes 29: ↑17 and ↓12 +5
Comments 19

Беспилотный автомобиль: оживляем алгоритмы. Доклад Яндекса

Reading time 11 min
Views 14K
Яндекс corporate blog Manufacture and development of electronics *Video equipment Car Gadgets The future is here
Подробная расшифровка еще одного доклада со встречи Яндекс.Железо — про разработку устройств для беспилотника.



— Всем привет, меня зовут Виталий Подколзин, я руководитель разработки встраиваемых систем проекта беспилотного автомобиля. И сегодня я хотел бы с вами поговорить о том, что такое беспилотный автомобиль, какие компоненты входят в его состав, как заставить машину двигаться и как работа автопилота и его компонентов зависят от применяемых устройств.

Total votes 32: ↑30 and ↓2 +28
Comments 39
1