PCCar.ru - Ваш автомобильный компьютер

Вернуться   PCCar.ru - Ваш автомобильный компьютер > MP3Car ТехИнфа > Вопросы и ответы

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2023, 11:23   #1
rxstart
Новый Пользователь
 
Регистрация: 19.02.2023
Возраст: 47
Город: Гомель
Регион: Беларусь
Машина: citroen xsara picasso
Сообщений: 16
rxstart is on a distinguished road
По умолчанию Подключение к планшету через USB-OTG

Доброго всем времени суток.
Делаю свою оболочку. Я хочу убрать полностью блок климат-контроля, а вместо него поставить планшет NEXUS7. Ну как Вы понимаете от блока я оставлю плату управления, а кнопки будет "нажимать" контроллер ATMEGA48, данные о температуре, положении заслонки, скорости вентилятора и т. п. он будет посылать на планшет, а также он будет посылать какая из кнопок на руле нажата и включать и выключать REM усилителя.
Опыт работы с МК у меня большой, а вот программирование в среде ANDROID только начинаю с MIT 2.
Мне нужна помощь. Во первых как настроить COM порт на андроид устройстве, я собираюсь использовать CH340G для передачи USART->Virtual COM
во вторых я правильно предполагаю, что аудио плеер и радио мне придется писать самому, потому как я собираюсь использовать кнопки на руле?
И да я не использую ардуино, так как хватает и мозгов и опыта, чтобы реализовать устройства которые работают с большей скоростью и большей стабильностью чем убогие библиотеки этого зверька. Это касается в частности работы ADC.
Схему я прилагаю. Расшифровка обозначений.
разъём BTN - управление кнопками климат-контроля
разъём LCD - подключён к выходам дисплея климат контроля
______________________________________
Remote - включает/выключает усилитель
J1
------------------------
USB
J2
------------------------
Neutral - концевик нейтральной передачи (в будущем для дистанционного запуска)
Rear_Gear - Лампа заднего хода (включить камеру заднего хода)
Chk_ACC - 1 - если включены аксесуары
Chk_IGN - 1 - если включено зажигание
Buttons - подключение одного из проводов кнопок на руле (второй на +5в)
Voltmetr - соответственно вольтметр)))
J3
------------------------
Подключение к программатору
______________
Sleep - вместо датчика холла(усыплять планшет)
_______________________________
Принимать контроллер будет следующую структуру:
typedef struct TxD {
unsigned char Button; // Нажатая на руле кнопка
unsigned char VoltH; // Напряжение бортовой сети целая часть
unsigned char VoltL; // Напряжение бортовой сети дробная часть
unsigned char TempH; // Температура выставленная целая часть
unsigned char TempL; // Температура выставленная дробная часть (если TempL = 1 -> TEMP.5)
unsigned char Speed; // Скорость вентилятора печки 1-8
unsigned char Heat; // 0 - откл, 1 - обдув ветрового стекла, 2 - обогрев заднего стекла, 3 - обдув + обогрев
unsigned char Way; // 0 - не выбран или АВТО 1 - стекло, 2 - лицо, 3 - ноги, 4 - стекло + лицо, 5 стекло + ноги, 6 ноги + лицо
unsigned char Cond; // 0 - OFF, 1 - AUTO, 2 - ECO, 3 - MANUAL
unsigned char Rear; // Включение заднего хода 1 - ВКЛ., 0 - ВЫКЛ.
unsigned char Neut; // Нейтральная передача 1 - ВКЛ., 0 - ВЫКЛ.
} tTX;
Принимать 1 байт - номер кнопки климат контроля которую он нажмет.
Миниатюры
Нажмите на изображение для увеличения
Название: ГУ.jpg
Просмотров: 73
Размер:	84.1 Кб
ID:	52733  
rxstart вне форума   Ответить с цитированием
Старый 19.02.2023, 12:42   #2
skanch
Модератор
 
Аватар для skanch
 
Регистрация: 19.01.2010
Возраст: 58
Город: Санкт-Петербург
Регион: 78, 98
Сообщений: 2,608
skanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant futureskanch has a brilliant future
По умолчанию

Цитата:
Сообщение от rxstart Посмотреть сообщение
...Мне нужна помощь. Во первых как настроить COM порт на андроид устройстве, я собираюсь использовать CH340G для передачи USART->Virtual COM...
Полно информации что и как...
skanch на форуме   Ответить с цитированием
Старый 19.02.2023, 13:26   #3
ABCh
Старший Пользователь
 
Регистрация: 21.05.2015
Возраст: 63
Город: Челябинск
Регион: 74
Сообщений: 402
ABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond repute
По умолчанию

Для работы с последовательным портом можете использовать библиотеку https://github.com/felHR85/UsbSerial
А начинать разработку приложений для андроида, имея опыт программирования, все-таки правильнее с Android Studio.
ABCh вне форума   Ответить с цитированием
Старый 19.02.2023, 17:19   #4
rxstart
Новый Пользователь
 
Регистрация: 19.02.2023
Возраст: 47
Город: Гомель
Регион: Беларусь
Машина: citroen xsara picasso
Сообщений: 16
rxstart is on a distinguished road
По умолчанию

Цитата:
Сообщение от ABCh Посмотреть сообщение
Для работы с последовательным портом можете использовать библиотеку https://github.com/felHR85/UsbSerial
А начинать разработку приложений для андроида, имея опыт программирования, все-таки правильнее с Android Studio.
Я просто не хочу заморачиваться ООП JAVA, ибо он вызывает уныние. Мне просто написать не большую оболочку и я так полагаю, что проще будет использовать средства визуального проектирования типа MIT2. Хотя и тут без ООП никуда. Как же, чтобы сесть на горшок, надо описать галактику в спирали и планету в тентуре, а потом еще и указать GPS привязку к горшку))) Старый я уже для этих фокусов, мне ASM гораздо более понятен, чем эти танцы с бубном.

Раз Вы в теме, есть конкретный вопрос, можно ли написать че то типа пиблуды, чтобы скажем управлять плеером и радио согласно глобальной переменной, в которой будет указываться какая кнопка сейчас нажата? Чтобы не писать плеер с нуля самому. А возможно кто то уже заморачивался с этим.
rxstart вне форума   Ответить с цитированием
Старый 19.02.2023, 19:10   #5
ABCh
Старший Пользователь
 
Регистрация: 21.05.2015
Возраст: 63
Город: Челябинск
Регион: 74
Сообщений: 402
ABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond repute
По умолчанию

Затрудняюсь что-либо посоветовать. Думаю, правильнее изучить программирование для андроида с нуля. Это не так сложно, как кажется. https://startandroid.ru/ru/uroki/vse-uroki-spiskom.html
P.S. Если Вы считаете себя старым, то я вообще динозавр какой-то
ABCh вне форума   Ответить с цитированием
Старый 19.02.2023, 20:33   #6
rxstart
Новый Пользователь
 
Регистрация: 19.02.2023
Возраст: 47
Город: Гомель
Регион: Беларусь
Машина: citroen xsara picasso
Сообщений: 16
rxstart is on a distinguished road
По умолчанию

Цитата:
Сообщение от ABCh Посмотреть сообщение
Затрудняюсь что-либо посоветовать. Думаю, правильнее изучить программирование для андроида с нуля. Это не так сложно, как кажется. https://startandroid.ru/ru/uroki/vse-uroki-spiskom.html
P.S. Если Вы считаете себя старым, то я вообще динозавр какой-то
Спасибо за помощь буду изучать)))
rxstart вне форума   Ответить с цитированием
Старый 20.02.2023, 09:49   #7
ABCh
Старший Пользователь
 
Регистрация: 21.05.2015
Возраст: 63
Город: Челябинск
Регион: 74
Сообщений: 402
ABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond repute
По умолчанию

Что касается самой постановки задачи, то это ООП в чистом виде. Имеем физический объект - микроконтроллер. Далее по шагам:
1. описываем его состояние в виде набора числовых и логических переменных,
2. описываем методы изменения состояния (включение/выключение устройств, регулировка уровней громкости и т.п.) с указанием соответствующих числовых или логических параметров, по сути это процедуры для конкретного набора действий,
3. описываем протокол обмена через последовательный порт в формате json-rpc или xml-rpc (первый более компактный),
4. разрабатываем пользовательский интерфейс андроидного приложения,
5. кодируем и отлаживаем на реальных устройствах.
Именно так у меня реализовано управление FM-приемником на RDA5807 + Arduino Uno из андроидного приложения.
ABCh вне форума   Ответить с цитированием
Старый 24.02.2023, 20:26   #8
rxstart
Новый Пользователь
 
Регистрация: 19.02.2023
Возраст: 47
Город: Гомель
Регион: Беларусь
Машина: citroen xsara picasso
Сообщений: 16
rxstart is on a distinguished road
По умолчанию

По поводу работы с портом я если честно я думал попроще сделать, использую со стороны ATMega48A UART, а со стороны планшета USB -> COM по средству CH340G, дабы не заморачиваться с протоколом. OTG цепляю на ногу меги и дергаю ей в момент просыпания планшета.
Вопрос в другом может есть специальные приложения чтобы не мудрить и не писать плеер вручную? Смысл такой при изменении значения глобальной переменной будет "нажиматься" соответствующая кнопка плеера
rxstart вне форума   Ответить с цитированием
Старый 25.02.2023, 12:09   #9
ABCh
Старший Пользователь
 
Регистрация: 21.05.2015
Возраст: 63
Город: Челябинск
Регион: 74
Сообщений: 402
ABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond reputeABCh has a reputation beyond repute
По умолчанию

Я думаю, что проще эту задачу реализовать на устройстве с USB-HID профилем. Оно будет работать, как USB-клавиатура, и непосредственно управлять плеером. На платформе Arduino это возможно на любой плате с чипом 32u4, а как сделать на ATMega48A - Вам виднее.
ABCh вне форума   Ответить с цитированием
Старый 25.02.2023, 13:09   #10
rxstart
Новый Пользователь
 
Регистрация: 19.02.2023
Возраст: 47
Город: Гомель
Регион: Беларусь
Машина: citroen xsara picasso
Сообщений: 16
rxstart is on a distinguished road
По умолчанию

Цитата:
Сообщение от ABCh Посмотреть сообщение
Я думаю, что проще эту задачу реализовать на устройстве с USB-HID профилем. Оно будет работать, как USB-клавиатура, и непосредственно управлять плеером. На платформе Arduino это возможно на любой плате с чипом 32u4, а как сделать на ATMega48A - Вам виднее.
Как с языка сняли)))
Нашел, действительно USB клавиатура управляет плеерами.
Сейчас ищу протокол, есть скетч на ардуине, но это слишком громоздко получится, да и дороговато нынче ардуина стоит))
Atmega48A вполне сгодится, еще и памяти процентов 20 останется))
А еще я нарыл, как включают камеру заднего вида, через плату видеозахвата, только вот как делать дамку парковки нигде не сказано((
rxstart вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 17:46.


Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot