![]() |
Андройд и BT звонки
Полистал соседние темы, возможно пропустил, но насколько я понимаю нормального решения блютусных звонков через андройд нет...
из того что я нагуглил есть реальизция профиля HFP под линукс тут, обсуждают тут, но как это прикрутить без лишнего гемора к андройду не понятно) Потом есть готовый модуль... например такой: Цитата:
в терраэлектронике WT32-A-AI4 стоит 937р Даташит пока не листал, но насколько я понимаю это очень и очень подходящая штука! Ей сможет рулить arduino, который можно подключить к андройду и например давать сигнал что идет звонок чтобы тупо нарисовать номер входящего звонка и имя из контактов если номер такой там есть простейшей программкой... Такое решение не зависит от самого андройда, даже если он повиснет или вообще сдохнет звонки в машине работать будут... главное чтобы был сигнал вызова и кнопка ответа на руле была подключена к контроллеру, который управляет этим модулем... а также возможно сможет работать a2dp, через который можно гнать музыку с самой мобилы) При ответе на звонок контроллер может просто переключить линейный вход усилителя машины с наушников андройда на линейный выход этого модуля... хоть простой релюшкой, но лучше бы конечно приглушить андройд... чтобы навигашку было бы слышно) В качестве планшета я думаю стоит посмотреть на Nook Color ~230$ (на ebay.com с доставкой... топ селлеры ~260$ тоже с доставкой) Он дороже китайских планшетов, но для него есть кастомная прошивка, которая скорее всего будет поддерживаться, подходящий по размерам экран (почти вписывается в рамку 2DIN), юсб-хост Wi-Fi и вроде как блютус, хотя если WT32 работает так как я думаю блютус в планшете уже не особо и нужен... Есть еще Amazon Kindle Fire... который тоже очень и очень классный... качественный экран, по размеру чуть меньше размеров 2DIN... прямо под рамку!) Но к сожалению там нет usb-хоста... возможно умельцы когда-нибудь сделают поддержку если чип может работать в режиме хоста, но на данный момент, насколько я знаю, в кастомных прошивках поддержки нет... |
Заказал модуль, нашел доки!)
На сайтике производителя есть раздел с документацией, доступен после регистрации... помимо даташитов есть примеры и прочие материалы... на данный момент самые важные Application note: Hands-Free and Headset profiles A2DP and AVRCP Profiles управляется модуль достаточно просто в стиле ATкоманд... Попробую порулить им через STM32VLDISCOVERY... отладочная плата на основе ARM контроллера STM32 с usb на борту (387р в терраэлектронике) ARM-микроконтроллеры STM32F. Быстрый старт c STM32-Discovery STM32F1xx — лечимся от ардуинозависимости вместе |
Устройств с поддержкой HFP/HS профилей достаточно, в том числе и в USB исполнении. Проблема как раз в Андроиде, в котором эти профили работают только в одну сторону. Основной сложностью так же остаётся корректный роутинг и управление аудио звонков в Android на уровне драйверов. Если в планшете уже есть телефон, то там так же есть микрофон и динамик, и проблем нет. Есть готовые устройства с дополнительным аналоговым трактом на выход.
|
не совсем понимаю как спасет устройство по ссылке... как например номер входящего звонка получить в карпс...
бт модуль даст контроллеру, подключенному по юсб к андройду номер входящего звонка и по команде от андройда контроллер сможет позвонить на заданный номер. Программную часть я вижу как сервис висящий в памяти, который отобразит заглушку с номером текущего звонка если он идет, и примочкой к контактам в виде кнопки вызова... типа как скайп... вроде бы можно сделать через апи на яве, но не уверен Если нельзя, то нужно сделать простую прогу, в которой выбираешь контакт и она посылает сигнал контроллеру "вызов номер такой-то", контроллер рулит модулем и он звонит. В плане вызова неверное трудно сделать так чтобы выглядело как обычный вызов на андройд телефоне, но так как я предложил выше вполне реализуемо. Да, кстати... микрофон что в планшете, ИМХО, это бесполезная штука... не думаю что он будет качественный звук давать... нужно его расположить как-то правильно (у меня рядом с лампами под зеркалом встроен) и вообще наверно нужен микрофон именно для такого разговора, а то хрипеть будет... |
Распишу на всякий случай... чтобы самому потом не забыть)
Простеньким скетчем arduino nano подключил WT32 к виртуальному COM-порту компа... открываем Serial Monitor, ставим порт в 115200 и можно экспериментировать... Цитата:
Цитата:
При подключении и после модуль спамит всякую инфу: Цитата:
При входящем звонке модуль говорит номер входящий! HFP 0 CALLERID "+79032...." "" 91 Отправляем ему ANSWER и звонок принимается... REJECT отклоняется Позвонить на последний номер можно отправив AT+BLDN на произвольный ATD+79032....; Вобщем штуковиной я очень доволен! Нужно теперь посмотреть как сделать удобную звонилку в "плншетном андройде"... |
Накидал программку которой можно "позвонить"...
т.е. из стандартной программы с контактами ее можно вызвать как звонилку, как скайп например. Выдает такую менюшку: http://img507.imageshack.us/img507/3...1301526121.png т.е. тут есть телефон, скайп и моя прога третьей строчкой. При клике на нее появляется окно-пустышка, но в ней есть код который получает вызываемый номер и дальше может передавать его в BT модуль... насколько я помню нормальное API для USB устройств только в андройде 3.1 (API level 12) и выше, а CyanogenMod 7, которым прошивается Nook Color, вроде бы основан на 2.3.3... но как-то там реализована поддержка юсб устройств, думаю можно что-нибудь придумать) |
Вот, кстати, код для переключалки треков...
|
Купил Kindle fire, у него как раз недельку назад допилили поддержку USB Host!
Подключил модуль WT32-A-AI через arduino к планшету, научился с ним общаться! При подключении к usb появляется /dev/ttyUSB0, через него и ведется общение как с простым файлом... типа такого: Код:
// в отдельном потоке можно читать все что спамит arduino Настройка порта через stty stty -F /dev/ttyUSB0 cs8 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts устанавливает скорость, и прочие параметры при которых WT32-A-AI начинает нормально работать... Также заказал простенькие модули: FM-радио 1pcs TEA5767 FM Radio Module USB <> UART NEW CP2102 USB 2.0 to UART TTL 6PIN Module Serial Converter IMU с гироскопом, акселерометром 10DOF IMU HMC5883L ITG3205 BMA020 BMP085 sensor module for arduino/MWC на основе последнего хотелось бы попробовать собрать внешний GPS приемник с dead reckoning (типа того что обсуждали тут на форуме) чтобы получать координаты в тонелях и вообще иметь точные дворовые треки для карт OpenStreetMap Все девайсы и кнопочки с руля хотелось бы подключить с помощью arduino через USB к планшету, на котором крутится сервис, который управляет ими... на данный момент правда сервис только принимает и отправляет команды WT32-A-AI Касательно самого андройда и планшета мне кажется там есть все что нужно... У Kindle Fire всего одна аппаратная кнопка включения/выключения... лучше и не придумать для встраивания! Прошивка с xda андройда 4.0 с USB достаточна стабильна, хотя глюки есть... Также нашел полезные программки No Lock и Set Orientation |
Пока сам не забыл отмечу один момент...
При исходящем вызове WT32 не спамит в консоль номер вызываемого абонента... узнать его можно отправив на WT32 ат-команду AT+CLCC, в ответ он пишет что-то вроде HFP 0 CLCC 1,0,3,0,0,"8903ххххххх",129 где 8903ххххххх соответственно номер на который мы звоним. |
Когда сажусь в тачку стандартный блютус сразу цепляет мою мобилу...
Мой девайс на андройде не цепляет, а если и цепляет, то только принудительно, когда руками щелкаю на соединение в настройках блютуса... чтобы соединение устанавливалось автоматом нужно отправить девайсу SET CONTROL AUTOCALL 111e 5000 HFP Все контакты синхронизированы через гугл... т.к. и на телефоне и на планшете что в машине стоит андройд Но история звонков не синхронизирована, а если и синхронизирована, то может инета и не быть и она разойдется... Поэтому я долго и старательно листал даташит на этот WT32 чтобы выяснить как загрузить историю звонков через блютус Для этого есть протокол PBAP, есть даже команда PBAP 04 5 например... получить 5 вызовов из общей истории входящих/исходящих звонков... можно получить отдельно входящие, исходящие, пропущенные и вообще всю книгу... Но эта команда сделана как-то криво... она при ошибке не выводит сообщение об ошибке, а пишет обычное SYNTAX ERROR Для того чтобы она заработала нужно сперва выполнить нечто вроде CALL xx:xx:xx:xx:xx:xx 112f PBAP (где xx:xx:xx:xx:xx:xx BT-адрес вашего телефона, его можно найти в списке подключенных девайсов LIST или в строке "SET BT PAIR ..." в ответе команды SET) После этого андройд на мобиле запросит подтверждение на доступ к телефонной книге... спрашивает один раз, а не при каждом вызове команды. Ну и если ответ положительный, то команды вида PBAP 04 5 начинают работать и строчат запрошенные контакты в консоль в формате vCard 2.1 по дефолту Теперь вроде бы все что нужно работает!!! :drink: |
интересная тема! а будут ли мануалы для самостоятельного изготовления?
|
Не могу понять, зачем это все? Чем это будет отличаться от множества андроид магнитол за 350-370$ ? Ведь проблемы те же самые даже еще больше. (p.s. не кого не хочу обидеть, пытаюсь понять)
|
все андроид магнитолы, которые я видел крайне ущербные
|
Согласен, иначе не нашел бы этот форум, но у них те же проблемы:
1. Отдельный блок радио - нельзя одновременно слушать радио и подсказки навигации. 2. Отдельный модуль хандс фри со своим микрофоном. Отдельная проблема (которой нет у вас): Резистивный экран. Закрытая система (т.е. прошить своей прошивкой тяжело). Я думал о том что бы использовать планшет но как то не комфортно без ручек громкости и настройки, без задней камеры и.т.п. |
у меня есть ручки громкости и задняя камера
|
Эта камера доступна всем приложениям андроида?
|
Цитата:
она подключена к зеркалу заднего вида 7 дюймов. меня такое решение вполне устраивает. оно дешевое, легкое и оставляет время заняться другими важными делами ;) ручки громкости в штатной магнитоле, планшет подключен к ней через аукс. смотрится все красиво, работает безупречно ) ----------------------- любую задачу можно решить несколько путями, необязательно упираться изначально в самый сложный =) |
Я хочу самый простой, что бы удовлетворял базовым потребностям :)
Пока у меня телефон для навигации и регистрации. Так же 1DIN магнитола за 1100 рублей с папками и русскими тегами. И пока я не нашел готовой альтернативы которая была бы по всем параметрам лучше. И вот хоть убейте меня я не почему почему нельзя навалится на mtk6577 и сделать из него нормальный 2DIN агрегат. 3G, WiFi, BT, FM, TV, SPDIF, емкостной экран, уже все это есть в одном чипе и под одной OS. Ну ладно я дурак и не умею, но тут люди такие вещи творят в соседних темах... для них взять готовое устройство и довести до ума вообще не проблема. Еще заметил что практически все разработки делаются где угодно но только не в 2DIN отсеке, почему так? |
потому что хомячье и так схавает. а гиков никто не станет слушать
|
Цитата:
Ну и в добавок самое главное - чтобы заработать на этом нужно иметь свою фабрику в китае :) А штучные экземпляры стоят таких денег, которые никто за них никогда не заплатит... |
Цитата:
|
Вложений: 1
Дошли у меня руки до этих двух девайсов:
Bluetooth-Transceiver-Module-BC-5-2-0-HiFI-High-Fidelity-V2-1-EDR и USB-2-0-to-TTL-UART-6PIN-Module-Serial-Converter-CP2102 но немогу их завести. USB-UART работает (соединял RX-TX). Может не так платку блютуз запитываю? Может кто подскажет, опыта в этой теме мало=нету. Вложение 30745 |
А что нужно от него?
|
Митрич18 хэндсфри для плашета :)
а для начала тупо законектиться к порту. |
У меня есть подобный модуль,он при подачи питания обнаруживается телефоном,а дальше все по стандартной схеме.судя по схеме 5 вольтового напряжения должно хватать для запуска ентой штуки.
|
Сенкс, не додумался протетстить с телефоном. :)
Работает при подаче 5V, спарились. Но вот в Windows 7 x64 через Putty к нему достучаться не могу. |
Думаю модуль включен в таком режиме,хотя я не спец,тут я думаю свои нюансы.
|
Цитата:
А что за NC штыречек там, может кто знает? |
Цитата:
|
надо помощь знатоков :)
awtoap помоги! P.S. вообще реально их спарить USB-UART и эту платку? P.S.S mas_u а для чего она? |
))) Без доки на модуль никак...ибо китайцы лепят что хотят...даже на плате в надписях очепятки. Я запрашивал раньше у них спеки и мне сказали, что есть на стринице тем и пользуйтесь. А там сгребли все, что нашли по этому чипсету. Но ни слово о командах.
|
Команды пока второстепенно, законектиться к нему бы )
а ваш девайс на андройд портировать не пытались? P.S. списался с продованом BT платки может что ответит. |
Цитата:
|
А без док счастья не видать ). Пробуй скорость 9600n8.
Нет, не пытался...я в ведроиде не соображаю. А програмеров разбирающихся в ведроиде тут нет (практически). |
awtoap, s.m мог бы попробывать. Ему б такой функционал не повредил.
P.S. 9600n8 теже яйца. P.S.S. mas_u спасибо, просто я валенок в электронике. |
возможно китаезы отрубили уарт в прошивке, и оставили только spi. А может ttl уровни не совпадают. Попробуйте тестером к tx прицепиться и посмотреть напряжение
|
macau тестер на работе, в понедельник попробую.
Пробывал и 3.3V (это я так понял для батарейки) и 5V (это для зарядного) и все вместе. И скорости разные. Результат = 0. Надеюсь китаец че нить отпишет. Интересно если подпояться к usb data +- это чтото даст? |
Для питания и сигналов используй только гребенку контактов. Там где 3,3В не трож...это для прошивки флеша.
|
Вложений: 1
Набрел на интересную статью ..
собственно вот это: "Умеет работать в двух режимах: АТ-команд (для настройки и управления) и передачи данных (просто тупо отдает в эфир все, что получает по последовательному интерфейсу), переключение между режимами – аппаратное (в зависимости от состояния определенной ноги модуля. .. В режим AT-команд модуль переводится подтягиванием вывода PIO11 к питанию с последующим сбросом, в режиме передачи данных этот вывод заземлен или болтается в воздухе." в моем случае это видимо PIO0? поправьте если ошибаюсь. Вложение 30772 |
Я же говорил что прошивок куча, а про то, что говоришь подходит для модуля HC05, который работает только как SPP (COM порт). Вообще выпросить доки очень проблематично.
|
Часовой пояс GMT +4, время: 19:00. |
Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot