Крутилка спидометра купить в Москве, подмотка (моталка) для всех видов авто | – Москва

Крутилка спидометра купить в Москве, подмотка (моталка) для всех видов авто 
 |  - Москва ОБД2

Почему требуется доработка obd-ii разъема и как это сделать?

Дело в том, что на определенных авто моторная CAN-шина не подключается напрямую к диагностическому разъему OBD-II. Чтобы изменить пробег — нужно отправлять сигналы именно по этой CAN-шине, для чего к ней нужно подключиться напрямую.

Подключение заключается в присоединении к паре проводов. На разных авто эти провода могут иметь разные цвета. Например, на Toyota XV70 — это черный и белый провода, на других авто – могут быть другие цвета.

Информация по конкретной марке и модели есть в инструкциях по установке для наших CAN-подмоток.Также вы можете узнать её у специалистов нашей компании.

Разработка панели приборов на основе raspberry pi и 7″ дисплея


В качестве аппаратной части я выбрал Raspberry Pi. Была идея использовать Android планшет, но показалось, что на Raspberry Pi будет проще и быстрее. В итоге докупил официальный 7″ дисплей, и сделал CAN шилд из модуля TJA1050 Niren.

OBD2 штекер использовал от старого ELM327 адаптера.

Используются контакты: CAN_L, CAN_H, 12, GND.

Тесты в машине прошли успешно и теперь нужно было все собрать. Плату дисплея, Raspberry Pi и блок питания разместил на куске черного пластика, очень удачно подобрал пластмассовые втулки, с ними ничего не болтается и надежно закреплено.

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

Напильником довел лист черного пластика до размера крышки бардачка, к нему прикрепил бутерброд и дисплей. Для прототипа сойдет, а 3D модель с крышкой для дисплея и всеми нужными крепежами уже в разработке.

крутилка спидометра купить в москве, подмотка (моталка) для всех видов авто

«Крутилка – один из главных приборов нашего сервиса. Пробег особенно на б/у авто приходится корректировать часто, при переустановке приборной панели это вообще единственный адекватно работающий способ. Очень нравятся эффективность и простота применения – включили, и все работает, дополнительно ничего не требуется. В электронику лезть не нужно, что в десятки раз упрощает процесс подкрутки и минимизирует вероятность неудачных вмешательств. В магазине посоветовали оптимальную с учетом наших запросов модель. Также дали гарантию, что, несомненно, плюс. Доставляют, вроде, куда угодно».

«Крутилка спидометра – эффективный прибор для самостоятельной корректировки пробега. Постоянно обращаться в сервис для намотки просто неудобно, да и не выгодно, а тут все необходимое будет под рукой. Мне посоветовали на форуме, рассказали, что использование простое, безопасное и законное. Действительно – открыл, вставил, включил, и все работает. Измененные показания выводятся на все блоки, то есть вашу хитрость никто не поймет и не найдет, что немаловажно. Раньше думал фантастика, но нет – легко, просто и доступно каждому, так что советую. Универсальными моделями можно пользоваться сразу на нескольких машинах».

«CAN-крутилка – супер открытие для меня. Что искал: действенный способ перестать платить за ГСМ, простой в применении прибор, который удобно тестить самому, чтобы не поймали за руку.
Нашел – решение просто идеальное. Никаких наказаний по закону за применение подмотки нет, но, конечно, от работодателя лучше скрывать – вникать, что его норм катастрофически мало, он не станет, решит, что вы себе сливаете. Подключение через разъем не сложнее флешки, то есть лезть никуда не нужно – вы ничего не повредите. Пожалел, что раньше не купил».

«У меня выдаваемые показатели от реальных отличаются, и часто сильно, а самой платить за все не охота. Коллега порекомендовал подмотку – решила разобраться, что за зверь, проверить в работе. По закону пользоваться ей не запрещено, что, конечно, плюс, а то сомнения были, и проблем не хотелось. Если ваши машины проверяют, просто снимайте устройство после подкрутки – и никто ничего не поймет. Я выбором довольна – покупка давно окупилась, крутит без сбоев, всегда под рукой (надо – бери и пользуйся). К сервису магазина претензий нет – помогли выбрать, ответили на вопросы, быстро доставили».

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

Доработка can-шины для установки подмотки происходит следующим образом:

  1. Демонтируем приборную панель (инструкция по демонтажу для каждого автомобиля прилагается).
  2. В одном из жгутов (обычно их на приборную панель идет 2) находится нужная пара проводов, идущих к моторной CAN-шине.
  3. На обоих проводах зачищается от изоляции участок примерно 5 мм длиной. Рекомендуем выбирать место «врезки» как можно дальше от приборной панели для максимально скрытного монтажа.
  4. К зачищенным местам подключается по 1 проводу. Их длины должно хватить для подключения к диагностическому разъему OBD-II вашего авто.
  5. Места врезки тщательно изолируются.
  6. Присоединённые к моторной CAN-шине провода подключаются в указанные в инструкции контакты OBD-II разъема.

    В зависимости от марки и модели авто, пара проводов подключается ко 2 и 10 или к 3 и 11 контактам.
    В наших инструкциях есть вся информация по конкретным брендам авто.

  7. Перед окончательной сборкой проводится тестирование работы крутилки. Если при подключении пробег не изменяется, нужно в разъеме OBD-II поменять местами подведенные от CAN-шины провода.
  8. Если пробег начал изменяться, можно производить окончательную сборку и пользоваться подмоткой спидометра

Купить крутилки (моталки) спидометра в москве | «odo-service»

Крутилка спидометра – это устройство для самостоятельного увеличения пробега автомобиля. Подключается через диагностический разъем по CAN шине. Данное устройство является самым современным прибором для накрутки пробега автомобиля.

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

И если в автомобилях отечественного производства установить нужные показатели можно без особых проблем, то владельцам иномарок придется обращаться за профессиональной помощью. Однако прогресс не стоит на месте и уже сегодня каждый автолюбитель может купить крутилку спидометра в Москве. Небольшое устройство, подключающееся к диагностическому разъему OBDII по CAN-шине, позволяет прибавлять пробег, дублируя показатели приборов на все электронные блоки, благодаря чему выявить факт накрутки невозможно даже в условиях профессиональной СТО.

Изначально, устройства для подкрутки показаний с приборов авто представляли собой генератор импульсов, имитирующих работу датчика скорости. Но с появлением электронных систем ABS изменился подход к сбору информации: в новых авто данные о скорости движения поступают со специальных датчиков, установленных в области колес. При этом стоит отметить, что сам модуль ABS, равно так же, как и вся электроника авто (ЭБУ двигателя, спидометр, одометр, датчик топлива и т.д.), подключен к цифровой шине CAN.

Код ошибки:  БМВ Е39. Описание системы бортовой диагностики. BMW 5-ая серия E39

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

Прибор для скрутки пробега считается одним из самых полезных и функциональных устройств для водителей, желающих:

  • Получить компенсацию стоимости горюче-смазочных материалов. При расчете расхода ГСМ, большинство организаций учитывают данные, прописанные в техническом паспорте машины, забывая о нюансах и тонкостях в виде прогрева авто, простоя в пробках или ожидания;

  • Привести в порядок маршрутный лист. Часто, фактический пробег оказывается гораздо меньше цифр, прописанных в отчете пройденного пути, из-за чего водителям приходиться «докатывать» лишний километраж до завершения рабочего времени;

  • Вернуть реальные показания при замене приборной панели. Зачастую, продавцы подобных деталей либо «скручивают» показатели к нулю, либо оставляют их как есть, из-за чего данные на новой панели не совпадают с фактическими показателями по авто.

Занимаясь продажей специализированного оборудования для коррекции пробега, компания «ODO-Service» предлагает купить крутилки для автомобилей любой марки, модели и года выпуска. Моталки, представленные в каталоге нашей компании, выделяются за счет:

  • Качественной сборки;

  • Простоты в использовании;

  • Адекватной, доступной цены;

  • Абсолютной безопасности для электроники.

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

Подмотки для спидометра купить по низкой цене на aliexpress

подмотки для спидометра хорошего качества и по доступной цене? Мы знаем, где искать! На AliExpress можно найти всё по ключевым словам, например, подмотки для спидометра — вы получите выгодные предложения и сможете сэкономить. Вот краткое руководство о том, как найти самые низкие цены и качественные товары.

Используйте фильтры. На AliExpress есть широкий выбор самых разнообразных товаров. Чтобы найти товар подмотки для спидометра по вашим параметрам, настройте фильтры и отсортируйте всё по соответствующим результатам, количеству заказов или цене. Вы также можете выбрать фильтры с бесплатной доставкой, быстрой доставкой или бесплатным возвратом.

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

Читайте отзывы. Посмотрите, нравится ли подмотки для спидометра другим покупателям. Читайте реальные отзывы о товаре — вы найдёте много полезной информации, а также советы и подсказки для удобного шопинга.

Так будет проще найти подмотки для спидометра по выгодной цене и воспользоваться быстрой доставкой или бесплатным возвратом товара. А новых пользователей ждут спецпредложения и подарки! Заходите на сайт AliExpress, чтобы найти и купить ещё больше товаров из категории.”

Преимущества нашей намотки спидометра:

  • Моталка спидометра подключается из салона машины, с помощью диагностического разъема.
  • Отсутствует потребность в специальной установке.
  • Показания одометра меняются и в дублирующих блоках авто, благодаря чему обнаружить намотку невозможно.
  • Намотка спидометра не требует специальных знаний и навыков, и удобна в обращении.
  • Каждый прибор проходит тестирование на стенде, для исключения брака нашей продукции.
  • Моталка спидометра совместима со всеми трансмиссиями, и с любым объемом мотора.
  • Скорость работы прибора 4000 км.ч.

Наш прибор по намотке спидометра интегрируется в любой автомобиль.При выключенном двигателе следует подключить крутилку к диагностическому разъему.

Приложение на телефон виртуальная панель приборов

Крутилка спидометра купить в Москве, подмотка (моталка) для всех видов авто 
 |  - Москва
Крутилка спидометра купить в Москве, подмотка (моталка) для всех видов авто 
 |  - Москва
Если есть желание поддержать проект, то вот ссылка на приложение, принимаю любые замечания и предложения!
VAG Virtual Cockpit
Крутилка спидометра купить в Москве, подмотка (моталка) для всех видов авто 
 |  - Москва

Применение крутилок спидометров

Оригинальная крутилка для спидометра от производителя с гарантией и бесплатной доставкой в Москве, не оставляет следов в блоках.

Возможность быстро и безопасно подкрутить одометр требуется в разных случаях, среди которых следует отметить наиболее распространенные:

  • приведение в порядок обнуленного из-за ремонта или замены одометра;
  • коррекция показаний одометра из-за установленных нестандартных колесных дисков или других причин;
  • завышение пробега корпоративного транспорта с целью коррекции отчетности.

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

Приобретая у нас подмотку спидометра вы получаете:

  • Прибор, изготовленный на высоком уровне, с использованием современных технологий, новшествам в приборостроении, а также прошедшего сертификацию и
    лицензирование.
  • Бесплатную доставку в пределах Москвы, не удаленно от МКАД, в то время, когда это вам удобно.
  • Консультацию наших специалистов, связанную с особенностями работы моталки.
  • При смене автомобиля перепрограммирование прибора на новые параметры.- Годовую гарантию и поддержку.

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

Софт панели приборов на python и kivy (ui framework)

Параллельно со сборкой самой панели приборов я вел разработку приложения для отображения информации с датчиков. В самом начале я не планировал какой либо дизайн.

Крутилка спидометра купить в Москве, подмотка (моталка) для всех видов авто 
 |  - Москва
Первая версия панели приборов

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

Крутилка спидометра купить в Москве, подмотка (моталка) для всех видов авто 
 |  - Москва
Вторая версия панели приборов

Продолжив поиски более современного дизайна я обратил внимание какие цифровые приборки делают автопроизводители и постарался сделать что-то похожее.

Крутилка спидометра купить в Москве, подмотка (моталка) для всех видов авто 
 |  - Москва
Третья версия панели приборов

Ранее, я никогда не разрабатывал графические приложения под Linux поэтому не знал с чего начать. Вариант на вебе простой в разработке, но слишком много лишних компонентов: иксы, браузер, nodejs, хотелось быстрой загрузки. Попробовав Qt PySide2 я понял, что это займет у меня много времени, т.к. мало опыта.

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

import can
import os
import sys
from threading import Thread
import time

os.environ['KIVY_GL_BACKEND'] = 'gl'
os.environ['KIVY_WINDOW'] = 'egl_rpi'

from kivy.app import App
from kivy.properties import NumericProperty
from kivy.properties import BoundedNumericProperty
from kivy.properties import StringProperty
from kivy.uix.label import Label
from kivy.uix.image import Image
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.widget import Widget
from kivy.uix.scatter import Scatter
from kivy.animation import Animation

messageCommands = {
    'GET_DOORS_COMMAND': 0x220D,
    'GET_OIL_TEMPERATURE' : 0x202F,
    'GET_OUTDOOR_TEMPERATURE' : 0x220C,
    'GET_INDOOR_TEMPERATURE' : 0x2613,
    'GET_COOLANT_TEMPERATURE' : 0xF405,
    'GET_SPEED' : 0xF40D,
    'GET_RPM' : 0xF40C,
    'GET_KM_LEFT': 0x2294,
    'GET_FUEL_LEFT': 0x2206,
    'GET_TIME': 0x2216
}

bus = can.interface.Bus(channel='can0', bustype='socketcan')
Полный код панели в одном python файле

# -*- coding: utf-8 -*-

import can
import os
import sys
from threading import Thread
import time

os.environ['KIVY_GL_BACKEND'] = 'gl'
os.environ['KIVY_WINDOW'] = 'egl_rpi'

from kivy.app import App
from kivy.properties import NumericProperty
from kivy.properties import BoundedNumericProperty
from kivy.properties import StringProperty
from kivy.uix.label import Label
from kivy.uix.image import Image
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.widget import Widget
from kivy.uix.scatter import Scatter
from kivy.animation import Animation

messageCommands = {
    'GET_DOORS_COMMAND': 0x220D,
    'GET_OIL_TEMPERATURE' : 0x202F,
    'GET_OUTDOOR_TEMPERATURE' : 0x220C,
    'GET_INDOOR_TEMPERATURE' : 0x2613,
    'GET_COOLANT_TEMPERATURE' : 0xF405,
    'GET_SPEED' : 0xF40D,
    'GET_RPM' : 0xF40C,
    'GET_KM_LEFT': 0x2294,
    'GET_FUEL_LEFT': 0x2206,
    'GET_TIME': 0x2216
}

bus = can.interface.Bus(channel='can0', bustype='socketcan')

class PropertyState:
    def __init__(self, last, current):
        self.last = last
        self.current = current

    def lastIsNotNow(self):
        return self.last is not self.current

class CanListener(can.Listener):
    def __init__(self, dashboard):
        self.dashboard = dashboard
        self.speedStates = PropertyState(None,None)
        self.rpmStates = PropertyState(None,None)
        self.kmLeftStates = PropertyState(None,None)
        self.coolantTemperatureStates = PropertyState(None,None)
        self.oilTempratureStates = PropertyState(None,None)
        self.timeStates = PropertyState(None,None)
        self.outDoorTemperatureStates = PropertyState(None,None)
        self.doorsStates = PropertyState(None,None)
        self.carMinimized = True

    def on_message_received(self, message):
	 messageCommand = message.data[3] | message.data[2] << 8

        if message.arbitration_id == 0x77E and messageCommand == messageCommands['GET_SPEED']:
            self.speedStates.current = message.data[4]
            if self.speedStates.lastIsNotNow():
                self.dashboard.speedometer.text = str(self.speedStates.current)
                self.speedStates.last = self.speedStates.current

        if message.arbitration_id == 0x77E and messageCommand == messageCommands['GET_RPM']:
            self.rpmStates.current = message.data[5] | message.data[4] << 8
            if self.rpmStates.lastIsNotNow():
                self.dashboard.rpm.value = self.rpmStates.current/4
                self.rpmStates.last = self.rpmStates.current
        if message.arbitration_id == 0x35B:
            self.rpmStates.current = message.data[2] | message.data[1] << 8
            if self.rpmStates.lastIsNotNow():
                self.dashboard.rpm.value = self.rpmStates.current/4
                self.rpmStates.last = self.rpmStates.current

        if message.arbitration_id == 0x77E and messageCommand == messageCommands['GET_KM_LEFT']:
            self.kmLeftStates.current = message.data[5] | message.data[4] << 8
            if self.kmLeftStates.lastIsNotNow():
                self.dashboard.kmLeftLabel.text = str(self.kmLeftStates.current)
                self.kmLeftStates.last = self.kmLeftStates.current

        if message.arbitration_id == 0x77E and messageCommand == messageCommands['GET_COOLANT_TEMPERATURE']:
            self.coolantTemperatureStates.current = message.data[4]
            if self.coolantTemperatureStates.lastIsNotNow():
                self.dashboard.coolantLabel.text = str(self.coolantTemperatureStates.current-81)
                self.coolantTemperatureStates.last = self.coolantTemperatureStates.current

        if message.arbitration_id == 0x77E and messageCommand == messageCommands['GET_OIL_TEMPERATURE']:
            self.oilTempratureStates.current = message.data[4]
            if self.oilTempratureStates.lastIsNotNow():
                self.dashboard.oilLabel.text = str(self.oilTempratureStates.current-58)
                self.oilTempratureStates.last = self.oilTempratureStates.current

        if message.arbitration_id == 0x77E and messageCommand == messageCommands['GET_TIME']:
            self.timeStates.current = message.data[5] | message.data[4] << 8
            if self.timeStates.lastIsNotNow():
                self.dashboard.clock.text = str(message.data[4])   ":"   str(message.data[5])
                self.timeStates.last = self.timeStates.current

        if message.arbitration_id == 0x77E and messageCommand == messageCommands['GET_OUTDOOR_TEMPERATURE']:
            self.outDoorTemperatureStates.current = float(message.data[4])
            if self.outDoorTemperatureStates.lastIsNotNow():
                self.dashboard.outDoorTemperatureLabel.text = str((self.outDoorTemperatureStates.current - 100)/2)
                self.outDoorTemperatureStates.last = self.outDoorTemperatureStates.current

        if message.arbitration_id == 0x77E and messageCommand == messageCommands['GET_DOORS_COMMAND']:
            self.doorsStates.current = message.data[4]
            if self.doorsStates.lastIsNotNow():
                self.doorsStates.last = self.doorsStates.current
                self.dashboard.car.doorsStates=message.data[4]

                # all doors closed -> minimize car
                if self.doorsStates.current == 0x55:
                    self.dashboard.minimizeCar()
                    self.carMinimized = True
                else:
                    if self.carMinimized:
                        self.dashboard.maximizeCar()
                        self.carMinimized = False
          
class Dashboard(FloatLayout):
    def __init__(self,**kwargs):
        super(Dashboard,self).__init__(**kwargs)

        # Background
        self.backgroundImage = Image(source='bg.png')
        self.add_widget(self.backgroundImage)

        # RPM
        self.rpm = Gauge(file_gauge = "gauge512.png", unit = 0.023, value=0, size_gauge=512, pos=(0,0))
        self.add_widget(self.rpm)
        self.rpm.value = -200

        # Speedometer
        self.speedometer = Label(text='0', font_size=80, font_name='hemi_head_bd_it.ttf', pos=(0,-15))
        self.add_widget(self.speedometer)

        # KM LEFT
        self.kmLeftLabel = Label(text='000', font_name='Avenir.ttc', halign="right", text_size=self.size, font_size=25, pos=(278,233))
        self.add_widget(self.kmLeftLabel)

        # COOLANT TEMPEARATURE
        self.coolantLabel = Label(text='00', font_name='hemi_head_bd_it.ttf', halign="right", text_size=self.size, font_size=27, pos=(295,-168))
        self.add_widget(self.coolantLabel)

        # OIL TEMPERATURE
        self.oilLabel = Label(text='00', font_name='hemi_head_bd_it.ttf', halign="right", text_size=self.size, font_size=27, pos=(-385,-168))
        self.add_widget(self.oilLabel)

        # CLOCK
        self.clock = Label(text='00:00', font_name='Avenir.ttc', font_size=27, pos=(-116,-202))
        self.add_widget(self.clock)

        # OUTDOOR TEMPERATURE
        self.outDoorTemperatureLabel = Label(text='00.0', font_name='Avenir.ttc', halign="right", text_size=self.size, font_size=27, pos=(76,-169))
        self.add_widget(self.outDoorTemperatureLabel)

        # CAR DOORS
        self.car = Car(pos=(257,84))
        self.add_widget(self.car)

    def minimizeCar(self, *args):
        print("min")
        anim = Animation(scale=0.5, opacity = 0, x = 400, y = 240, t='linear', duration=0.5)
        anim.start(self.car)

        animRpm = Animation(scale=1, opacity = 1, x = 80, y = -5, t='linear', duration=0.5)
        animRpm.start(self.rpm)

    def maximizeCar(self, *args):
        print("max")
        anim = Animation(scale=1, opacity = 1, x=257, y=84, t='linear', duration=0.5)
        anim.start(self.car)

        animRpm = Animation(scale=0.5, opacity = 0, x = 80, y = -5, t='linear', duration=0.5)
        animRpm.start(self.rpm)


class Car(Scatter):
    carImage = StringProperty("car362/car.png")

    driverDoorClosedImage = StringProperty("car362/driverClosedDoor.png")
    driverDoorOpenedImage = StringProperty("car362/driverOpenedDoor.png")

    passangerDoorClosedImage = StringProperty("car362/passangerClosedDoor.png")
    passangerDoorOpenedImage = StringProperty("car362/passangerOpenedDoor.png")

    leftDoorClosedImage = StringProperty("car362/leftClosedDoor.png")
    leftDoorOpenedImage = StringProperty("car362/leftOpenedDoor.png")

    rightDoorClosedImage = StringProperty("car362/rightClosedDoor.png")
    rightDoorOpenedImage = StringProperty("car362/rightOpenedDoor.png")

    doorsStates = NumericProperty(0)

    size = (286, 362)

    def __init__(self, **kwargs):
        super(Car, self).__init__(**kwargs)

        _car = Image(source=self.carImage, size=self.size)

        self.driverDoorOpened = Image(source=self.driverDoorOpenedImage, size=self.size)
        self.passangerDoorOpened = Image(source=self.passangerDoorOpenedImage, size=self.size)
        self.leftDoorOpened = Image(source=self.leftDoorOpenedImage, size=self.size)
        self.rightDoorOpened = Image(source=self.rightDoorOpenedImage, size=self.size)

        self.driverDoorClosed = Image(source=self.driverDoorClosedImage, size=self.size)
        self.passangerDoorClosed = Image(source=self.passangerDoorClosedImage, size=self.size)
        self.leftDoorClosed = Image(source=self.leftDoorClosedImage, size=self.size)
        self.rightDoorClosed = Image(source=self.rightDoorClosedImage, size=self.size)

        self.add_widget(_car)
        self.add_widget(self.driverDoorOpened)
        self.add_widget(self.passangerDoorOpened)
        self.add_widget(self.leftDoorOpened)
        self.add_widget(self.rightDoorOpened)

        self.bind(doorsStates=self._update)

    def _update(self, *args):
        driverDoorStates = self.doorsStates&1
        passangerDoorStates = self.doorsStates&4
        leftDoorStates = self.doorsStates&16
        rightDoorStates = self.doorsStates&64
        if driverDoorStates != 0:
            try:
                self.remove_widget(self.driverDoorOpened)
                self.add_widget(self.driverDoorClosed)
            except:
                pass
        else:
            try:
                self.remove_widget(self.driverDoorClosed)
                self.add_widget(self.driverDoorOpened)
            except:
                pass
        if passangerDoorStates != 0:
            try:
                self.remove_widget(self.passangerDoorOpened)
                self.add_widget(self.passangerDoorClosed)
            except:
                pass
        else:
            try:
                self.remove_widget(self.passangerDoorClosed)
                self.add_widget(self.passangerDoorOpened)
            except:
                pass
        if leftDoorStates != 0:
            try:
                self.remove_widget(self.leftDoorOpened)
                self.add_widget(self.leftDoorClosed)
            except:
                pass
        else:
            try:
                self.remove_widget(self.leftDoorClosed)
                self.add_widget(self.leftDoorOpened)
            except:
                pass
        if rightDoorStates != 0:
            try:
                self.remove_widget(self.rightDoorOpened)
                self.add_widget(self.rightDoorClosed)
            except:
                pass
        else:
            try:
                self.remove_widget(self.rightDoorClosed)
                self.add_widget(self.rightDoorOpened)
            except:
                pass

class Gauge(Scatter):
    unit = NumericProperty(1.125)
    zero = NumericProperty(116)
    value = NumericProperty(10) #BoundedNumericProperty(0, min=0, max=360, errorvalue=0)
    size_gauge = BoundedNumericProperty(512, min=128, max=512, errorvalue=128)
    size_text = NumericProperty(10)
    file_gauge = StringProperty("")

    def __init__(self, **kwargs):
        super(Gauge, self).__init__(**kwargs)

        self._gauge = Scatter(
            size=(self.size_gauge, self.size_gauge),
            do_rotation=False, 
            do_scale=False,
            do_translation=False
            )

        _img_gauge = Image(source=self.file_gauge, size=(self.size_gauge, self.size_gauge))

        self._needle = Scatter(
            size=(self.size_gauge, self.size_gauge),
            do_rotation=False,
            do_scale=False,
            do_translation=False
            )

        _img_needle = Image(source="arrow512.png", size=(self.size_gauge, self.size_gauge))


        self._gauge.add_widget(_img_gauge)
        self._needle.add_widget(_img_needle)

        self.add_widget(self._gauge)
        self.add_widget(self._needle)

        self.bind(pos=self._update)
        self.bind(size=self._update)
        self.bind(value=self._turn)

    def _update(self, *args):
        self._gauge.pos = self.pos
        self._needle.pos = (self.x, self.y)
        self._needle.center = self._gauge.center

    def _turn(self, *args):
        self._needle.center_x = self._gauge.center_x
        self._needle.center_y = self._gauge.center_y
        a = Animation(rotation=-self.value*self.unit   self.zero, t='in_out_quad',duration=0.05)
        a.start(self._needle)

class requestsLoop(Thread):
    def __init__(self):
        Thread.__init__(self)
        self.daemon = True
        self.start()

    canCommands = [
        can.Message(arbitration_id=0x714, data=[0x03, 0x22, messageCommands['GET_DOORS_COMMAND'] >> 8, messageCommands['GET_DOORS_COMMAND'] & 0xff, 0x55, 0x55, 0x55, 0x55], extended_id=False),
        can.Message(arbitration_id=0x714, data=[0x03, 0x22, messageCommands['GET_SPEED'] >> 8, messageCommands['GET_SPEED'] & 0xff, 0x55, 0x55, 0x55, 0x55], extended_id=False),
        can.Message(arbitration_id=0x714, data=[0x03, 0x22, messageCommands['GET_KM_LEFT'] >> 8, messageCommands['GET_KM_LEFT'] & 0xff, 0x55, 0x55, 0x55, 0x55], extended_id=False),
        can.Message(arbitration_id=0x714, data=[0x03, 0x22, messageCommands['GET_RPM'] >> 8, messageCommands['GET_RPM'] & 0xff, 0x55, 0x55, 0x55, 0x55], extended_id=False),
        can.Message(arbitration_id=0x714, data=[0x03, 0x22, messageCommands['GET_OIL_TEMPERATURE'] >> 8, messageCommands['GET_OIL_TEMPERATURE'] & 0xff, 0x55, 0x55, 0x55, 0x55], extended_id=False),
        can.Message(arbitration_id=0x714, data=[0x03, 0x22, messageCommands['GET_FUEL_LEFT'] >> 8, messageCommands['GET_FUEL_LEFT'] & 0xff, 0x55, 0x55, 0x55, 0x55], extended_id=False),
        can.Message(arbitration_id=0x714, data=[0x03, 0x22, messageCommands['GET_OUTDOOR_TEMPERATURE'] >> 8, messageCommands['GET_OUTDOOR_TEMPERATURE'] & 0xff, 0x55, 0x55, 0x55, 0x55], extended_id=False),
        can.Message(arbitration_id=0x746, data=[0x03, 0x22, messageCommands['GET_INDOOR_TEMPERATURE'] >> 8, messageCommands['GET_INDOOR_TEMPERATURE'] & 0xff, 0x55, 0x55, 0x55, 0x55], extended_id=False),
        can.Message(arbitration_id=0x714, data=[0x03, 0x22, messageCommands['GET_COOLANT_TEMPERATURE'] >> 8, messageCommands['GET_COOLANT_TEMPERATURE'] & 0xff, 0x55, 0x55, 0x55, 0x55], extended_id=False),
        can.Message(arbitration_id=0x714, data=[0x03, 0x22, messageCommands['GET_TIME'] >> 8, messageCommands['GET_TIME'] & 0xff, 0x55, 0x55, 0x55, 0x55], extended_id=False)
    ]

    def run(self):
        while True:
            for command in self.canCommands:
                bus.send(command)
                time.sleep(0.005)

class BoxApp(App):
    def build(self):
        dashboard = Dashboard();
        listener = CanListener(dashboard)
        can.Notifier(bus, [listener])

        return dashboard
        
if __name__ == "__main__":
    # Send requests
    requestsLoop()

    _old_excepthook = sys.excepthook
    def myexcepthook(exctype, value, traceback):
        if exctype == KeyboardInterrupt:
            print "Handler code goes here"
        else:
            _old_excepthook(exctype, value, traceback)
    sys.excepthook = myexcepthook

    # Show dashboard
    BoxApp().run()

Код ошибки:  ELM327 - мультимарочные адаптеры для автомобилей Lifan X60 по лучшим ценам в Москве с доставкой


Алгоритм работы следующий, используется 3 потока:

  1. В главном потоке работаем с графическими элементы (спидометр, тахометр, часы, температуры и др) на экране
  2. Во втором потоке каждые 5 мс делаем опрос следующего датчика
  3. В третьем потоке слушаем CAN шину, получив ответ парсим его и обновляем соответствующий графический элемент

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

Проект цифровой панель приборов открытый. Рад буду предложениям и комментариям!

Универсальная перепрограммируемая can-подмотка (моталка, крутилка) | всё для диагностики автомобилей и авто тюнинга

Универсальная перепрограммируемая CAN-подмотка (моталка, крутилка)

Универсальная перепрограммируемая подмотка спидометра по CAN-шине. CAN-подмотка в Нижнем Новгороде звоните по тел. 89103891058 Илья.

Обсудить данный товар и задать вопросы можете на форуме

Вводится новая накопительная система скидок.

Теперь количество купленных подмоток будет накапливаться,
т.е. купив два раза по 5 шт. третий раз цена будет по 2400 руб. и т.д.
Таким образом набрав в сумме 20 купленных подмоток ваша цена будет 2200 руб.

от 5 до 10 шт. – 2500 руб.

от 10 до 20 шт. – 2400 руб.

от 20 шт. – 2200 руб.

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

Вышла новая версия программы ConfigCAN 1.36. Для тех кто покупал у меня CAN-подмотки пишите вышлю новую версию программу. Обновление абсолютно бесплатное.

Версия 1.36
Добавлен Kia K5 2021
Добавлен Hyundai Sonata 2020
Добавлен Renault Arkana 2021
Добавлен Skoda Rapid 2020
Добавлен VW Touareg 2021
Добавлен VW Polo Sedan 2020
Добавлен VAZ Niva 2020
Добавлен GAZ Gazon Next 2020   

Универсальная CAN-подмотка предназначена для увеличения пробега на автомобилях импортного и отечественного производства. CAN-подмотка подключается через диагностический разъем под рулем автомобиля и не требует вмешательства в проводку автомобиля (кроме автомобилей немецкого производства), а следовательно Вас не смогут улечить в этом. Не ведитесь на дешевизну подмоток через датчики ABS – это дешевле, но врезка подмотки обнаружиться при очередном ТО (автомобили обычно все на гарантии). CAN-подмотка абсолютно безопасна и не вызывает никаких сбоев электроники, т.к. просто имитирует цифровой сигнал от блока ABS, в отличии от подмоток на датчики ABS, которые вызывают ошибку ABS и вам придется ее сбрасывать спец. сканерами.

CAN-подмотка поддерживает функцию изменения типа автомобиля через специальную программу. К компьютеру CAN-подмотка подключается через специальный адаптер (стоимость адаптера 700 руб.). Данный тип подмоток идеально подходит людям, которые хотят заняться установкой CAN-подмоток на автомобили. Купив CAN-подмотку Вы сможете выбирать необходимый Вам тип автомобиля с помощью удобной программы. Никаких переключателей выбора машины, удобная программа с выбором машины и возможность обновления списка автомобилей.

Код ошибки:  Как удалить ошибку горит чек неисправность двигателя приора

Возможности:

1. возможность выбора автомобилей из списка

2. список автомобилей постоянно расширяется (бесплатные обновления)

3. возможность ручного ввода передаваемой посылки

4. возможность ввода ограничения по пробегу

Адаптер для программирования

адаптер для прогаммирования

Подключение CAN-подмотки для программирования к адаптеру для программирования

программирование подмотки

Достоинства:

1. простой, интуитивно понятный интерфейс программы

2. техническая поддержка

3. гарантия 1 год

ConfigCAN

Порядок установки CAN подмотки на автомобиль:

    1. Включите зажигание или заведите машину

      2. Установите подмотку в диагностический разъем

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

          4. Выключить зажигание

            На автомобилях производства фирм Audi, VW, BMW, Mersedes, Mitsibishi необходима врезка в проводку автомобиля. Инструкция по установке на данные марки автомобилей высылается по запросу. Других вариантов не бывает, не верьте рекламным обощаниям на других сайтах!!!

            Инструкцию по эксплуатации качайте здесь

            HTML версия инструкции здесь

            Цена CAN-подмотки – 2500 руб. при заказе от 5 шт.

            Адаптер для программирования – 700 руб.

            Стоимость конструктора CAN-подмотки от 5 шт. – 1900 руб. Описание – здесь.

            Постоянным клиентам дополнительные скидки.

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

            История версий программы ConfigCAN для настройки CAN-подмотки:

            Версия 1.35

                Добавлен Peugeot Traveller 2021
            Добавлен Toyota RAV4 2021
            Добавлен Toyota Corolla 2021
            Добавлен Kia Cerato 2021 (4 пок)
            Добавлен UAZ Profi

            Версия 1.34

                Добавлен Skoda Kodiaq
            Добавлен УАЗ Патриот 2021 ODO и ECU
            Добавлен ГАЗ Next 2021
            Добавлен Toyota Alphard 2021
            Добавлен VW Crafter 2021

            Версия 1.33
            Добавлен Audi A3 2021
            Добавлен Nissan Terrano 2021
            Добавлен Kia Quoris 2021
            Добавлен Mercedes S500 W222 2021
            Добавлен Mercedes E200 W213 2021
            Добавлен Volkswagen Teramont 2021

            Версия 1.32
            Добавлен Hyundai Sonata 2021
            Добавлен Hyundai Santa Fe 2021
            Добавлен Genesis 2021
            Добавлен Kia Sorento Prime
            Добавлен Infinity QX80

            Версия 1.31

            Версия 1.30

            Версия 1.29

            Версия 1.28

            Версия 1.27

                Добавлен Nissan Teana 2021  
            Добавлен Hyundai Solaris 2021  
            Добавлен Mercedes Vito 2021  
            Добавлен Mitsubishi Pajero Sport 2021  
            Добавлен Mitsubishi L200 2021  
            Добавлен УАЗ Патриот 2021  
            Добавлен Kia Seed 2021

            Версия 1.26
            Добавлен LADA Vesta (скорость 3 км в сек)

            Версия 1.24
            Добавлен Cadillac Escalade 2021
            Добавлен Citroen Jumpy 2021
            Добавлен Hyundai Elantra 2021
            Добавлен Hyundai Genesis 2021
            Добавлен Toyota RAV4 2021

            Версия 1.23
            Добавлен BMW X5 2021
            Добавлен Hyundai Tucson 2021
            Добавлен Toyota Prado 2021
            Добавлен VW Passat B6 2021

            Версия 1.22
            Добавлен BMW 740LI 2021
            Добавлен Mitsubishi ASX 2021
            Добавлен Skoda Rapid 2021
            Добавлен Toyota LC200 2021 Diesel
            Добавлен VAZ Vesta 2021

            Версия 1.21   

                Добавлен Fiat Ducato 2021
            Добавлен Toyota LC200 2021
            Добавлена фунция сохранения пароля
            ФайлСохранение пароля
            Добавлена функция привязки к VIN коду
            (работает с версией прошивки 2.0)

            Версия 1.20

                Добавлен BMW 750 2021
            Добавлен Mitsubishi Lancer 10 2021
            Добавлен Renault Duster II 2021 ABS
            Добавлен Renault Logan II 2021 NO ABS
            Добавлен Renault Sandero 2021
            Добавлен Nissan Sentra 2021
            Добавлен Nissan Qashqai 2021
            Добавлен Nissan X-trail 2021
            Добавлен Nissan X-trail 2021

            Версия 1.19

            Добавлен BMW 525i 2009
            Добавлен BMW 528i 2021
            Добавлен Ford Mondeo 2021
            Добавлен Hyundai Solaris MT 2021
            Добавлен Lexus LX570 2021
            Добавлен Mazda CX5 2021
            Добавлен Nissan Patrol 2021
            Добавлен Toyota Camry 2021

            Версия 1.18

            Добавлен Chevrolet TrailBlazer 2021
            Добавлен Hyundai I40 AT 2021
            Добавлен Hyundai Santa Fe 2021
            Добавлен Mazda 6 2021
            Добавлен Mercedes GLK300 2021
            Добавлен Mitsubishi Outlander XL 2008
            Добавлен Kia Rio MT 2021
            Добавлен Renault Master 2021

            Версия 1.17

            Добавлен Isuzu Ataman 2021
            Добавлен Ford Transit 2021
            Добавлен Hyundai Equus 2021
            Добавлен Hyundai Genesis 2021
            Добавлен Mitsubishi Outlander 2021
            Добавлен Nissan Murano No error 2021
            Добавлен Nissan Teana No error 2021
            Добавлен Skoda Superb 2021
            Добавлен Volvo S80 2021
            Добавлен VW Touareg 2021

            Версия 1.16

            Добавлен Geely Emgrand EC7 sedan 2021
            Добавлен Geely Emgrand X7 2021
            Добавлен Hyundai Solaris AT 2021 var2
            Добавлен Nissan Note 2021
            Добавлен Mercedes GL500 2021
            Добавлен VAZ Kalina 2 MT 2021
            Добавлен VAZ Priora 2021

            Версия 1.15

            Добавлен BMW 520 2021
            Добавлен BMW X5 2021
            Добавлен Hyundai Solaris AT 2021
            Добавлен Peugeot Boxer 2021
            Добавлен Skoda Fabia ABS

            Версия 1.14

            Добавлен Isuzu NPR75 2021
            Добавлен Isuzu NMR75 2021
            Добавлен Isuzu NLR75 2021
            Добавлен Iveco 35C15 MT 2021
            Добавлен Lexus GX460 2021
            Добавлен Renault Latitude 2021
            Добавлен Volvo S80 2008

            Версия 1.13

            Добавлен Chevrolet Malibu 2021
            Добавлен Land Rover Freelander TD4 2021
            Добавлен Renault Logan 2021
            Добавлен Nissan Pathfinder 2021
            Добавлен Nissan Teana 2021
            Добавлен Skoda Rapid 2021

            Версия 1.12

            Добавлен Citroen Jumpy 2021
            Добавлен Hyindai Equus 2021
            Добавлен Mercedes S500 W222 2021
            Добавлен Toyota Alphard 2021
            Добавлен Toyota Corolla 2021
            Добавлен Toyota Venza 2021

            Версия 1.11

            Добавлен Citroen Jumpy 2021
            Добавлен Ford Tourneo Custom 2021
            Добавлен Honda Pilot 2021
            Добавлен SSangyong Rodius XDI АТ
            Добавлен Kamaz 2021 Cummins

            Версия 1.10

            Добавлен Chery Elara 2021
            Добавлен Land Rover Range Rover Sport 2021
            Добавлен Land Rover Range Rover Supercharged 2021
            Добавлен Mersedes Sprinter 2021
            Добавлен Suzuki Grand Vitara 2021
            Добавлен Suzuki SX4 new 2021
            Добавлен Toyota Corolla New 2021

            Версия 1.9
            Добавлен Fiat Ducato 2021 OBD(2,8)
            Добавлен Kalina 2 MT
            Добавлен Kia Cerato 2021 AT
            Добавлен Toyota Camry 2021
            Добавлен Volkswagen Caddy 2021 (с фото подключения)
            Добавлен Volkswagen B7 2021 (с фото подключения)

            Версия 1.8
            Добавлен Honda CR-V 2021
            Добавлен Hyundai I30 MT 2021
            Добавлен Hyundai I40 AT 2021
            Добавлен Renault Fluence 2021
            Добавлен Volkswagen Amarok 2021 (с фото подключения)

            Версия 1.7
            Добавлен Skoda Octavia A7 2021 (с фото подключения)
            Добавлен Ford Explorer 2021
            Добавлен Mersedes VITO 2021 (с фото подключения)

            Версия 1.6
            Добавлен Audi A6 2021 (с фото подключения)
            Добавлен Toyota Prado 2021
            Добавлен Mersedes Crafter 2021 (с фото подключения)
            Добавлен Mitsubishi Outlander 2021 (без доработки)
            Добавлен Kia Optima 2021 AT
            Добавлен Land Rover Range Rover 2021
            Добавлен Land Rover Discovery 4 2021
            Добавлен Volkswagen Phaeton 2008 (с фото подключения)
            Добавлен Land Rover Freelander II old 
            Добавлен Land Rover Freelander II new
            Добавлен Chevrolet Tahoe 2021
            Добавлен Sportage 2021 MT

            Версия 1.5
            Добавлен ВАЗ Kalina 2 AT ABS
            Добавлен ВАЗ Granta AT ABS
            Добавлен Peugeot 408 2021
            Добавлен BMW 720 2021 (с фото подключения)
            Добавлен Fiat Ducato 2021
            Добавлен Audi A8 2021 (с фото подключения)

            Обновлено руководство

            Версия 1.4
            Добавлен Hyundai Grandeur 2021
            Добавлен Volkswagen Passat B7 2021 (с фото подключения)
            Добавлен Volkswagen Jetta 2021 (с фото подключения)
            Добавлен Hyundai I30 MT 2021
            Добавлен Citroen Jumper 2021
            Добавлен Iveco 50C15 MT 2021
            Добавлен Iveco 65C15 MT 2021
            Добавлен Volkswagen Caravella 2021 (с фото подключения)
            Добавлен Chevrolet Cobalt 2021
            Добавлен Volkswagen Polo Sedan 2021 (с фото подключения)

            Версия 1.3
            Добавлен ВАЗ Granta без АБС
            Добавлен ВАЗ Приора без АБС
            Добавлен Kia Optima 2021 AT
            Добавлен Peugeot Boxer 2021
            Добавлен Газель NEXT дизель

            Версия 1.2
            В программу добавлена краткая инструкция по подключению подмотки

            Версия 1.1

            Добавлен Citroen Berlingo 2021

            Добавлен Renault Kangoo 2021
            Добавлен Ford Galaxy 2021
            Добавлен Renault Master 2021
            Добавлен Ford Transit Connect 2021
            Добавлен Opel Zafira 2021
            Добавлен Mitsubishi Outlander 2021
            Добавлен Chevrolet Malibu 2021
            Добавлен Huyndai I40 MT 2021

            Оцените статью
            OBD
            Добавить комментарий

            Adblock
            detector