it.stories

it.stories

Пикабушник
Дата рождения: 11 января
741 рейтинг 22 подписчика 30 подписок 11 постов 3 в горячем
Награды:
Пикабу 16 лет! Сборщик Пыли 5 лет на Пикабу
168

CanHacker на базе Adruino (без глюков)

Всех приветствую.

Немного вводной информации. У меня Volkswagen Tuguan 2008 года. Случилось так, что рулевая рейка на моем автомобиле стала периодически выдавать то желтый руль, то красный (признак проблем с ЭУР).

Красный руль на щитке приборов

Красный руль на щитке приборов

Диагностика говорила о том, что на 30 клемме (постоянный плюс после аккумулятора) пропадает питание.

Ошибка в блоке ЭУР

Ошибка в блоке ЭУР

И, казалось ба, в чем проблема проверить жгут проводов и найти причину? Не тут то было. Жгут проводов целый, окислов на соединениях нет. Питание при наличии ошибки есть. Вывод - проблема в блоке управления ЭУР. А стоит он на самой рулевой рейке, до которой без подъемника добраться достаточно проблематично. Решил заказать контрактную б/у рейку и заменить ее. После замены проблема ушла. Но вот незадача - осталась старая рейка. И продать ее в таком состоянии не вариант, так как непонятно что дает ошибку. И как чинить, не имея возможности без машины даже включить ее "на столе"?

Итак, моя задача: подключение рулевой рейки тигуана на столе без подклбчения к машине. Для этого требуется имитация активности в CAN шине. Для этого требуется адаптер, позволяющий работать с программой CanHacker и, собственно, трейс CAN пакетов с автомобиля.

С первой задачей мы сегодня и разбираемся, а именно с адаптером, совместимым с ПО CanHacker.

ПО CanHacker общается с адаптером по протоколу lawicel. Следовательно, нам понадобится микропрограмма для Arduino и CAN трансивер. Будем использовать модуль MCP2515 с трансивером TJA1050 на борту.

Модуль MCP2515

Модуль MCP2515

Соединение с Adduino простое - нужно соединить питание и SPI, схема типовая. Выглядит следующим образом.

Схема подключения CAN модуля к Arduino

Схема подключения CAN модуля к Arduino

Джампер J1 на модуле MCP2515 подключает резистор 120 Ом на шине. Для подключения к шине автомобиля он обычно не нужен, а вот для подклчения устройства к модулю на столе его лучше установить.

Итак, модуль подключили, осталось дело за малым - найти подходящий софт для прошивки.

Тут у меня было много приключений, потому что везде, где предлагалось сделать аналогичный девайс, использовался проект arduino-canhacker, но он имеет свойство зависать и нестабильно работает на скорость 500Кб/с и выше (у меня он и на 125 зависал спустя минуту).

В итоге нашел для себя нечто прекрасное, а именно проект Seeed_Arduino_CAN. Подключается в проект как библиотека, открывается пример canbus-monitor, прошивается и вуаля - имеем девайс, который умеет работать с CanHacker, не зависает и адекватно работает на 500Кб/с.

Ну что, проверим работу девайса? :) Идем к машине, лезем к блоку парковочного ассистента, подключаемся к CAN шине (да да, на вагах стоит Gateway, который разделяет сети и подключившись к нему вы ничего не увидете. Туда можно слать запросы с ID 7xx и получать ответы, разъем диагностический же...). Запускаем CanHacker, выбираем COM порт и скорость 115200, выбираем скорость шины CAN (в моем случае это кан-привод, там скорость 500Кб/с).

Настройки подключения

Настройки подключения

Подключаемся к адаптеру и видим что все ок, коннект есть, версия микропрограммы видна.

CanHacker подключился к адаптеру

CanHacker подключился к адаптеру

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

трейс, полученный с рабочего автомобиля

трейс, полученный с рабочего автомобиля

Если то что вы прочитали вам понравилось - дайте знать, напишу что нибудь еще по этой теме :)

Показать полностью 8
10

Ростелеком снова подставляет рекламу по HTTP

Привет, пикабушники. Простите, ростелеком снова поджег жопу.

Итак, предыстория. Ранее жил на адресе 1, пользовался ростелекомом. В один момент начал замечать рекламу на собственных сайтах, которые я открывал по HTTP. Думал изначально, что проблема на моей стороне, но нет. Упростил код тестовой страницы на минимум. Реклама на ростелекоме показывалась, на других провайдерах нет. После обращения в ТП РТК о чудо - эту рекламу отключили.

Жил, радовался, переехал на адрес 2. Увы, тут тоже только ростелеком. Заключил договор. Примерно пол года жил спокойно, все было хорошо. А сегодня обнаружил повторение истории. Ну, думаю,не буду ходить вокруг да около - напишу сразу в поддержку. И знаете что? Они сказали что подобными вещами не занимаются. Ну да ну да. Начал анализировать ситуацию более углубленно.

К сайту подключен роистат. Он в скою очередь подгружает скрипт counter.js. И вот тут самое интересное. На провайдере НЕ РТК он грузится как обычно, все прекрасно работает, рекламы нет. А вот на нашем любимом РТК происходит интересная картина. При запросе на counter.js происходлит редирект на домен r.rrzs.ru и с него выдается уже модицицированный counter.js. И дальше понеслось - подгрузка json с рекламными блоками и их вывод.

редирект

редирект

Как видим на оригинальный cointer.js случился 307 редирект, а чуть ниже на скрине мы видим подгрузку данных с домена r.rrzs.ru

Как видим - код абсолютно другой и отличается от оригинала весьма сильно

Ну а дальше грузится сама реклама, которая в дальнейшем вставляется в тело страницы

А вот и сама реклама

А теперь самое интересное - общение с ТП Ростелекома.

Вопрос к пикабушникам: как отключить это безобразие?

Показать полностью 11
136

Гаражный контроллер на NodeMCU (ESP8266)

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

Решено было перейти на что то более интересное и выбор пал на NodeMCU с ESP8266 на борту.

Программку написал за вечер, благо исходники от первой версии остались. Логика плюс минус такая же, но с доработками.

Компоновка получилась примерно такая.

Контроллер в боксе внизу, силовая часть сверху

Все крышки закрыты, контроллер запущен

Для серверной части решил все полностью переработать.

Осталось почти такая же только структура. Решил в этот раз не халтурить, а сделать все красиво. На ООП PHP все уместилось в один класс.

Ну а с веб интерфейсом решил не мудрить, сделал примитивненько, для себя ж.

такое вот чудо-юдо

Для Вас, мои малочисленные читатели, я выложил все исходники на Github (https://github.com/rsgrinko/nmcu-garage-controller). Так что изучайте:)

Показать полностью 4
11

Умный гараж - начало

Наверняка многие слышали про системы Умный Дом. Вот такое я решил сотворить со своим гаражом.

Там у меня уже проведен интернет 100 Мб/с и стоит видеонаблюдение (а полы пока не доделаны, ага).

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

Взял Arduino на Atmega328, Ethernet шилд к ней, температурный датчик ds18b20, сворганил на скорую руку на макетке реллейный блок на 3 реле (хотя в программе предусмотрел 4 реле, будет апгрейд когда нибудь). Где то на просторах хабра была найдена статья про удаленное управление. Там логика такая: ардуинка шлет get запрос на сервер с показаниями датчиков, а сервер отвечает значениями выходов для реле. Все просто:)

Первая проверка "на столе". К Реле 1 подключена 12 вольтовая светодиондая палочка, к Реле 2 накинул моторчик (ну для вентиляции гаража, например:)

Как все наладил на программном уровне, а время было позднее, решил сразу поставить все это дело в полевые условия.

Проверки показали, что все работает хорошо))

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

Температура выводится с датчика с интервалом 6 минут. На сервере лежит php скрипт, который по cron запускается и передает данные на сервер народного мониторинга. АЦП и Рандом временные поля, дальше будет больше датчиков и их место займут они:)

Ну и можно строить график как температура менялась))

Показать полностью 2 1
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества