Еще вопрос назрел:раз контролер подключается по шине авто,то возможно сделать отображение звонящего на монитор?
Еще вопрос назрел:раз контролер подключается по шине авто,то возможно сделать отображение звонящего на монитор?
я видел в Харькове только по моему финик втыкали систему и CAN пользовали но товарищ тогда (в 2008году кажется) 50 тыр на наши деньги взял только за то чтобы на монике картика была и майфун от штатных крутиколок работал..т.е. инсталляцию он не делал, только "косу срастил"т.е протокол похоже сумел подломить
SRG, считывание происходит только при небольшом удержании клавиши, при быстром нажатии не прокатывает. Чем это обусловлено?
Вероятно, обусловлено тем, что за одно нажатие в шину выкидывается 3 законченных посылки данных. При удержании данные идут циклически, но посылки в группах зачастую меняются местами между группами и они (посылки) далеко не все одинаковые. При нажатии клавиши я ищу самую "популярную" посылку. В первой группе она идёт не всегда, поэтому имеется задержка.
Спросите, почему бы не искать посылку из первой группы сообщений? Они там не всегда одни и те же.
Я взял 10 групп по 3 сообщения и выудил одну часто-повторяющуюся - это 94,84%(примерно) срабатывания клавиши.
Протокол мной не взломан и не отреверсирован и логики формирования мне не известна... Поэтому я использую не декодирование по протоколу, а сравнение по ранее изученным данным
Вооот. Как-то так![]()
Последний раз редактировалось SRG; 21.09.2015 в 20:18.
Хочу добавить, аудиовход для телефона балансный, в магнитоле на входах Tel+/Tel-, Navi+/Navi- стоит операционный усилитель (4558) для конвертирования в небалансный. Я его выкинул для улучшения звука, т.к. источник звука линейный.
Далее пытаюсь сделать вход стерео. Сигнал Tel подается на правый и левый входы аудиоконтроллера LC75412 (http://www.chipfind.ru/datasheet/sea...LC75412&t=part) - 6 канал, который активируется сигналом Tel On. Проблема в том, что процессор подает сигналы управления на аудиоконтроллер и отключает все динамики, кроме фронтального правого. В документации на контроллер есть информация по управлению каналами, идея в том, чтобы перехватывать пакеты с процессора и подменять биты управления каналами. Можно будет использовать Tel+ и Tel- как стерео вход.
Может кто-нибудь помочь в реализации?
Так же на контроллере есть свободный вход, который можно было бы активировать.
PS: Есть у кого-нибудь штатная навигация? Как с неё звук выдается? С глушением каналов? Регулировка звука в окне навигации осуществляется? Дело в том, что вход Navi прямо на усилитель уходит, левый фронтальный канал.
- - - Добавлено - - -
Выход от тюнера приходит на два стерео входа аудиопроцессора. Отцепил ноги от входа AM, подпаял Aux. Теперь в FM диапазоне слушаю музыку с телефона. Режим телефона с того же входа подключен.
Так вот, опять есть проблема в настройках, передаваемых процессором для каждого канала. Звук гомно как с AM радио.
Появилось немного новой информации, решил поделиться.
Уже довольно давно обещал для Gearbox дописать программу и научить эту железяку не только принимать, но и отправлять данные в авто.
На днях взялся за это дело. К слову сказать, передача получилась так себе, я надеюсь Gearbox допилит и поделиться более надёжными функциями. В моём варианте передача проходит только в 70% случаев. Дабы и мне это новшевство было полезно, я запрограммировал отпрвку кнопки BACK после пуска двигателя. У меня есть система контроля давления в шинах, которая давно не работает и на дисплее постоянно маячит эта надпись о низком давлении. Теперь надпись пропадает спустя 8 секунд (но опять таки в 70% случаев).
Но дело даже не в этом. Я свежими глазами взглянул на проделанную работу, понял алгоритм кодирования кнопок и теперь они (кнопки) определяются моментально, по первому касанию.
Помимо всего прочего, может я и не открою Америку, но вся инфа, отображаемая на дисплее, передаётся по шине J1850.
Состояние СД: трек, диск, время проигрывания, уровень громкости, ФМ: частота, информация RDS (название рдио, реклама телефоны, PTY), Весь климат: скорость вентилятора, температура и пр. (но там вообще всё довольно сложно закодировано). Единственное - это то что я далеко не всё декодировал (времени у меня не оч много), поэтому, если найдутся энтузиасты , то могу оказать поддержку и посмотреть логи шины при различных вариациях экрана.
Так же в системе есть устройство, которое является мостом между CAN и J1850, так как общий чек тоже отображается на дисплее (думаю, что это NATS).
В мыслях есть цель поставить мафон с ПДУ и с помощью штатных кнопок эмулировать нажания ПДУ (навигация, телефонная книга, аудио-видео), выкинуть СД вообще (я думаю, что NATS вполне реально отучить от привычки проверять родной граммофн и писать СЕКУРЕ на дисплее)
Новая прошивка с максимальными комментария, значениями основных кнопок и примером использования отправки данных в авто по ссылке в посте №1. V2.0
Уже более полугода я пользуюсь другой версией сего прибора. Пронумеровал я её как V3.
Здесь вместо внутренностей блютуc гарнитуры используется модуль XS3868 V3.0 Купил я его на Али за 200р. Устройством управления, так же является плата Arduino Nano. Используется тот же разъём телефонного крэдла автомобиля.
Схема упростилась, пайки стало меньше и паять стало проще.
В основном, принцип пайки и прошивки тот же, что и в статье, только схема и программа немного изменились.
Что аппарат умеет:
- отвечать ТРУБКА (во время вызова)
- заканчивать разговор ТРУБКА (во время разговора)
- сбрасывать вызов BACK (во время вызова)
- набор последнего номера ТРУБКА два раза
- набор одного из 6 номеров из памяти контроллера ТРУБКА потом кнопка (1-6)
- отключать микрофон КНОПКА 1 (во время разговора)
- переводить разговор на телефон КНОПКА 3 (во время разговора)
Кнопка на руле и на консоле равнозначны.
Что бы установить номера телефонов быстрого набора, откройте проект, откройте в проекте файл 3860.с
В строке 25 инициируется переменная с телефонами. Заполните её. Имеем 6 номеров, каждый по порядку соответствует своей цифровой кнопке на консоле.
Опционально можно использовать зуммер (маленькую пищалку на 5В пъезоэлектрического типа). По умолчанию эта функция отключена, но если в файле prima_bt.ino в строке 18 убрать 2 косые черты, то при включении прибора будет сигнал, при соединении с телефоном, тоже будет пищать. Это просто небольшая звуковая индикация.
Соответственно на плате тоже необходимо его припаять.
Опционально можно использовать команду отправки события нажатой кнопки Back в систему, спустя 5 сек после поворота ключа или запуске двигателя. По умолчанию эта функция отключена, но если в файле prima_bt.ino в строке 19 убрать 2 косые черты, то эта функция активируется.
Проект, который надо прошивать.
Программа, которая откроет проект.
Имя и пин-код модуля XS3868 можно изменить. По умолчанию ПИН = 0000. Что бы это сделать необходима отдельная пайка, до установки в плату. Нужен COM порт с уровнями TTL, такой например.
Скачиваем эту программу, припаиваем питание 3.3 COM порта к Vbat модуля, припаиваем GND,а так же RX,TX COM порта к TX,RX XS3868 соответственно. Подпаиваем проводок к выводу Reset XS3868. Подключаем COM порт, прижимаем проводок reset к gnd, запускаем программу, отпускаем провод reset от gnd.
Программа должна определить и прочитать чип. Ключ 416 и 417 - pincode, localname соответственно. Подробнее о ключах и настройках можно почитать по ссылкам тут https://github.com/tomaskovacik/hw/b...rary/README.md
Измените необходимые ключи и нажмите на кнопку "Write All". На этом всё.
После сборки отрегулируйте RV1, так что бы на выходе регулятора U2 было 4,1 - 4,2 Вольта. RV2 и RV3 установите в среднее состояние перед включением и проверкой.
RV3 можно взять номиналом поменьше (4k-10k), что бы можно было плавнее настраивать чуствительность микрофона.
Соединение RX-TX между XS3868 и Arduino лучше сделать разъёмным или спаять его в последнюю очередь, после того как прошъёте Arduino. Связано это с тем что по линиям RX-TX происходит прошивка микроконтроллера Arduino, а подключенный XS3868 будет мешать.
Настройка.
Возьмите с собой в машину 2 телефона. Один подключите по блютус и сделайте с него на второй телефон вызов. В правом динамике пойдут гудки. Резистором RV2 установите нормальную громкость, слушая эти гудки.
Теперь со второго телефона ответте на вызов и отключите у телефона микрофон. Теперь нужно разговаривать в машине, слушать себя во втором телефоне и настраивать резистором RV3 чуствительность микрофона автомобиля.
Есть один момент - собеседник слышит небольшое жужжание - это какие-то грабли модуля XS3868, я их не победил. Кто справится с этим - сообщите, внесём изменения.
Вот такая схема теперь
Вот такая плата
Пользуйтесь на здоровье!
Последний раз редактировалось SRG; 20.05.2017 в 15:46.
Супер! А ты рассматривал модуль bk800l? У меня такой валяется, скоро займусь.